diff options
43 files changed, 1405 insertions, 977 deletions
diff --git a/ApartmentManager/ApartmentManager.sln b/ApartmentManager/ApartmentManager.sln index 3cb16cf..86bb4ee 100644 --- a/ApartmentManager/ApartmentManager.sln +++ b/ApartmentManager/ApartmentManager.sln @@ -1,9 +1,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26403.7 +VisualStudioVersion = 15.0.26430.6 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApartmentManager", "ApartmentManager\ApartmentManager.csproj", "{95401ED6-D03C-417D-8897-81B5454D2426}" + ProjectSection(ProjectDependencies) = postProject + {D777744A-9676-4193-BD59-6F30C724C87A} = {D777744A-9676-4193-BD59-6F30C724C87A} + EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HousingWebApi", "HousingWebApi\HousingWebApi.csproj", "{D777744A-9676-4193-BD59-6F30C724C87A}" EndProject @@ -42,7 +45,6 @@ Global {95401ED6-D03C-417D-8897-81B5454D2426}.Release|x86.Build.0 = Release|x86 {95401ED6-D03C-417D-8897-81B5454D2426}.Release|x86.Deploy.0 = Release|x86 {D777744A-9676-4193-BD59-6F30C724C87A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D777744A-9676-4193-BD59-6F30C724C87A}.Debug|Any CPU.Build.0 = Debug|Any CPU {D777744A-9676-4193-BD59-6F30C724C87A}.Debug|ARM.ActiveCfg = Debug|Any CPU {D777744A-9676-4193-BD59-6F30C724C87A}.Debug|ARM.Build.0 = Debug|Any CPU {D777744A-9676-4193-BD59-6F30C724C87A}.Debug|x64.ActiveCfg = Debug|Any CPU diff --git a/ApartmentManager/ApartmentManager/ApartmentManager.csproj b/ApartmentManager/ApartmentManager/ApartmentManager.csproj index 5f8866e..601b96b 100644 --- a/ApartmentManager/ApartmentManager/ApartmentManager.csproj +++ b/ApartmentManager/ApartmentManager/ApartmentManager.csproj @@ -99,16 +99,15 @@ <DependentUpon>AppShell.xaml</DependentUpon> </Compile> <Compile Include="Common\RelayCommand.cs" /> - <Compile Include="Common\Controls\NavMenuListView.cs" /> - <Compile Include="Handler\BoardMemberHandler.cs" /> - <Compile Include="Handler\BoardResidentsHandler.cs" /> + <Compile Include="Controls\NavMenuListView.cs" /> + <Compile Include="Handler\BmHandler.cs" /> <Compile Include="Handler\LoginHandler.cs" /> <Compile Include="Handler\ApartmentHandler.cs" /> <Compile Include="Model\Apartment.cs" /> <Compile Include="Model\DefectComments.cs" /> <Compile Include="Model\DefectPicture.cs" /> <Compile Include="Persistency\ImgurPhotoUploader.cs" /> - <Compile Include="Singletons\BoardMemberCatalogSingleton.cs" /> + <Compile Include="Singletons\BmSingleton.cs" /> <Compile Include="Model\Defect.cs" /> <Compile Include="Model\NavMenuItem.cs" /> <Compile Include="Singletons\CatalogSingleton.cs" /> @@ -119,7 +118,7 @@ <Compile Include="Persistency\PersistenceFacade.cs" /> <Compile Include="Properties\Annotations.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="ViewModel\BoardMemberViewModel.cs" /> + <Compile Include="ViewModel\BmViewModel.cs" /> <Compile Include="ViewModel\ApartmentViewModel.cs" /> <Compile Include="ViewModel\LoginViewModel.cs" /> <Compile Include="View\ApartmentDefectPage.xaml.cs"> @@ -134,23 +133,29 @@ <Compile Include="View\ApartmentPage.xaml.cs"> <DependentUpon>ApartmentPage.xaml</DependentUpon> </Compile> - <Compile Include="View\BoardMemberManageApartment.xaml.cs"> - <DependentUpon>BoardMemberManageApartment.xaml</DependentUpon> + <Compile Include="View\BmChangesPage.xaml.cs"> + <DependentUpon>BmChangesPage.xaml</DependentUpon> </Compile> - <Compile Include="View\BoardMembersDefectsPage.xaml.cs"> - <DependentUpon>BoardMembersDefectsPage.xaml</DependentUpon> + <Compile Include="View\BmEditApartmentPage.xaml.cs"> + <DependentUpon>BmEditApartmentPage.xaml</DependentUpon> </Compile> - <Compile Include="View\BoardMembersMainPage.xaml.cs"> - <DependentUpon>BoardMembersMainPage.xaml</DependentUpon> + <Compile Include="View\BmResidentsPage.xaml.cs"> + <DependentUpon>BmResidentsPage.xaml</DependentUpon> </Compile> - <Compile Include="View\BoardMemberCreateApartmentPage.xaml.cs"> - <DependentUpon>BoardMemberCreateApartmentPage.xaml</DependentUpon> + <Compile Include="View\BmApartmentsPage.xaml.cs"> + <DependentUpon>BmApartmentsPage.xaml</DependentUpon> </Compile> - <Compile Include="View\DefectsPicturesBoard.xaml.cs"> - <DependentUpon>DefectsPicturesBoard.xaml</DependentUpon> + <Compile Include="View\BmDefectsPage.xaml.cs"> + <DependentUpon>BmDefectsPage.xaml</DependentUpon> </Compile> - <Compile Include="View\InfoForBoardMembers.xaml.cs"> - <DependentUpon>InfoForBoardMembers.xaml</DependentUpon> + <Compile Include="View\BmMainPage.xaml.cs"> + <DependentUpon>BmMainPage.xaml</DependentUpon> + </Compile> + <Compile Include="View\BmCreateApartmentPage.xaml.cs"> + <DependentUpon>BmCreateApartmentPage.xaml</DependentUpon> + </Compile> + <Compile Include="View\BmUsersPage.xaml.cs"> + <DependentUpon>BmUsersPage.xaml</DependentUpon> </Compile> <Compile Include="View\LoginPage.xaml.cs"> <DependentUpon>LoginPage.xaml</DependentUpon> @@ -206,27 +211,35 @@ <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> - <Page Include="View\BoardMemberManageApartment.xaml"> + <Page Include="View\BmChangesPage.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> + <Page Include="View\BmEditApartmentPage.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> - <Page Include="View\BoardMembersDefectsPage.xaml"> + <Page Include="View\BmResidentsPage.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> - <Page Include="View\BoardMembersMainPage.xaml"> + <Page Include="View\BmApartmentsPage.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> - <Page Include="View\BoardMemberCreateApartmentPage.xaml"> + <Page Include="View\BmDefectsPage.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> - <Page Include="View\DefectsPicturesBoard.xaml"> + <Page Include="View\BmMainPage.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> - <Page Include="View\InfoForBoardMembers.xaml"> + <Page Include="View\BmCreateApartmentPage.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> + <Page Include="View\BmUsersPage.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> @@ -257,6 +270,9 @@ <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform"> <Version>5.3.3</Version> </PackageReference> + <PackageReference Include="Microsoft.Xaml.Behaviors.Uwp.Managed"> + <Version>2.0.0</Version> + </PackageReference> </ItemGroup> <ItemGroup> <AppxManifest Include="Package.appxmanifest"> diff --git a/ApartmentManager/ApartmentManager/AppShell.xaml.cs b/ApartmentManager/ApartmentManager/AppShell.xaml.cs index b1a88c6..7332ad7 100644 --- a/ApartmentManager/ApartmentManager/AppShell.xaml.cs +++ b/ApartmentManager/ApartmentManager/AppShell.xaml.cs @@ -63,15 +63,23 @@ namespace ApartmentManager { Symbol = Symbol.Home, Label = "Home", - DestPage = typeof(BoardMembersMainPage), + DestPage = typeof(BmMainPage), IsSelected = true }, new NavMenuItem() { Symbol = Symbol.Comment, - Label = "Defects", - DestPage = typeof(BoardMembersDefectsPage), + Label = "Apartments", + DestPage = typeof(BmApartmentsPage), + IsSelected = false + }, + + new NavMenuItem() + { + Symbol = Symbol.Comment, + Label = "Contract owners", + DestPage = typeof(BmUsersPage), IsSelected = false }, @@ -79,15 +87,23 @@ namespace ApartmentManager { Symbol = Symbol.Bookmarks, Label = "Residents", - DestPage = typeof(InfoForBoardMembers), + DestPage = typeof(BmResidentsPage), IsSelected = false }, new NavMenuItem() { Symbol = Symbol.Bookmarks, - Label = "Apartments", - DestPage = typeof(BoardMembersMainPage), + Label = "Defects", + DestPage = typeof(BmDefectsPage), + IsSelected = false + }, + + new NavMenuItem() + { + Symbol = Symbol.Bookmarks, + Label = "Changes", + DestPage = typeof(BmChangesPage), IsSelected = false } }); diff --git a/ApartmentManager/ApartmentManager/Handler/BmHandler.cs b/ApartmentManager/ApartmentManager/Handler/BmHandler.cs new file mode 100644 index 0000000..2cbffea --- /dev/null +++ b/ApartmentManager/ApartmentManager/Handler/BmHandler.cs @@ -0,0 +1,208 @@ +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; + +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 + + } +} diff --git a/ApartmentManager/ApartmentManager/Handler/BoardMemberHandler.cs b/ApartmentManager/ApartmentManager/Handler/BoardMemberHandler.cs deleted file mode 100644 index c642b02..0000000 --- a/ApartmentManager/ApartmentManager/Handler/BoardMemberHandler.cs +++ /dev/null @@ -1,128 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using System.Threading.Tasks; -using Windows.UI.Popups; -using ApartmentManager.Model; -using ApartmentManager.Persistency; -using ApartmentManager.ViewModel; -using Newtonsoft.Json; - -namespace ApartmentManager.Handler -{ - public class BoardMemberHandler - { - public BoardMemberViewModel BoardMemberViewModel { get; set; } - - public BoardMemberHandler(BoardMemberViewModel boardMemberViewModel) - { - BoardMemberViewModel = boardMemberViewModel; - } - - public void GetApartments() - { - Apartment apartment= new Apartment(); - apartment.ApartmentId = BoardMemberViewModel.ApartmentsNumber; - - var apartmentsFromDatabase = ApiClient.GetData("api/Apartments/"); - IEnumerable<Apartment> apartmentslist = JsonConvert.DeserializeObject<IEnumerable<Apartment>>(apartmentsFromDatabase); - - BoardMemberViewModel.BoardMemberCatalogSingleton.Apartment.Clear(); - BoardMemberViewModel.NewApartment = new Apartment(); - foreach (var apartment2 in apartmentslist) - { - BoardMemberViewModel.BoardMemberCatalogSingleton.Apartment.Add(apartment2); - } - } - - public void CreateApartment() - { - try - { - Apartment apartment = new Apartment(); - apartment.ApartmentId = BoardMemberViewModel.ApartmentsNumber; - apartment.Address = BoardMemberViewModel.NewApartment.Address; - apartment.Floor = BoardMemberViewModel.NewApartment.Floor; - apartment.MonthlyCharge = BoardMemberViewModel.NewApartment.MonthlyCharge; - apartment.NumberOfRooms = BoardMemberViewModel.NewApartment.NumberOfRooms; - apartment.Size = BoardMemberViewModel.NewApartment.Size; - - ApiClient.PostData("api/Apartments/", apartment); - - var apartmentsFromDatabase = ApiClient.GetData("api/Apartments/" + apartment.ApartmentId); - IEnumerable<Apartment> apartmentlist = JsonConvert.DeserializeObject<IEnumerable<Apartment>>(apartmentsFromDatabase); - - BoardMemberViewModel.BoardMemberCatalogSingleton.Apartment.Clear(); - BoardMemberViewModel.NewApartment = new Apartment(); - foreach (var apartment2 in apartmentlist) - { - BoardMemberViewModel.BoardMemberCatalogSingleton.Apartment.Add(apartment2); - } - } - catch (Exception e) - { - new MessageDialog(e.Message).ShowAsync(); - } - } - public void UpdateApartment() - { - try - { - Apartment apartment = new Apartment(); - apartment.ApartmentId = BoardMemberViewModel.ApartmentsNumber; - apartment.Address = BoardMemberViewModel.NewApartment.Address; - apartment.Floor = BoardMemberViewModel.NewApartment.Floor; - apartment.MonthlyCharge = BoardMemberViewModel.NewApartment.MonthlyCharge; - apartment.NumberOfRooms = BoardMemberViewModel.NewApartment.NumberOfRooms; - apartment.Size = BoardMemberViewModel.NewApartment.Size; - - ApiClient.PutData("api/Apartments/" + apartment.ApartmentId, apartment); - var apartmentsFromDatabase = ApiClient.GetData("api/Apartments/" + apartment.ApartmentId); - IEnumerable<Apartment> apartmentslist = JsonConvert.DeserializeObject<IEnumerable<Apartment>>(apartmentsFromDatabase); - - BoardMemberViewModel.BoardMemberCatalogSingleton.Apartment.Clear(); - BoardMemberViewModel.NewApartment = new Apartment(); - foreach (var apartment2 in apartmentslist) - { - BoardMemberViewModel.BoardMemberCatalogSingleton.Apartment.Add(apartment2); - } - } - catch (Exception e) - { - new MessageDialog(e.Message).ShowAsync(); - } - } - public void DeleteApartment() - { - try - { - Apartment apartment = new Apartment(); - apartment.ApartmentId = BoardMemberViewModel.ApartmentsNumber; - apartment.Address = BoardMemberViewModel.NewApartment.Address; - apartment.Floor = BoardMemberViewModel.NewApartment.Floor; - apartment.MonthlyCharge = BoardMemberViewModel.NewApartment.MonthlyCharge; - apartment.NumberOfRooms = BoardMemberViewModel.NewApartment.NumberOfRooms; - apartment.Size = BoardMemberViewModel.NewApartment.Size; - - ApiClient.DeleteData("api/Apartments/" + apartment.ApartmentId); - - var apartmentsFromDatabase = ApiClient.GetData("api/Apartments/" + apartment.ApartmentId); - IEnumerable<Apartment> apartmentslist = Jso |