aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ApartmentManager/ApartmentManager/ApartmentManager.csproj10
-rw-r--r--ApartmentManager/ApartmentManager/Handler/BmApartmentsHandler.cs75
-rw-r--r--ApartmentManager/ApartmentManager/Handler/BmDefectsHandler.cs142
-rw-r--r--ApartmentManager/ApartmentManager/Handler/BmHandler.cs331
-rw-r--r--ApartmentManager/ApartmentManager/Handler/BmResidentsHandler.cs84
-rw-r--r--ApartmentManager/ApartmentManager/Handler/BmUsersHandler.cs88
-rw-r--r--ApartmentManager/ApartmentManager/Handler/LoginHandler.cs13
-rw-r--r--ApartmentManager/ApartmentManager/View/BmApartmentsPage.xaml4
-rw-r--r--ApartmentManager/ApartmentManager/View/BmCreateApartmentPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/View/BmCreateDefectPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/View/BmDefectsPage.xaml4
-rw-r--r--ApartmentManager/ApartmentManager/View/BmEditApartmentPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/View/BmEditDefectPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/View/BmMainPage.xaml3
-rw-r--r--ApartmentManager/ApartmentManager/View/BmResidentsPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/View/BmSingleDefectPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/View/BmUsersPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/ViewModel/BmApartmentsViewModel.cs59
-rw-r--r--ApartmentManager/ApartmentManager/ViewModel/BmDefectsViewModel.cs106
-rw-r--r--ApartmentManager/ApartmentManager/ViewModel/BmResidentsViewModel.cs54
-rw-r--r--ApartmentManager/ApartmentManager/ViewModel/BmUsersViewModel.cs54
-rw-r--r--ApartmentManager/ApartmentManager/ViewModel/BmViewModel.cs180
22 files changed, 689 insertions, 532 deletions
diff --git a/ApartmentManager/ApartmentManager/ApartmentManager.csproj b/ApartmentManager/ApartmentManager/ApartmentManager.csproj
index 0f22d96..44f97b5 100644
--- a/ApartmentManager/ApartmentManager/ApartmentManager.csproj
+++ b/ApartmentManager/ApartmentManager/ApartmentManager.csproj
@@ -100,7 +100,10 @@
</Compile>
<Compile Include="Common\RelayCommand.cs" />
<Compile Include="Controls\NavMenuListView.cs" />
- <Compile Include="Handler\BmHandler.cs" />
+ <Compile Include="Handler\BmApartmentsHandler.cs" />
+ <Compile Include="Handler\BmDefectsHandler.cs" />
+ <Compile Include="Handler\BmResidentsHandler.cs" />
+ <Compile Include="Handler\BmUsersHandler.cs" />
<Compile Include="Handler\LoginHandler.cs" />
<Compile Include="Handler\ApartmentHandler.cs" />
<Compile Include="Model\Apartment.cs" />
@@ -117,7 +120,10 @@
<Compile Include="Persistency\ApiClient.cs" />
<Compile Include="Properties\Annotations.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="ViewModel\BmViewModel.cs" />
+ <Compile Include="ViewModel\BmApartmentsViewModel.cs" />
+ <Compile Include="ViewModel\BmResidentsViewModel.cs" />
+ <Compile Include="ViewModel\BmUsersViewModel.cs" />
+ <Compile Include="ViewModel\BmDefectsViewModel.cs" />
<Compile Include="ViewModel\ApartmentViewModel.cs" />
<Compile Include="ViewModel\LoginViewModel.cs" />
<Compile Include="View\ApartmentDefectPage.xaml.cs">
diff --git a/ApartmentManager/ApartmentManager/Handler/BmApartmentsHandler.cs b/ApartmentManager/ApartmentManager/Handler/BmApartmentsHandler.cs
new file mode 100644
index 0000000..48a60e2
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Handler/BmApartmentsHandler.cs
@@ -0,0 +1,75 @@
+using ApartmentManager.Model;
+using ApartmentManager.Persistency;
+using ApartmentManager.Singletons;
+using ApartmentManager.ViewModel;
+using Newtonsoft.Json;
+using System;
+using System.Collections.ObjectModel;
+using Windows.UI.Popups;
+
+namespace ApartmentManager.Handler
+{
+ public class BmApartmentsHandler
+ {
+ private BmApartmentsViewModel _vm;
+
+ public BmApartmentsHandler(BmApartmentsViewModel vm)
+ {
+ _vm = vm;
+ }
+
+ public void GetApartments()
+ {
+ BmSingleton.Instance.Apartments = JsonConvert.DeserializeObject<ObservableCollection<Apartment>>(ApiClient.GetData("api/Apartments/"));
+ }
+
+ public void CreateApartment()
+ {
+ try
+ {
+ ApiClient.PostData("api/Apartments/", _vm.ApartmentTemplate);
+ GetApartments();
+ _vm.ApartmentTemplate = new Apartment();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void UpdateApartment()
+ {
+ try
+ {
+ ApiClient.PutData("api/Apartments/" + _vm.ApartmentTemplate.ApartmentId, _vm.ApartmentTemplate);
+ GetApartments();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void DeleteApartment()
+ {
+ try
+ {
+ ApiClient.DeleteData("api/Apartments/" + _vm.ApartmentTemplate.ApartmentId);
+ BmSingleton.Instance.Apartments.Remove(_vm.ApartmentTemplate);
+ GetApartments();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+
+ public async void UploadApartmentPlan()
+ {
+ _vm.ApartmentTemplate.PlanPicture = await ImgurPhotoUploader.UploadPhotoAsync();
+ }
+
+ public void ClearApartmentTemplate()
+ {
+ _vm.ApartmentTemplate = new Apartment();
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/Handler/BmDefectsHandler.cs b/ApartmentManager/ApartmentManager/Handler/BmDefectsHandler.cs
new file mode 100644
index 0000000..919d026
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Handler/BmDefectsHandler.cs
@@ -0,0 +1,142 @@
+using ApartmentManager.Model;
+using ApartmentManager.Persistency;
+using ApartmentManager.Singletons;
+using ApartmentManager.ViewModel;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using Windows.UI.Popups;
+
+namespace ApartmentManager.Handler
+{
+ public class BmDefectsHandler
+ {
+ private BmDefectsViewModel _vm;
+
+ public BmDefectsHandler(BmDefectsViewModel vm)
+ {
+ _vm = vm;
+ }
+
+ public void GetDefects()
+ {
+ var defects = JsonConvert.DeserializeObject<ObservableCollection<Defect>>(ApiClient.GetData("api/Defects/"));
+ BmSingleton.Instance.Defects.Clear();
+ foreach (var defect in defects)
+ {
+ defect.Pictures = JsonConvert.DeserializeObject<ObservableCollection<DefectPicture>>(ApiClient.GetData("api/DefectPicturesById/" + defect.DefectId));
+ defect.Comments = JsonConvert.DeserializeObject<ObservableCollection<DefectComment>>(ApiClient.GetData("api/DefectComments/" + defect.DefectId));
+ BmSingleton.Instance.Defects.Add(defect);
+ }
+ }
+
+ public void CreateDefect()
+ {
+ try
+ {
+ _vm.DefectTemplate.Status = "New";
+ _vm.DefectTemplate.UploadDate = DateTime.Now;
+ var response = JsonConvert.DeserializeObject<Defect>(ApiClient.PostData("api/Defects/", _vm.DefectTemplate));
+ foreach (var defectPicture in _vm.DefectTemplate.Pictures)
+ {
+ defectPicture.DefectId = response.DefectId;
+ ApiClient.PostData("api/DefectPictures", defectPicture);
+ }
+ GetDefects();
+ _vm.DefectTemplate = new Defect();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void UpdateDefect()
+ {
+ try
+ {
+ ApiClient.PutData("api/Defects/" + _vm.DefectTemplate.DefectId, _vm.DefectTemplate);
+ var deletedDefectPictures = new List<DefectPicture>(_vm.DeletedDefectPictures);
+ var addedDefectPictures = new List<DefectPicture>(_vm.AddedDefectPictures);
+
+ foreach (var defectPicture in deletedDefectPictures)
+ {
+ ApiClient.DeleteData("api/DefectPictures/" + defectPicture.Pictureid);
+ _vm.DeletedDefectPictures.Remove(defectPicture);
+ }
+ foreach (var defectPicture in addedDefectPictures)
+ {
+ defectPicture.DefectId = _vm.DefectTemplate.DefectId;
+ ApiClient.PostData("api/DefectPictures", defectPicture);
+ _vm.AddedDefectPictures.Remove(defectPicture);
+ }
+ GetDefects();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void DeleteDefect()
+ {
+ try
+ {
+ ApiClient.DeleteData("api/Defects/" + _vm.DefectTemplate.DefectId);
+ BmSingleton.Instance.Defects.Remove(_vm.DefectTemplate);
+ GetDefects();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+
+ public void ClearDefectTemplate()
+ {
+ _vm.DefectTemplate = new Defect();
+ }
+
+ public async void UploadDefectPicture()
+ {
+ if (_vm.DefectTemplate.Pictures == null) _vm.DefectTemplate.Pictures = new ObservableCollection<DefectPicture>();
+ var picture = new DefectPicture() { Picture = await ImgurPhotoUploader.UploadPhotoAsync() };
+ _vm.DefectTemplate.Pictures.Add(picture);
+ _vm.AddedDefectPictures.Add(picture);
+ }
+
+ public void DeleteDefectPicture()
+ {
+ _vm.DefectTemplate.Pictures.Remove(_vm.SelectedDefectPicture);
+ }
+
+ public void DeleteDefectPictureTemp()
+ {
+ _vm.DeletedDefectPictures.Add(_vm.SelectedDefectPicture);
+ _vm.DefectTemplate.Pictures.Remove(_vm.SelectedDefectPicture);
+ }
+
+ public void CreateDefectComment()
+ {
+ try
+ {
+ var comment = new DefectComment()
+ {
+ Comment = _vm.NewDefectComment.Comment,
+ DefectId = _vm.DefectTemplate.DefectId,
+ Name = UserSingleton.Instance.CurrentUser.FirstName + " " + UserSingleton.Instance.CurrentUser.LastName,
+ Date = DateTimeOffset.Now
+ };
+ if (!string.IsNullOrEmpty(comment.Comment))
+ {
+ ApiClient.PostData("api/DefectComments/", comment);
+ _vm.DefectTemplate.Comments.Add(comment);
+ _vm.NewDefectComment = new DefectComment();
+ }
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/Handler/BmHandler.cs b/ApartmentManager/ApartmentManager/Handler/BmHandler.cs
deleted file mode 100644
index 8709180..0000000
--- a/ApartmentManager/ApartmentManager/Handler/BmHandler.cs
+++ /dev/null
@@ -1,331 +0,0 @@
-using System;
-using System.Collections.ObjectModel;
-using Windows.UI.Popups;
-using ApartmentManager.Model;
-using ApartmentManager.Persistency;
-using ApartmentManager.ViewModel;
-using Newtonsoft.Json;
-using ApartmentManager.Singletons;
-using System.Collections.Generic;
-
-namespace ApartmentManager.Handler
-{
- public class BmHandler
- {
- private BmViewModel _vm;
-
- public BmHandler(BmViewModel vm)
- {
- _vm = vm;
- }
-
-
- #region APARTMENTS
-
- public void GetApartments()
- {
- BmSingleton.Instance.Apartments = JsonConvert.DeserializeObject<ObservableCollection<Apartment>>(ApiClient.GetData("api/Apartments/"));
- }
-
- public void CreateApartment()
- {
- try
- {
- ApiClient.PostData("api/Apartments/", _vm.ApartmentTemplate);
- GetApartments();
- _vm.ApartmentTemplate = new Apartment();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void UpdateApartment()
- {
- try
- {
- ApiClient.PutData("api/Apartments/" + _vm.ApartmentTemplate.ApartmentId, _vm.ApartmentTemplate);
- GetApartments();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void DeleteApartment()
- {
- try
- {
- ApiClient.DeleteData("api/Apartments/" + _vm.ApartmentTemplate.ApartmentId);
- BmSingleton.Instance.Apartments.Remove(_vm.ApartmentTemplate);
- GetApartments();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
-
- public async void UploadApartmentPlan()
- {
- _vm.ApartmentTemplate.PlanPicture = await ImgurPhotoUploader.UploadPhotoAsync();
- }
-
- public void ClearApartmentTemplate()
- {
- _vm.ApartmentTemplate = new Apartment();
- }
- #endregion
-
- #region USERS
-
- public void GetUsers()
- {
- var users = JsonConvert.DeserializeObject<ObservableCollection<User>>(ApiClient.GetData("api/Users/"));
- BmSingleton.Instance.Users.Clear();
- foreach (var user in users) BmSingleton.Instance.Users.Add(user);
- }
-
- public void CreateUser()
- {
- try
- {
- ApiClient.PostData("api/Users/", _vm.UserTemplate);
- GetUsers();
- _vm.UserTemplate = new User();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void UpdateUser()
- {
- try
- {
- ApiClient.PutData("api/Users/" + _vm.UserTemplate.Username, _vm.UserTemplate);
- GetUsers();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void DeleteUser()
- {
- try
- {
- ApiClient.DeleteData("api/Users/" + _vm.UserTemplate.Username);
- BmSingleton.Instance.Users.Remove(_vm.UserTemplate);
- GetUsers();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
-
- public async void UploadUserPhoto()
- {
- var picture = await ImgurPhotoUploader.UploadPhotoAsync();
- if (picture != "")
- {
- _vm.UserTemplate.Picture = picture;
- var tmp = _vm.UserTemplate;
- _vm.UserTemplate = new User();
- _vm.UserTemplate = tmp;
- }
- }
-
- public void ClearUserTemplate()
- {
- _vm.UserTemplate = new User();
- }
- #endregion
-
- #region RESIDENTS
-
- public void GetResidents()
- {
- var residents = JsonConvert.DeserializeObject<ObservableCollection<Resident>>(ApiClient.GetData("api/Residents/"));
- BmSingleton.Instance.Residents.Clear();
- foreach (var resident in residents) BmSingleton.Instance.Residents.Add(resident);
- }
-
- public void CreateResident()
- {
- try
- {
- ApiClient.PostData("api/Residents/", _vm.ResidentTemplate);
- GetResidents();
- _vm.ResidentTemplate = new Resident();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void UpdateResident()
- {
- try
- {
- ApiClient.PutData("api/Residents/" + _vm.ResidentTemplate.ResidentId, _vm.ResidentTemplate);
- GetResidents();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void DeleteResident()
- {
- try
- {
- ApiClient.DeleteData("api/Residents/" + _vm.ResidentTemplate.ResidentId);
- BmSingleton.Instance.Residents.Remove(_vm.ResidentTemplate);
- GetResidents();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
-
- public async void UploadResidentPhoto()
- {
- _vm.ResidentTemplate.Picture = await ImgurPhotoUploader.UploadPhotoAsync();
- var tmp = _vm.ResidentTemplate;
- _vm.ResidentTemplate = new Resident();
- _vm.ResidentTemplate = tmp;
- }
-
- public void ClearResidentTemplate()
- {
- _vm.ResidentTemplate = new Resident();
- }
- #endregion
-
- #region DEFECTS
-
- public void GetDefects()
- {
- var defects = JsonConvert.DeserializeObject<ObservableCollection<Defect>>(ApiClient.GetData("api/Defects/"));
- BmSingleton.Instance.Defects.Clear();
- foreach (var defect in defects)
- {
- defect.Pictures = JsonConvert.DeserializeObject<ObservableCollection<DefectPicture>>(ApiClient.GetData("api/DefectPicturesById/" + defect.DefectId));
- defect.Comments = JsonConvert.DeserializeObject<ObservableCollection<DefectComment>>(ApiClient.GetData("api/DefectComments/" + defect.DefectId));
- BmSingleton.Instance.Defects.Add(defect);
- }
- }
-
- public void CreateDefect()
- {
- try
- {
- _vm.DefectTemplate.Status = "New";
- _vm.DefectTemplate.UploadDate = DateTime.Now;
- var response = JsonConvert.DeserializeObject<Defect>(ApiClient.PostData("api/Defects/", _vm.DefectTemplate));
- foreach(var defectPicture in _vm.DefectTemplate.Pictures)
- {
- defectPicture.DefectId = response.DefectId;
- ApiClient.PostData("api/DefectPictures", defectPicture);
- }
- GetDefects();
- _vm.DefectTemplate = new Defect();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void UpdateDefect()
- {
- try
- {
- ApiClient.PutData("api/Defects/" + _vm.DefectTemplate.DefectId, _vm.DefectTemplate);
- var deletedDefectPictures = new List<DefectPicture>(_vm.DeletedDefectPictures);
- var addedDefectPictures = new List<DefectPicture>(_vm.AddedDefectPictures);
-
- foreach (var defectPicture in deletedDefectPictures)
- {
- ApiClient.DeleteData("api/DefectPictures/" + defectPicture.Pictureid);
- _vm.DeletedDefectPictures.Remove(defectPicture);
- }
- foreach (var defectPicture in addedDefectPictures)
- {
- defectPicture.DefectId = _vm.DefectTemplate.DefectId;
- ApiClient.PostData("api/DefectPictures", defectPicture);
- addedDefectPictures.Remove(defectPicture);
- }
- GetDefects();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
- public void DeleteDefect()
- {
- try
- {
- ApiClient.DeleteData("api/Defects/" + _vm.DefectTemplate.DefectId);
- BmSingleton.Instance.Defects.Remove(_vm.DefectTemplate);
- GetDefects();
- }
- catch (Exception e)
- {
- var msg = new MessageDialog(e.Message).ShowAsync();
- }
- }
-
- public void ClearDefectTemplate()
- {
- _vm.DefectTemplate = new Defect();
- }
-
- public async void UploadDefectPicture()
- {
- if (_vm.DefectTemplate.Pictures == null) _vm.DefectTemplate.Pictures = new ObservableCollection<DefectPicture>();
- var picture = new DefectPicture() { Picture = await ImgurPhotoUploader.UploadPhotoAsync() };
- _vm.DefectTemplate.Pictures.Add(picture);
- _vm.AddedDefectPictures.Add(picture);
- }
-
- public void DeleteDefectPicture()
- {
- _vm.DefectTemplate.Pictures.Remove(_vm.SelectedDefectPicture);
- }
-
- public void DeleteDefectPictureTemp()
- {
- _vm.DeletedDefectPictures.Add(_vm.SelectedDefectPicture);
- _vm.DefectTemplate.Pictures.Remove(_vm.SelectedDefectPicture);
- }
-
- public void CreateDefectComment()
- {
- try
- {
- var comment = new DefectComment()
- {
- Comment = _vm.NewDefectComment.Comment,
- DefectId = _vm.DefectTemplate.DefectId,
- Name = UserSingleton.Instance.CurrentUser.FirstName + " " + UserSingleton.Instance.CurrentUser.LastName,
- Date = DateTimeOffset.Now
- };
- if (!string.IsNullOrEmpty(comment.Comment))
- {
- ApiClient.PostData("api/DefectComments/", comment);
- _vm.DefectTemplate.Comments.Add(comment);
- _vm.NewDefectComment = new DefectComment();
- }
- }
- catch (Exception e)
- {
- new MessageDialog(e.Message).ShowAsync();
- }
- }
- #endregion
- }
-}
diff --git a/ApartmentManager/ApartmentManager/Handler/BmResidentsHandler.cs b/ApartmentManager/ApartmentManager/Handler/BmResidentsHandler.cs
new file mode 100644
index 0000000..7e93393
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Handler/BmResidentsHandler.cs
@@ -0,0 +1,84 @@
+using ApartmentManager.Model;
+using ApartmentManager.Persistency;
+using ApartmentManager.Singletons;
+using ApartmentManager.ViewModel;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI.Popups;
+
+namespace ApartmentManager.Handler
+{
+ public class BmResidentsHandler
+ {
+ private BmResidentsViewModel _vm;
+
+ public BmResidentsHandler(BmResidentsViewModel vm)
+ {
+ _vm = vm;
+ }
+
+ public void GetResidents()
+ {
+ var residents = JsonConvert.DeserializeObject<ObservableCollection<Resident>>(ApiClient.GetData("api/Residents/"));
+ BmSingleton.Instance.Residents.Clear();
+ foreach (var resident in residents) BmSingleton.Instance.Residents.Add(resident);
+ }
+
+ public void CreateResident()
+ {
+ try
+ {
+ ApiClient.PostData("api/Residents/", _vm.ResidentTemplate);
+ GetResidents();
+ _vm.ResidentTemplate = new Resident();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void UpdateResident()
+ {
+ try
+ {
+ ApiClient.PutData("api/Residents/" + _vm.ResidentTemplate.ResidentId, _vm.ResidentTemplate);
+ GetResidents();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void DeleteResident()
+ {
+ try
+ {
+ ApiClient.DeleteData("api/Residents/" + _vm.ResidentTemplate.ResidentId);
+ BmSingleton.Instance.Residents.Remove(_vm.ResidentTemplate);
+ GetResidents();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+
+ public async void UploadResidentPhoto()
+ {
+ _vm.ResidentTemplate.Picture = await ImgurPhotoUploader.UploadPhotoAsync();
+ var tmp = _vm.ResidentTemplate;
+ _vm.ResidentTemplate = new Resident();
+ _vm.ResidentTemplate = tmp;
+ }
+
+ public void ClearResidentTemplate()
+ {
+ _vm.ResidentTemplate = new Resident();
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/Handler/BmUsersHandler.cs b/ApartmentManager/ApartmentManager/Handler/BmUsersHandler.cs
new file mode 100644
index 0000000..5fe3a92
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Handler/BmUsersHandler.cs
@@ -0,0 +1,88 @@
+using ApartmentManager.Model;
+using ApartmentManager.Persistency;
+using ApartmentManager.Singletons;
+using ApartmentManager.ViewModel;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI.Popups;
+
+namespace ApartmentManager.Handler
+{
+ public class BmUsersHandler
+ {
+ private BmUsersViewModel _vm;
+
+ public BmUsersHandler(BmUsersViewModel vm)
+ {
+ _vm = vm;
+ }
+
+ public void GetUsers()
+ {
+ var users = JsonConvert.DeserializeObject<ObservableCollection<User>>(ApiClient.GetData("api/Users/"));
+ BmSingleton.Instance.Users.Clear();
+ foreach (var user in users) BmSingleton.Instance.Users.Add(user);
+ }
+
+ public void CreateUser()
+ {
+ try
+ {
+ ApiClient.PostData("api/Users/", _vm.UserTemplate);
+ GetUsers();
+ _vm.UserTemplate = new User();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void UpdateUser()
+ {
+ try
+ {
+ ApiClient.PutData("api/Users/" + _vm.UserTemplate.Username, _vm.UserTemplate);
+ GetUsers();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void DeleteUser()
+ {
+ try
+ {
+ ApiClient.DeleteData("api/Users/" + _vm.UserTemplate.Username);
+ BmSingleton.Instance.Users.Remove(_vm.UserTemplate);
+ GetUsers();
+ }
+ catch (Exception e)
+ {
+ var msg = new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+
+ public async void UploadUserPhoto()
+ {
+ var picture = await ImgurPhotoUploader.UploadPhotoAsync();
+ if (picture != "")
+ {
+ _vm.UserTemplate.Picture = picture;
+ var tmp = _vm.UserTemplate;
+ _vm.UserTemplate = new User();
+ _vm.UserTemplate = tmp;
+ }
+ }
+
+ public void ClearUserTemplate()
+ {
+ _vm.UserTemplate = new User();
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs b/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs
index 4f93cc1..7db0ba4 100644
--- a/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs
+++ b/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs
@@ -75,11 +75,14 @@ namespace ApartmentManager.Handler
// suppressing the initial entrance animation.
if (UserSingleton.Instance.CurrentUser.IsBm)
{
- BmViewModel bvm = new BmViewModel();
- bvm.BmHandler.GetApartments();
- bvm.BmHandler.GetUsers();
- bvm.BmHandler.GetResidents();
- bvm.BmHandler.GetDefects();
+ BmApartmentsViewModel bavm = new BmApartmentsViewModel();
+ BmUsersViewModel buvm = new BmUsersViewModel();
+ BmResidentsViewModel brvm = new BmResidentsViewModel();
+ BmDefectsViewModel bdvm = new BmDefectsViewModel();
+ bavm.BmApartmentsHandler.GetApartments();
+ buvm.BmUsersHandler.GetUsers();
+ brvm.BmResidentsHandler.GetResidents();
+ bdvm.BmDefectsHandler.GetDefects();
appShell