diff options
m--------- | ApartmentAdmin | 0 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/ApartmentManager.csproj | 5 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/Handler/ResidentsHandler.cs | 44 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/Model/CatalogSingleton.cs | 5 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/Model/Resident.cs | 8 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/Persistency/PersistenceFacade.cs | 86 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/Persistency/Persistency.cs | 12 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/View/ResidentsPage.xaml | 2 | ||||
-rw-r--r-- | ApartmentManager/ApartmentManager/ViewModel/ApartmenViewModel.cs | 1 | ||||
-rw-r--r-- | ApartmentManager/HousingWebAPI/Controllers/ResidentsController.cs | 29 | ||||
-rw-r--r-- | ApartmentManager/HousingWebAPI/HousingWebAPI.csproj | 1 | ||||
-rw-r--r-- | ApartmentManager/HousingWebAPI/ResidentList.cs | 20 | ||||
-rw-r--r-- | ApartmentManager/HousingWebApi/Models/Resident.cs | 10 | ||||
-rw-r--r-- | HousingDatabase.ldf | bin | 8388608 -> 0 bytes | |||
-rw-r--r-- | HousingDatabase.mdf | bin | 8388608 -> 0 bytes |
15 files changed, 172 insertions, 51 deletions
diff --git a/ApartmentAdmin b/ApartmentAdmin new file mode 160000 +Subproject da22548164ed3a3a9b89f25b31780c35a89a3b3 diff --git a/ApartmentManager/ApartmentManager/ApartmentManager.csproj b/ApartmentManager/ApartmentManager/ApartmentManager.csproj index 24202c3..722865c 100644 --- a/ApartmentManager/ApartmentManager/ApartmentManager.csproj +++ b/ApartmentManager/ApartmentManager/ApartmentManager.csproj @@ -106,7 +106,7 @@ <Compile Include="Model\CatalogSingleton.cs" /> <Compile Include="Model\Resident.cs" /> <Compile Include="Model\User.cs" /> - <Compile Include="Persistency\Persistency.cs" /> + <Compile Include="Persistency\PersistenceFacade.cs" /> <Compile Include="Properties\Annotations.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="ViewModel\ApartmenViewModel.cs" /> @@ -177,6 +177,9 @@ </Page> </ItemGroup> <ItemGroup> + <PackageReference Include="Microsoft.AspNet.WebApi.Client"> + <Version>5.2.3</Version> + </PackageReference> <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform"> <Version>5.3.1</Version> </PackageReference> diff --git a/ApartmentManager/ApartmentManager/Handler/ResidentsHandler.cs b/ApartmentManager/ApartmentManager/Handler/ResidentsHandler.cs index 6b6395e..c04007f 100644 --- a/ApartmentManager/ApartmentManager/Handler/ResidentsHandler.cs +++ b/ApartmentManager/ApartmentManager/Handler/ResidentsHandler.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using Windows.UI.Popups; using ApartmentManager.Model; +using ApartmentManager.Persistency; using ApartmentManager.ViewModel; namespace ApartmentManager.Handler @@ -17,31 +18,45 @@ namespace ApartmentManager.Handler { ApartmentViewModel = apartmenViewModel; } + public void GetApartmentResidents() + { + Resident resident = new Resident(); + resident.ApartmentNr = ApartmentViewModel.ApartmentNumber; + + var residentlist = new PersistenceFacade().GetApartmentResidents(resident); + ApartmentViewModel.CatalogSingleton.Residents.Clear(); + + foreach (var resident2 in residentlist) + { + ApartmentViewModel.CatalogSingleton.Residents.Add(resident2); + } + } public void CreateResident() { try { Resident resident = new Resident(); + resident.ResidentNr = ApartmentViewModel.CatalogSingleton.Residents.Count; + resident.ResidentNr++; resident.ApartmentNr = ApartmentViewModel.ApartmentNumber; - resident.Name = ApartmentViewModel.NewResident.Name; + resident.FirstName = ApartmentViewModel.NewResident.FirstName; resident.LastName = ApartmentViewModel.NewResident.LastName; resident.BirthDate = ApartmentViewModel.NewResident.BirthDate; resident.Email = ApartmentViewModel.NewResident.Email; resident.Picture = ApartmentViewModel.NewResident.Picture; resident.Phone = ApartmentViewModel.NewResident.Phone; - //new PersistenceFacade().CreateHotel(hotel); - - ////HotelViewModel.Hotels.Hotels.Add(hotel); - //var hotelsFromDatabase = new PersistenceFacade().GetHotels(); + new PersistenceFacade().CreateResident(resident); - //HotelViewModel.HotelCatalogSingleton.Hotels.Clear(); - //foreach (var hotel1 in hotelsFromDatabase) - //{ - // ApartmentViewModel.HotelCatalogSingleton.Hotels.Add(hotel1); + + var residentsFromDatabase = new PersistenceFacade().GetApartmentResidents(resident); + ApartmentViewModel.CatalogSingleton.Residents.Clear(); - //} + foreach (var resident2 in residentsFromDatabase) + { + ApartmentViewModel.CatalogSingleton.Residents.Add(resident2); + } } catch (Exception e) { @@ -55,7 +70,7 @@ namespace ApartmentManager.Handler { Resident resident = new Resident(); resident.ApartmentNr = ApartmentViewModel.ApartmentNumber; - resident.Name = ApartmentViewModel.NewResident.Name; + resident.FirstName = ApartmentViewModel.NewResident.FirstName; resident.LastName = ApartmentViewModel.NewResident.LastName; resident.BirthDate = ApartmentViewModel.NewResident.BirthDate; resident.Email = ApartmentViewModel.NewResident.Email; @@ -85,7 +100,7 @@ namespace ApartmentManager.Handler { Resident resident = new Resident(); resident.ApartmentNr = ApartmentViewModel.ApartmentNumber; - resident.Name = ApartmentViewModel.NewResident.Name; + resident.FirstName = ApartmentViewModel.NewResident.FirstName; resident.LastName = ApartmentViewModel.NewResident.LastName; resident.BirthDate = ApartmentViewModel.NewResident.BirthDate; resident.Email = ApartmentViewModel.NewResident.Email; @@ -108,9 +123,6 @@ namespace ApartmentManager.Handler { new MessageDialog(e.Message).ShowAsync(); } - } - - - + } } } diff --git a/ApartmentManager/ApartmentManager/Model/CatalogSingleton.cs b/ApartmentManager/ApartmentManager/Model/CatalogSingleton.cs index 26f7c2e..346d652 100644 --- a/ApartmentManager/ApartmentManager/Model/CatalogSingleton.cs +++ b/ApartmentManager/ApartmentManager/Model/CatalogSingleton.cs @@ -23,10 +23,7 @@ namespace ApartmentManager.Model Apartment = new ObservableCollection<Apartment>(); Apartment.Add(new Apartment(1,"30 Square meters",2,"200",0,"adresas")); Residents = new ObservableCollection<Resident>(); - Residents.Add(new Resident("Bibis", "Kiausiai", 3214568, new DateTime(2017, 1, 5, 0, 0, 0), "Bibis@mail.com", 1)); - Residents.Add(new Resident("Bibis", "Kiausiai", 3214568, new DateTime(2017, 1, 5, 0, 0, 0), "Bibis@mail.com", 1)); - Residents.Add(new Resident("Bibis", "Kiausiai", 3214568, new DateTime(2017, 1, 5, 0, 0, 0), "Bibis@mail.com", 1)); - Residents.Add(new Resident("Bibis", "Kiausiai", 3214568, new DateTime(2017, 1, 5, 0, 0, 0), "Bibis@mail.com", 1)); + } } } diff --git a/ApartmentManager/ApartmentManager/Model/Resident.cs b/ApartmentManager/ApartmentManager/Model/Resident.cs index 5e859e6..f9cede7 100644 --- a/ApartmentManager/ApartmentManager/Model/Resident.cs +++ b/ApartmentManager/ApartmentManager/Model/Resident.cs @@ -9,7 +9,7 @@ namespace ApartmentManager.Model { public class Resident { - public string Name { get; set; } + public string FirstName { get; set; } public string LastName { get; set; } public int Phone { get; set; } public DateTime BirthDate { get; set; } @@ -19,9 +19,9 @@ namespace ApartmentManager.Model public int ResidentNr { get; set; } public Resident() { } - public Resident(string Name, string LastName, int Phone, DateTime BirthDate, string Email, int ApartmentNr, int ResidentNr) + public Resident(string FirstName, string LastName, int Phone, DateTime BirthDate, string Email, int ApartmentNr, int ResidentNr) { - this.Name = Name; + this.FirstName = FirstName; this.LastName = LastName; this.Phone = Phone; this.BirthDate = BirthDate; @@ -31,7 +31,7 @@ namespace ApartmentManager.Model } public override string ToString() { - return string.Format($"Name: {Name}, LastName: {LastName}, Birth Date: {BirthDate}, Phone {Phone}, Email {Email} "); + return string.Format($"Name: {FirstName}, LastName: {LastName}, Birth Date: {BirthDate}, Phone {Phone}, Email {Email} "); } } } diff --git a/ApartmentManager/ApartmentManager/Persistency/PersistenceFacade.cs b/ApartmentManager/ApartmentManager/Persistency/PersistenceFacade.cs new file mode 100644 index 0000000..882fd3a --- /dev/null +++ b/ApartmentManager/ApartmentManager/Persistency/PersistenceFacade.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading.Tasks; +using Windows.UI.Popups; +using ApartmentManager.Model; +using Newtonsoft.Json; + +namespace ApartmentManager.Persistency +{ + class PersistenceFacade + { + + const string ServerUrl = "http://localhost:60916"; + HttpClientHandler handler; + + public PersistenceFacade() + { + handler = new HttpClientHandler(); + handler.UseDefaultCredentials = true; + } + + ///Get Get Residents/// + public List<Resident> GetApartmentResidents(Resident resident) + { + using (var client = new HttpClient(handler)) + { + client.BaseAddress = new Uri(ServerUrl); + client.DefaultRequestHeaders.Clear(); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + try + { + string residentsBody = "api/residents/" + resident.ApartmentNr; + var response = client.GetAsync(residentsBody).Result; + + if (response.IsSuccessStatusCode) + { + var residentList = response.Content.ReadAsAsync<IEnumerable<Resident>>().Result; + return residentList.ToList(); + } + + } + catch (Exception ex) + { + new MessageDialog(ex.Message).ShowAsync(); + } + return null; + } + } + ///Get Get Residents/// + public void CreateResident(Resident resident) + { + using (var client = new HttpClient(handler)) + { + client.BaseAddress = new Uri(ServerUrl); + client.DefaultRequestHeaders.Clear(); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + try + { + string postBody = JsonConvert.SerializeObject(resident); + var response = client.PostAsync("api/Residents", + new StringContent(postBody, Encoding.UTF8, "application/json")) + .Result; + if (response.IsSuccessStatusCode) + { + new MessageDialog("Success").ShowAsync(); + } + else + { + new MessageDialog("Error").ShowAsync(); + } + + } + catch (Exception ex) + { + new MessageDialog(ex.Message).ShowAsync(); + } + } + + } + + } +} diff --git a/ApartmentManager/ApartmentManager/Persistency/Persistency.cs b/ApartmentManager/ApartmentManager/Persistency/Persistency.cs deleted file mode 100644 index ec46116..0000000 --- a/ApartmentManager/ApartmentManager/Persistency/Persistency.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ApartmentManager.Persistency -{ - class Persistency - { - } -} diff --git a/ApartmentManager/ApartmentManager/View/ResidentsPage.xaml b/ApartmentManager/ApartmentManager/View/ResidentsPage.xaml index 020d4cc..8c8d053 100644 --- a/ApartmentManager/ApartmentManager/View/ResidentsPage.xaml +++ b/ApartmentManager/ApartmentManager/View/ResidentsPage.xaml @@ -18,7 +18,7 @@ <StackPanel Width="400" Margin="0,0,50,0"> <TextBlock Margin="0,10,0,10" Text="Resident Info" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold"/> <TextBlock Margin="0,10,0,10" Text="Name"/> - <TextBox Text="{Binding NewResident.Name, Mode=TwoWay}" /> + <TextBox Text="{Binding NewResident.FirstName, Mode=TwoWay}" /> <TextBlock Margin="0,10,0,10" Text="Last Name"/> <TextBox Text="{Binding NewResident.LastName, Mode=TwoWay}" /> <TextBlock Margin="0,10,0,10" Text="Birthdate"/> diff --git a/ApartmentManager/ApartmentManager/ViewModel/ApartmenViewModel.cs b/ApartmentManager/ApartmentManager/ViewModel/ApartmenViewModel.cs index 57aa003..3d76120 100644 --- a/ApartmentManager/ApartmentManager/ViewModel/ApartmenViewModel.cs +++ b/ApartmentManager/ApartmentManager/ViewModel/ApartmenViewModel.cs @@ -36,6 +36,7 @@ namespace ApartmentManager.ViewModel CreateResidentCommand = new RelayCommand(ResidentsHandler.CreateResident); DeleteResidentCommand = new RelayCommand(ResidentsHandler.DeleteResident); UpdateResidentCommand = new RelayCommand(ResidentsHandler.UpdateResident); + ResidentsHandler.GetApartmentResidents(); } public User NewUser diff --git a/ApartmentManager/HousingWebAPI/Controllers/ResidentsController.cs b/ApartmentManager/HousingWebAPI/Controllers/ResidentsController.cs index b744392..e461b1a 100644 --- a/ApartmentManager/HousingWebAPI/Controllers/ResidentsController.cs +++ b/ApartmentManager/HousingWebAPI/Controllers/ResidentsController.cs @@ -22,17 +22,26 @@ namespace HousingWebApi.Controllers return db.Residents; } - // GET: api/Residents/5 - [ResponseType(typeof(Resident))] - public IHttpActionResult GetResident(int id) + // GET: api/Residents/1 + + [Route("api/Residents/{id}")] + [ResponseType(typeof(ResidentList))] + public IQueryable<ResidentList> GetResidents(int id) { - Resident resident = db.Residents.Find(id); - if (resident == null) - { - return NotFound(); - } - - return Ok(resident); + var roomlist = from resident in db.Residents + where (resident.ApartmentNr == id) + select new ResidentList + { + ResidentNr = resident.ResidentNr, + ApartmentNr = resident.ApartmentNr, + FirstName = resident.FirstName, + LastName = resident.LastName, + BirthDate = resident.BirthDate, + Phone = resident.Phone, + Email = resident.Email, + Picture = resident.Picture + }; + return roomlist; } // PUT: api/Residents/5 diff --git a/ApartmentManager/HousingWebAPI/HousingWebAPI.csproj b/ApartmentManager/HousingWebAPI/HousingWebAPI.csproj index 42d22f9..da2d507 100644 --- a/ApartmentManager/HousingWebAPI/HousingWebAPI.csproj +++ b/ApartmentManager/HousingWebAPI/HousingWebAPI.csproj @@ -199,6 +199,7 @@ <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Models\Resident.cs" /> <Compile Include="Models\User.cs" /> + <Compile Include="ResidentList.cs" /> </ItemGroup> <ItemGroup> <Content Include="Areas\HelpPage\HelpPage.css" /> diff --git a/ApartmentManager/HousingWebAPI/ResidentList.cs b/ApartmentManager/HousingWebAPI/ResidentList.cs new file mode 100644 index 0000000..1fd4b30 --- /dev/null +++ b/ApartmentManager/HousingWebAPI/ResidentList.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace HousingWebApi +{ + public class ResidentList + { + public int ResidentNr { get; set; } + public int ApartmentNr { get; set; } + public string FirstName { get; set; } + public string LastName { get; set; } + public DateTime? BirthDate { get; set; } + public int? Phone { get; set; } + public string Email { get; set; } + public byte[] Picture { get; set; } + + } +}
\ No newline at end of file diff --git a/ApartmentManager/HousingWebApi/Models/Resident.cs b/ApartmentManager/HousingWebApi/Models/Resident.cs index 367631c..00fc439 100644 --- a/ApartmentManager/HousingWebApi/Models/Resident.cs +++ b/ApartmentManager/HousingWebApi/Models/Resident.cs @@ -9,17 +9,21 @@ namespace HousingWebApi public partial class Resident { [Key] + [Column(Order = 0)] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int ResidentNr { get; set; } + [Key] + [Column(Order = 1)] + [DatabaseGenerated(DatabaseGeneratedOption.None)] public int ApartmentNr { get; set; } [Required] - [StringLength(15)] + [StringLength(20)] public string FirstName { get; set; } [Required] - [StringLength(15)] + [StringLength(20)] public string LastName { get; set; } [Column(TypeName = "date")] @@ -27,7 +31,7 @@ namespace HousingWebApi public int? Phone { get; set; } - [StringLength(26)] + [StringLength(30)] public string Email { get; set; } [Column(TypeName = "image")] diff --git a/HousingDatabase.ldf b/HousingDatabase.ldf Binary files differdeleted file mode 100644 index 80e00d5..0000000 --- a/HousingDatabase.ldf +++ /dev/null diff --git a/HousingDatabase.mdf b/HousingDatabase.mdf Binary files differdeleted file mode 100644 index 9fb615b..0000000 --- a/HousingDatabase.mdf +++ /dev/null |