aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Adamonis <dona0169@edu.easj.dk>2017-05-31 10:50:21 +0200
committerDonatas Adamonis <dona0169@edu.easj.dk>2017-05-31 10:50:21 +0200
commitaa4a3fc2f1146b8c2342706e46db8e5c5e358ca9 (patch)
tree2944148e224bb6fadeaa08fe64563424dca334c8
parenta085e2e12dacc41f3946c50d1d84de58d7ea4ad0 (diff)
apartment changes
-rw-r--r--ApartmentManager/ApartmentManager/ApartmentManager.csproj21
-rw-r--r--ApartmentManager/ApartmentManager/AppShell.xaml.cs2
-rw-r--r--ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs115
-rw-r--r--ApartmentManager/ApartmentManager/Handler/LoginHandler.cs1
-rw-r--r--ApartmentManager/ApartmentManager/Singletons/CatalogSingleton.cs9
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml124
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml.cs40
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml147
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml.cs35
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentDefectPage.xaml107
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentDefectViewPage.xaml7
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml89
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml.cs51
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentNewDefect.xaml5
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentPage.xaml4
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs7
-rw-r--r--ApartmentManager/ApartmentManager/View/BmMainPage.xaml2
-rw-r--r--ApartmentManager/ApartmentManager/ViewModel/ApartmentViewModel.cs84
-rw-r--r--ApartmentManager/HousingWebApi/Controllers/ApartmentChangesController.cs10
-rw-r--r--ApartmentManager/HousingWebApi/Controllers/ChangeCommentsController.cs2
20 files changed, 765 insertions, 97 deletions
diff --git a/ApartmentManager/ApartmentManager/ApartmentManager.csproj b/ApartmentManager/ApartmentManager/ApartmentManager.csproj
index 426f616..d9da403 100644
--- a/ApartmentManager/ApartmentManager/ApartmentManager.csproj
+++ b/ApartmentManager/ApartmentManager/ApartmentManager.csproj
@@ -131,12 +131,21 @@
<Compile Include="ViewModel\BmDefectsViewModel.cs" />
<Compile Include="ViewModel\ApartmentViewModel.cs" />
<Compile Include="ViewModel\LoginViewModel.cs" />
+ <Compile Include="View\ApartmentChangesPage.xaml.cs">
+ <DependentUpon>ApartmentChangesPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="View\ApartmentChangesViewPage.xaml.cs">
+ <DependentUpon>ApartmentChangesViewPage.xaml</DependentUpon>
+ </Compile>
<Compile Include="View\ApartmentDefectPage.xaml.cs">
<DependentUpon>ApartmentDefectPage.xaml</DependentUpon>
</Compile>
<Compile Include="View\ApartmentDefectViewPage.xaml.cs">
<DependentUpon>ApartmentDefectViewPage.xaml</DependentUpon>
</Compile>
+ <Compile Include="View\ApartmentNewChangePage.xaml.cs">
+ <DependentUpon>ApartmentNewChangePage.xaml</DependentUpon>
+ </Compile>
<Compile Include="View\ApartmentNewDefect.xaml.cs">
<DependentUpon>ApartmentNewDefect.xaml</DependentUpon>
</Compile>
@@ -223,6 +232,14 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
+ <Page Include="View\ApartmentChangesPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="View\ApartmentChangesViewPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="View\ApartmentDefectPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -231,6 +248,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="View\ApartmentNewChangePage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="View\ApartmentNewDefect.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
diff --git a/ApartmentManager/ApartmentManager/AppShell.xaml.cs b/ApartmentManager/ApartmentManager/AppShell.xaml.cs
index c5fcfe5..6da842b 100644
--- a/ApartmentManager/ApartmentManager/AppShell.xaml.cs
+++ b/ApartmentManager/ApartmentManager/AppShell.xaml.cs
@@ -102,7 +102,7 @@ namespace ApartmentManager
new NavMenuItem()
{
Symbol = Symbol.Bookmarks,
- Label = "Changes",
+ Label = "ApartmentChanges",
DestPage = typeof(BmChangesPage),
IsSelected = false
}
diff --git a/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs b/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs
index 41b9cda..b5ea6d2 100644
--- a/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs
+++ b/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs
@@ -79,7 +79,7 @@ namespace ApartmentManager.Handler
}
if (!string.IsNullOrEmpty(resident.FirstName) && !string.IsNullOrEmpty(resident.LastName))
{
- var response = ApiClient.PostData("api/residents/", resident);
+ var response = ApiClient.PostData("api/residents/", resident);
}
GetApartmentResidents();
}
@@ -194,9 +194,9 @@ namespace ApartmentManager.Handler
{
try
{
- if (ApartmentViewModel.NewDefect.Pictures == null) ApartmentViewModel.NewDefect.Pictures = new ObservableCollection<DefectPicture>();
+ if (ApartmentViewModel.NewDefect.Pictures == null) ApartmentViewModel.NewDefect.Pictures = new ObservableCollection<DefectPicture>();
var picture = new DefectPicture() { Picture = await ImgurPhotoUploader.UploadPhotoAsync() };
- ApartmentViewModel.NewDefect.Pictures.Add(picture);
+ ApartmentViewModel.NewDefect.Pictures.Add(picture);
}
catch (Exception e)
{
@@ -226,7 +226,7 @@ namespace ApartmentManager.Handler
{
new MessageDialog(e.Message).ShowAsync();
}
-
+
}
///////////////////////////////////////////////////////////////////////////////////////////////////
public bool CreateDefect_CanExecute()
@@ -235,7 +235,7 @@ namespace ApartmentManager.Handler
return false;
else
return true;
- }
+ }
///////////////////////////////////////////////////////////////////////////////////////////////////
public void CreateDefectComment()
{
@@ -262,8 +262,109 @@ namespace ApartmentManager.Handler
catch (Exception e)
{
new MessageDialog(e.Message).ShowAsync();
- }
+ }
}
- ///////////////////////////////////////////////////////////////////////////////////////////////////
+ /// <summary>
+ /// Defect HANDLERS
+ /// </summary>
+ public void GetApartmentChanges()
+ {
+ ApartmentChange change = new ApartmentChange();
+ change.ApartmentId = ApartmentViewModel.UserSingleton.CurrentUser.ApartmentId;
+ var changesFromDatabase = ApiClient.GetData("api/ApartmentChangesByid/" + change.ApartmentId);
+ var changeslist = JsonConvert.DeserializeObject<ObservableCollection<ApartmentChange>>(changesFromDatabase);
+ CatalogSingleton.Instance.ApartmentChanges.Clear();
+ foreach (var apartmentChange in changeslist)
+ {
+ apartmentChange.Documents = JsonConvert.DeserializeObject<ObservableCollection<ChangeDocument>>(ApiClient.GetData("api/ChangeDocumentsById/" + apartmentChange.ChangeId));
+ apartmentChange.Comments = JsonConvert.DeserializeObject<ObservableCollection<ChangeComment>>(ApiClient.GetData("api/ChangeCommentsById/" + apartmentChange.ChangeId));
+ CatalogSingleton.Instance.ApartmentChanges.Add(apartmentChange);
+ }
+ }
+ public void CreateChangeComment()
+ {
+ try
+ {
+ ChangeComment Comment = new ChangeComment();
+ Comment.Comment = ApartmentViewModel.NewChangeComment.Comment;
+ Comment.ChangeId = CatalogSingleton.Instance.SelectedChange.ChangeId;
+ Comment.Name = UserSingleton.Instance.CurrentUser.FirstName + " " + UserSingleton.Instance.CurrentUser.LastName;
+ Comment.Date = DateTimeOffset.Now;
+ if (!string.IsNullOrEmpty(Comment.Comment))
+ {
+ var asd =ApiClient.PostData("api/ChangeComments/", Comment);
+ }
+ var response = ApiClient.GetData("api/ChangeCommentsById/" + CatalogSingleton.Instance.SelectedChange.ChangeId);
+ var commentlist = JsonConvert.DeserializeObject<ObservableCollection<ChangeComment>>(response);
+
+ CatalogSingleton.Instance.SelectedChange.Comments.Clear();
+ foreach (var comment in commentlist)
+ {
+ CatalogSingleton.Instance.SelectedChange.Comments.Add(comment);
+ }
+ }
+ catch (Exception e)
+ {
+ new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void DeleteChangePicture()
+ {
+ try
+ {
+ ApartmentViewModel.NewChange.Documents.Remove(ApartmentViewModel.SelectedChangeDocument);
+ }
+ catch (Exception e)
+ {
+ new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public async void UploadChangePicture()
+ {
+ try
+ {
+ if (ApartmentViewModel.NewChange.Documents == null) ApartmentViewModel.NewChange.Documents = new ObservableCollection<ChangeDocument>();
+ var picture = new ChangeDocument() { Document = await ImgurPhotoUploader.UploadPhotoAsync() };
+ ApartmentViewModel.NewChange.Documents.Add(picture);
+ }
+ catch (Exception e)
+ {
+ new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public void CreateChange()
+ {
+ try
+ {
+ ApartmentChange change = ApartmentViewModel.NewChange;
+ change.ApartmentId = ApartmentViewModel.UserSingleton.CurrentUser.ApartmentId;
+ change.Status = "New";
+ change.UploadDate = DateTime.Now;
+ var response = ApiClient.PostData("api/ApartmentChanges/", change);
+ var changeResponse = JsonConvert.DeserializeObject<ApartmentChange>(response);
+ change.ChangeId = changeResponse.ChangeId;
+ if (change.Documents !=null)
+ {
+ foreach (var document in change.Documents)
+ {
+ document.ChangeId = change.ChangeId;
+ ApiClient.PostData("api/ChangeDocuments/", document);
+ }
+ }
+ GetApartmentChanges();
+ }
+ catch (Exception e)
+ {
+ new MessageDialog(e.Message).ShowAsync();
+ }
+ }
+ public bool CreateChange_CanExecute()
+ {
+ if (string.IsNullOrEmpty(ApartmentViewModel.NewChange.Description) || string.IsNullOrEmpty(ApartmentViewModel.NewChange.Name))
+ return false;
+ else
+ return true;
+ }
+
}
}
diff --git a/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs b/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs
index 9f52a40..9360f97 100644
--- a/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs
+++ b/ApartmentManager/ApartmentManager/Handler/LoginHandler.cs
@@ -93,6 +93,7 @@ namespace ApartmentManager.Handler
avm.ApartmentHandler.GetApartmentResidents();
avm.ApartmentHandler.GetApartment();
avm.ApartmentHandler.GetApartmentDefects();
+ avm.ApartmentHandler.GetApartmentChanges();
appShell.AppFrame.Navigate(typeof(ApartmentPage));
}
}
diff --git a/ApartmentManager/ApartmentManager/Singletons/CatalogSingleton.cs b/ApartmentManager/ApartmentManager/Singletons/CatalogSingleton.cs
index a05c01a..ee101c6 100644
--- a/ApartmentManager/ApartmentManager/Singletons/CatalogSingleton.cs
+++ b/ApartmentManager/ApartmentManager/Singletons/CatalogSingleton.cs
@@ -18,13 +18,18 @@ namespace ApartmentManager.Singletons
public ObservableCollection<Resident> Residents { get; set; }
////////// For Defects //////////
public ObservableCollection<Defect> Defects { get; set; }
+ public ApartmentChange SelectedChange { get; set; }
+ ////////// For Defects //////////
+ public ObservableCollection<ApartmentChange> ApartmentChanges { get; set; }
public Defect SelectedDefect { get; set; }
////////// Constructor //////////
private CatalogSingleton()
- {
+ {
+ ApartmentChanges = new ObservableCollection<ApartmentChange>();
Residents = new ObservableCollection<Resident>();
Defects = new ObservableCollection<Defect>();
- SelectedDefect = new Defect();
+ SelectedDefect = new Defect();
+ SelectedChange = new ApartmentChange();
}
}
}
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml
new file mode 100644
index 0000000..9a7ddb1
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml
@@ -0,0 +1,124 @@
+<Page
+ x:Class="ApartmentManager.View.ApartmentChangesPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:ApartmentManager.View"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:viewModel="using:ApartmentManager.ViewModel"
+ mc:Ignorable="d">
+
+ <Page.DataContext>
+ <viewModel:ApartmentViewModel/>
+ </Page.DataContext>
+
+ <Page.BottomAppBar>
+ <CommandBar>
+ <CommandBar.Content>
+ <Grid />
+ </CommandBar.Content>
+ <AppBarButton
+ Icon="Add"
+ Label="Create Defect" Click="GotoNewChangePage">
+ </AppBarButton>
+ </CommandBar>
+ </Page.BottomAppBar>
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="45"/>
+ <RowDefinition/>
+ </Grid.RowDefinitions>
+
+ <TextBlock Grid.Row="0"
+ HorizontalAlignment="Center"
+ FontSize="30"
+ FontWeight="Bold"
+ Text="Apartment Defects">
+ </TextBlock>
+
+ <ListView ItemsSource="{Binding CatalogSingleton.ApartmentChanges}" SelectedItem="{Binding CatalogSingleton.SelectedChange, Mode=TwoWay}" Grid.Row="1" Background="LightGray" SelectionChanged="GotoApartmentChangeViewPage">
+ <ListView.ItemContainerStyle>
+ <Style TargetType="ListViewItem">
+ <Setter Property="HorizontalContentAlignment" Value="Stretch" />
+ </Style>
+ </ListView.ItemContainerStyle>
+
+
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <Grid Height="200" BorderThickness ="1" Margin="12,12,12,0" BorderBrush="#DFE0E4" Background="White" >
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="300" />
+ <ColumnDefinition/>
+ </Grid.ColumnDefinitions>
+
+ <Image
+ Margin="5"
+ Source="{Binding Documents[0].Document}"
+ >
+ </Image>
+
+ <StackPanel Grid.Column="1" Margin="10">
+
+ <StackPanel Orientation="Horizontal">
+ <TextBlock
+ Margin="0,0,10,0"
+ FontSize="30"
+ FontWeight="Bold"
+ Text="Name :">
+ </TextBlock>
+ <TextBlock
+ Margin="0,0,10,0"
+ FontSize="30"
+ Text="{Binding Name}">
+ </TextBlock>
+
+ </StackPanel>
+
+ <StackPanel Orientation="Horizontal">
+ <TextBlock
+ Width="800"
+ Height="108"
+ Margin="0,0,10,0"
+ FontSize="20"
+ Text="{Binding Description}"
+ TextWrapping="Wrap">
+ </TextBlock>
+ </StackPanel>
+
+ <StackPanel Orientation="Horizontal">
+ <TextBlock
+ Margin="0,0,10,0"
+ FontSize="25"
+ FontWeight="Bold"
+ Text="Status :">
+ </TextBlock>
+ <TextBlock
+ Margin="0,0,10,0"
+ FontSize="25"
+ Text="{Binding Status}">
+ </TextBlock>
+
+ <TextBlock
+ Margin="700,0,10,0"
+ HorizontalAlignment="Left"
+ FontSize="25"
+ FontWeight="Bold"
+ Text="Date Submitted :">
+ </TextBlock>
+
+ <TextBlock FontSize="25" Text="{Binding UploadDate.Year}" />
+ <TextBlock FontSize="25" Text="-" />
+ <TextBlock FontSize="25" Text="{Binding UploadDate.Month}" />
+ <TextBlock FontSize="25" Text="-" />
+ <TextBlock FontSize="25" Text="{Binding UploadDate.Day}" />
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+ </DataTemplate>
+ </ListView.ItemTemplate>
+
+ </ListView>
+ </Grid>
+</Page>
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml.cs b/ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml.cs
new file mode 100644
index 0000000..c498d1d
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentChangesPage.xaml.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238
+
+namespace ApartmentManager.View
+{
+ /// <summary>
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ /// </summary>
+ public sealed partial class ApartmentChangesPage : Page
+ {
+ public ApartmentChangesPage()
+ {
+ this.InitializeComponent();
+ }
+
+ private void GotoApartmentChangeViewPage(object sender, SelectionChangedEventArgs e)
+ {
+ Frame.Navigate(typeof(ApartmentChangesViewPage));
+ }
+
+ private void GotoNewChangePage(object sender, RoutedEventArgs e)
+ {
+ Frame.Navigate(typeof(ApartmentNewChangePage));
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml
new file mode 100644
index 0000000..5ec7b99
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml
@@ -0,0 +1,147 @@
+<Page
+ x:Class="ApartmentManager.View.ApartmentChangesViewPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:viewModel="using:ApartmentManager.ViewModel"
+ mc:Ignorable="d">
+
+ <Page.DataContext>
+ <viewModel:ApartmentViewModel />
+ </Page.DataContext>
+
+ <Page.BottomAppBar>
+ <CommandBar>
+ <CommandBar.Content>
+ <Grid />
+ </CommandBar.Content>
+ <AppBarButton
+ Icon="back"
+ Label="Create Defect" Click="GotoApartmentChangesPage" >
+ </AppBarButton>
+ </CommandBar>
+ </Page.BottomAppBar>
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ <ScrollViewer>
+ <StackPanel>
+ <StackPanel Margin="10,10,10,0" Orientation="Horizontal">
+ <TextBlock
+ Margin="100,0,0,0"
+ FontSize="30"
+ FontWeight="Bold"
+ Text="Name :" />
+ <TextBlock
+ Margin="10,0,0,0"
+ FontSize="30"
+ Text="{Binding CatalogSingleton.SelectedChange.Name}" />
+ <TextBlock
+ Margin="700,0,0,0"
+ FontSize="30"
+ FontWeight="Bold"
+ Text="Status :" />
+ <TextBlock
+ Margin="10,0,0,0"
+ FontSize="30"
+ Text="{Binding CatalogSingleton.SelectedChange.Status}" />
+ </StackPanel>
+ <StackPanel Margin="20,0,20,20" Orientation="Horizontal">
+ <StackPanel Width="620" Margin="0,50,0,0">
+ <GridView
+ Width="500"
+ Height="420"
+ ItemsSource="{Binding CatalogSingleton.SelectedChange.Documents, Mode=TwoWay}">
+ <GridView.ItemTemplate>
+ <DataTemplate>
+ <Image
+ Width="220"
+ Margin="10,0,10,10"
+ Source="{Binding Document}" />
+ </DataTemplate>
+ </GridView.ItemTemplate>
+
+ </GridView>
+ </StackPanel>
+ <StackPanel Width="620">
+ <TextBlock
+ Margin="10,0,0,10"
+ FontSize="30"
+ FontWeight="Bold"
+ Text="Description" />
+ <Grid BorderBrush="Black" BorderThickness="1">
+ <TextBlock
+ Height="400"
+ Margin="10"
+ Text="{Binding CatalogSingleton.SelectedChange.Description, Mode=TwoWay}"
+ TextWrapping="WrapWholeWords" />
+ </Grid>
+
+
+ </StackPanel>
+
+
+ </StackPanel>
+ <StackPanel Width="600" Margin="0,20,0,0">
+ <TextBlock
+ Margin="10,0,0,10"
+ FontSize="30"
+ FontWeight="Bold"
+ Text="Comments" />
+ <StackPanel Orientation="Horizontal">
+
+ <TextBox
+ Width="500"
+ Height="80"
+ Text="{Binding NewChangeComment.Comment, Mode=TwoWay}"
+ TextWrapping="Wrap" />
+ <Button
+ Margin="10,0,0,0"
+ Command="{Binding CreateChangeComment}"
+ Content="Comment" />
+ </StackPanel>
+
+
+ <ListView ItemsSource="{Binding CatalogSingleton.SelectedChange.Comments}">
+ <ListView.ItemContainerStyle>
+ <Style TargetType="ListViewItem">
+ <Setter Property="HorizontalContentAlignment" Value="Stretch" />
+ </Style>
+ </ListView.ItemContainerStyle>
+
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <Grid Margin="10">
+ <StackPanel>
+ <TextBlock
+ Margin="5,0,0,0"
+ FontWeight="Bold"
+ Text="{Binding Name}" />
+ <TextBlock
+ Margin="5"
+ Text="{Binding Comment}"
+ TextWrapping="WrapWholeWords" />
+ <StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
+ <TextBlock Margin="0,0,0,5">
+ <Run FontWeight="Bold" Text="{Binding Date.Year}" />
+ <Run FontWeight="Bold" Text="-" />
+ <Run FontWeight="Bold" Text="{Binding Date.Month}" />
+ <Run FontWeight="Bold" Text="-" />
+ <Run FontWeight="Bold" Text="{Binding Date.Day}" />
+ <Run FontWeight="Bold" Text=" " />
+ <Run FontWeight="Bold" Text="{Binding Date.Hour}" />
+ <Run FontWeight="Bold" Text=":" />
+ <Run FontWeight="Bold" Text="{Binding Date.Minute}" />
+ </TextBlock>
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+ </DataTemplate>
+ </ListView.ItemTemplate>
+ </ListView>
+
+ </StackPanel>
+ </StackPanel>
+ </ScrollViewer>
+ </Grid>
+</Page>
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml.cs b/ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml.cs
new file mode 100644
index 0000000..d3030ff
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentChangesViewPage.xaml.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238
+
+namespace ApartmentManager.View
+{
+ /// <summary>
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ /// </summary>
+ public sealed partial class ApartmentChangesViewPage : Page
+ {
+ public ApartmentChangesViewPage()
+ {
+ this.InitializeComponent();
+ }
+
+ private void GotoApartmentChangesPage(object sender, RoutedEventArgs e)
+ {
+ Frame.Navigate(typeof(ApartmentChangesPage));
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentDefectPage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentDefectPage.xaml
index f2f0755..a102840 100644
--- a/ApartmentManager/ApartmentManager/View/ApartmentDefectPage.xaml
+++ b/ApartmentManager/ApartmentManager/View/ApartmentDefectPage.xaml
@@ -20,13 +20,9 @@
<Grid />
</CommandBar.Content>
<AppBarButton
- Click="NavigateNewDefect"
- Command="{Binding ClearDefectTemplateCommand}"
+ Click="NavigateNewDefect"
Icon="Add"
Label="Create Defect">
- <AppBarButton.DataContext>
- <ViewModel:BmDefectsViewModel />
- </AppBarButton.DataContext>
</AppBarButton>
</CommandBar>
</Page.BottomAppBar>
@@ -41,96 +37,91 @@
HorizontalAlignment="Center"
FontSize="30"
FontWeight="Bold"
- Text="Apartment Defects">
+ Text="Apartment Changes">
</TextBlock>
-
- <ListView ItemsSource="{Binding CatalogSingleton.Defects}" SelectedItem="{Binding CatalogSingleton.SelectedDefect, Mode=TwoWay}" SelectionChanged="NavigateDefectViewPage" Grid.Row="1" Background="LightGray">
- <ListView.ItemContainerStyle>
- <Style TargetType="ListViewItem">
- <Setter Property="HorizontalContentAlignment" Value="Stretch" />
- </Style>
- </ListView.ItemContainerStyle>
+ <ListView ItemsSource="{Binding CatalogSingleton.Defects}" SelectedItem="{Binding CatalogSingleton.SelectedDefect, Mode=TwoWay}" SelectionChanged="NavigateDefectViewPage" Grid.Row="1" Background="LightGray">
+ <ListView.ItemContainerStyle>
+ <Style TargetType="ListViewItem">
+ <Setter Property="HorizontalContentAlignment" Value="Stretch" />
+ </Style>
+ </ListView.ItemContainerStyle>
- <ListView.ItemTemplate>
- <DataTemplate>
- <Grid Height="200" BorderThickness ="1" Margin="12,12,12,0" BorderBrush="#DFE0E4" Background="White" >
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="200" />
- <ColumnDefinition/>
- </Grid.ColumnDefinitions>
- <Image
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <Grid Height="200" BorderThickness ="1" Margin="12,12,12,0" BorderBrush="#DFE0E4" Background="White" >
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="200" />
+ <ColumnDefinition/>
+ </Grid.ColumnDefinitions>
+
+ <Image
Margin="5"
Source="{Binding Pictures[0].Picture}"
Stretch="Fill">
- </Image>
+ </Image>
- <StackPanel Grid.Column="1" Margin="10">
+ <StackPanel Grid.Column="1" Margin="10">
- <StackPanel Orientation="Horizontal">
- <TextBlock
+ <StackPanel Orientation="Horizontal">
+ <TextBlock
Margin="0,0,10,0"
FontSize="30"
FontWeight="Bold"
Text="Name :">
- </TextBlock>
- <TextBlock
+ </TextBlock>
+ <TextBlock
Margin="0,0,10,0"
FontSize="30"
Text="{Binding Name}">
- </TextBlock>
+ </TextBlock>
- </StackPanel>
+ </StackPanel>
- <StackPanel Orientation="Horizontal">
- <TextBlock
+ <StackPanel Orientation="Horizontal">
+ <TextBlock
Width="800"
Height="108"
Margin="0,0,10,0"
FontSize="20"
Text="{Binding Description}"
TextWrapping="Wrap">
- </TextBlock>
- </StackPanel>
-
-
+ </TextBlock>
+ </StackPanel>
- <StackPanel Orientation="Horizontal">
- <TextBlock
+ <StackPanel Orientation="Horizontal">
+ <TextBlock
Margin="0,0,10,0"
FontSize="25"
FontWeight="Bold"
Text="Status :">
- </TextBlock>
- <TextBlock
+ </TextBlock>
+ <TextBlock
Margin="0,0,10,0"
FontSize="25"
Text="{Binding Status}">
- </TextBlock>
+ </TextBlock>
- <TextBlock
+ <TextBlock
Margin="700,0,10,0"
HorizontalAlignment="Left"
FontSize="25"
FontWeight="Bold"
Text="Date Submitted :">
- </TextBlock>
-
- <TextBlock FontSize="25" Text="{Binding UploadDate.Year}" />
- <TextBlock FontSize="25" Text="-" />
- <TextBlock FontSize="25" Text="{Binding UploadDate.Month}" />
- <TextBlock FontSize="25" Text="-" />
- <TextBlock FontSize="25" Text="{Binding UploadDate.Day}" />
- </StackPanel>
- </StackPanel>
- </Grid>
- </DataTemplate>
- </ListView.ItemTemplate>
-
- </ListView>
-
-
-
+ </TextBlock>
+
+ <TextBlock FontSize="25" Text="{Binding UploadDate.Year}" />
+ <TextBlock FontSize="25" Text="-" />
+ <TextBlock FontSize="25" Text="{Binding UploadDate.Month}" />
+ <TextBlock FontSize="25" Text="-" />
+ <TextBlock FontSize="25" Text="{Binding UploadDate.Day}" />
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+ </DataTemplate>
+ </ListView.ItemTemplate>
+
+ </ListView>
</Grid>
</Page>
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentDefectViewPage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentDefectViewPage.xaml
index b14dc99..9052d3a 100644
--- a/ApartmentManager/ApartmentManager/View/ApartmentDefectViewPage.xaml
+++ b/ApartmentManager/ApartmentManager/View/ApartmentDefectViewPage.xaml
@@ -18,13 +18,8 @@
<Grid />
</CommandBar.Content>
<AppBarButton
-
- Command="{Binding ClearDefectTemplateCommand}"
Icon="back"
Label="Create Defect" Click="BackToDefectPage" >
- <AppBarButton.DataContext>
- <ViewModel:BmDefectsViewModel />
- </AppBarButton.DataContext>
</AppBarButton>
</CommandBar>
</Page.BottomAppBar>
@@ -99,7 +94,7 @@
<TextBox
Width="500"
Height="80"
- Text="{Binding NewDefectComment.Comment, Mode=TwoWay}"
+ Text="{Binding NewChangeComment.Comment, Mode=TwoWay}"
TextWrapping="Wrap" />
<Button
Margin="10,0,0,0"
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml
new file mode 100644
index 0000000..2eab16c
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml
@@ -0,0 +1,89 @@
+<Page
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:ApartmentManager.View"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:ViewModel="using:ApartmentManager.ViewModel"
+ x:Class="ApartmentManager.View.ApartmentNewChangePage"
+ mc:Ignorable="d">
+
+ <Page.BottomAppBar>
+ <CommandBar>
+ <CommandBar.Content>
+ <Grid />
+ </CommandBar.Content>
+ <AppBarButton
+ Icon="Back"
+ Label="Create Defect" Click="BackToChangePage"/>
+ </CommandBar>
+ </Page.BottomAppBar>
+
+
+ <Page.DataContext>
+ <ViewModel:ApartmentViewModel/>
+ </Page.DataContext>
+
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ <StackPanel HorizontalAlignment="Center" Orientation="Vertical">
+
+ <TextBlock
+ Margin="0,10,0,10"
+ HorizontalAlignment="Center"
+ FontSize="20"
+ FontWeight="Bold"
+ Text="Change Information"/>
+
+ <StackPanel Orientation="Horizontal">
+ <StackPanel Margin="0,5,30,0">
+ <ListView
+ Width="500"
+ Height="600"
+ ItemsSource="{Binding NewChange.Documents, Mode=TwoWay}"
+ SelectedItem="{Binding SelectedChangeDocument, Mode=TwoWay}">
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <Image
+ Width="400"
+ Margin="10"
+ Source="{Binding Document}" />
+ </DataTemplate>
+ </ListView.ItemTemplate>
+ </ListView>
+
+ <StackPanel Margin="10" Orientation="Horizontal">
+ <Button
+ Margin="30,0,0,0"
+ Command="{Binding UploadChangePicture}"
+ Content="Upload Picture" />
+ <Button
+ Margin="170,0,0,0"
+ Command="{Binding DeleteChangePicture}"
+ Content="Delete Picture" />
+ </StackPanel>
+
+ <StackPanel Margin="0,30,0,0" Orientation="Horizontal" />
+ <StackPanel Margin="0,30,0,0" Orientation="Horizontal" />
+
+ </StackPanel>
+
+ <StackPanel Width="400" Margin="0,0,50,0">
+ <TextBlock Margin="0,10,0,10" Text="Name" />
+ <TextBox Text="{Binding NewChange.Name, Mode=TwoWay}" />
+ <TextBlock Margin="0,10,0,10" Text="Description" />
+ <TextBox
+ Height="417"
+ Text="{Binding NewChange.Description, Mode=TwoWay}"
+ TextWrapping="Wrap" />
+ <Button
+ Margin="0,20,0,0"
+ HorizontalAlignment="Stretch"
+
+ Content="Create" Click="CreateChange" />
+ </StackPanel>
+
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+</Page>
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml.cs b/ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml.cs
new file mode 100644
index 0000000..44abaf7
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentNewChangePage.xaml.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+using ApartmentManager.ViewModel;
+
+// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238
+
+namespace ApartmentManager.View
+{
+ /// <summary>
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ /// </summary>
+ public sealed partial class ApartmentNewChangePage : Page
+ {
+ private ApartmentViewModel vm;
+ public ApartmentNewChangePage()
+ {
+ this.InitializeComponent();
+ vm = new ApartmentViewModel();
+ DataContext = vm;
+ }
+
+ private void BackToChangePage(object sender, RoutedEventArgs e)
+ {
+ Frame.Navigate(typeof(ApartmentChangesPage));
+ }
+
+ private void CreateChange(object sender, RoutedEventArgs e)
+ {
+
+
+ vm.CreateChange.Execute(null);
+ if (vm.CreateChange.CanExecute(null))
+ {
+ Frame.Navigate(typeof(ApartmentChangesPage));
+ }
+
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentNewDefect.xaml b/ApartmentManager/ApartmentManager/View/ApartmentNewDefect.xaml
index 22c169c..4743bd3 100644
--- a/ApartmentManager/ApartmentManager/View/ApartmentNewDefect.xaml
+++ b/ApartmentManager/ApartmentManager/View/ApartmentNewDefect.xaml
@@ -14,13 +14,8 @@
<Grid />
</CommandBar.Content>
<AppBarButton
-
- Command="{Binding ClearDefectTemplateCommand}"
Icon="back"
Label="Create Defect" Click="BackToDefectPage">
- <AppBarButton.DataContext>
- <ViewModel:BmDefectsViewModel />
- </AppBarButton.DataContext>
</AppBarButton>
</CommandBar>
</Page.BottomAppBar>
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml
index 06bf787..9aa8be2 100644
--- a/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml
+++ b/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml
@@ -101,7 +101,7 @@
<Button
Margin="0,10,0,10"
HorizontalAlignment="Stretch"
- Click="click"
+ Click="GotoApartmentPlanPage"
Content="Apartment Plan" />
<Button
Margin="0,10,0,10"
@@ -116,7 +116,7 @@
<Button
Margin="0,10,0,10"
HorizontalAlignment="Stretch"
- Content="Apartment Changes" />
+ Content="Apartment ApartmentChanges" Click="GotoChangesPage" />
<Button
Margin="0,10,0,10"
HorizontalAlignment="Stretch"
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs b/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs
index e24ad53..b6752d9 100644
--- a/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs
+++ b/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs
@@ -27,7 +27,7 @@ namespace ApartmentManager.View
this.InitializeComponent();
}
- private void click(object sender, RoutedEventArgs e)
+ private void GotoApartmentPlanPage(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(ApartmentPlanPage));
}
@@ -46,5 +46,10 @@ namespace ApartmentManager.View
{
Frame.Navigate(typeof(ApartmentDefectPage));
}
+
+ private void GotoChangesPage(object sender, RoutedEventArgs e)
+ {
+ Frame.Navigate(typeof(ApartmentChangesPage));
+ }
}
}
diff --git a/ApartmentManager/ApartmentManager/View/BmMainPage.xaml b/ApartmentManager/ApartmentManager/View/BmMainPage.xaml
index 2fd5ab2..3cf03a3 100644
--- a/ApartmentManager/ApartmentManager/View/BmMainPage.xaml
+++ b/ApartmentManager/ApartmentManager/View/BmMainPage.xaml
@@ -76,7 +76,7 @@
Content="Apartment changes">
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
- <core:NavigateToPageAction TargetPage="ApartmentManager.View.BmChangesPage" />
+ <core:NavigateToPageAction TargetPage="ApartmentManager.View.BmApartmentChangesPage" />
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</Button>
diff --git a/ApartmentManager/ApartmentManager/ViewModel/ApartmentViewModel.cs b/ApartmentManager/ApartmentManager/ViewModel/ApartmentViewModel.cs
index ae0919d..bb126b4 100644
--- a/ApartmentManager/ApartmentManager/ViewModel/ApartmentViewModel.cs
+++ b/ApartmentManager/ApartmentManager/ViewModel/ApartmentViewModel.cs
@@ -25,9 +25,14 @@ namespace ApartmentManager.ViewModel
////////// Store Data From Interface//////////
private User _newUser;
private Resident _newResident;
+ //// For defect///
private Defect _newDefect;
private DefectPicture _selectedDefectPicture;
private DefectComment _newDefectComment;
+ //// For Changes///
+ private ChangeComment _newChangeComment;
+ private ApartmentChange _newApartmentChange;
+ private ChangeDocument _selectedChangeDocument;
////////// Resident relay commands//////////
public ICommand CreateResidentCommand { get; set; }
public ICommand DeleteResidentCommand { get; set; }
@@ -39,22 +44,32 @@ namespace ApartmentManager.ViewModel
////////// Defect relay commands//////////
public ICommand DeleteDefectPicture { get; set; }
public ICommand UploadDefectPicture { get; set; }
- public ICommand CreateDefect { get; set; }
+ public ICommand CreateDefect { get; set; }
public ICommand CreateDefectComment { get; set; }
+ ////////// Change relay commands//////////
+ public ICommand DeleteChangePicture { get; set; }
+ public ICommand UploadChangePicture { get; set; }
+ public ICommand CreateChangeComment { get; set; }
+ public ICommand CreateChange { get; set; }
////////// Constructor //////////
public ApartmentViewModel()
{
////////// Store Data From Interface instance //////////
NewUser = new User();
NewResident = new Resident();
+
NewDefect = new Defect();
NewDefectComment = new DefectComment();
SelectedDefectPicture = new DefectPicture();
+
+ NewChangeComment = new ChangeComment();
+ SelectedChangeDocument = new ChangeDocument();
+ NewChange = new ApartmentChange();
////////// Handler //////////
ApartmentHandler = new ApartmentHandler(this);
////////// Singletons //////////
CatalogSingleton = CatalogSingleton.Instance;
- UserSingleton = UserSingleton.Instance;
+ UserSingleton = UserSingleton.Instance;
////////// User relay commands//////////
UpdateUser = new RelayCommand(ApartmentHandler.UpdateUser);
UploadUserPhoto = new RelayCommand(ApartmentHandler.UploadUserPhoto);
@@ -66,10 +81,15 @@ namespace ApartmentManager.ViewModel
////////// Defect relay commands//////////
UploadDefectPicture = new RelayCommand(ApartmentHandler.UploadDefectPhoto);
DeleteDefectPicture = new RelayCommand(ApartmentHandler.DeleteDefectPicture);
- CreateDefect = new RelayCommand(ApartmentHandler.CreateDefect, ApartmentHandler.CreateDefect_CanExecute);
+ CreateDefect = new RelayCommand(ApartmentHandler.CreateDefect, ApartmentHandler.CreateDefect_CanExecute);
CreateDefectComment = new RelayCommand(ApartmentHandler.CreateDefectComment);
+ ////////// changes relay commands//////////
+ CreateChangeComment = new RelayCommand(ApartmentHandler.CreateChangeComment);
+ DeleteChangePicture = new RelayCommand(ApartmentHandler.DeleteChangePicture);
+ UploadChangePicture = new RelayCommand(ApartmentHandler.UploadChangePicture);
+ CreateChange = new RelayCommand(ApartmentHandler.CreateChange, ApartmentHandler.CreateChange_CanExecute);
}
- ////////// Store Data From Interface//////////
+ ////////// Store Data From Interface for defects//////////
public DefectComment NewDefectComment
{
get => _newDefectComment;
@@ -88,33 +108,71 @@ namespace ApartmentManager.ViewModel
OnPropertyChanged();
}
}
- public User NewUser
+ public DefectPicture SelectedDefectPicture
{
- get => _newUser;
+ get => _selectedDefectPicture;
set
{
- _newUser = value;
+ _selectedDefectPicture = value;
OnPropertyChanged();
}
}
- public Resident NewResident
+ ////////// Store Data From Interface for Changes//////////
+ public ChangeComment NewChangeComment
{
- get => _newResident;
+ get => _newChangeComment;
set
{
- _newResident = value;
+ _newChangeComment = value;
OnPropertyChanged();
}
}
- public DefectPicture SelectedDefectPicture
+ public ChangeDocument SelectedChangeDocument
{
- get => _selectedDefectPicture;
+ get => _selectedChangeDocument;
set
{
- _selectedDefectPicture = value;
+ _selectedChangeDocument = value;
+ OnPropertyChanged();
+ }
+ }
+ public ApartmentChange NewChange
+ {
+ get => _newApartmentChange;
+ set
+ {
+ _newApartmentChange = value;
OnPropertyChanged();
}
}
+
+
+
+
+
+
+
+
+
+ public User NewUser
+ {
+ get => _newUser;
+ set
+ {
+ _newUser = value;
+ OnPropertyChanged();
+ }
+ }
+ public Resident NewResident
+ {
+ get => _newResident;
+ set
+ {
+ _newResident = value;
+ OnPropertyChanged();
+ }
+ }
+
////////// INotifyPropertyChanged //////////
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
diff --git a/ApartmentManager/HousingWebApi/Controllers/ApartmentChangesController.cs b/ApartmentManager/HousingWebApi/Controllers/ApartmentChangesController.cs
index f96385a..eadd910 100644
--- a/ApartmentManager/HousingWebApi/Controllers/ApartmentChangesController.cs
+++ b/ApartmentManager/HousingWebApi/Controllers/ApartmentChangesController.cs
@@ -21,7 +21,15 @@ namespace HousingWebApi.Controllers
{
return db.ApartmentChanges;
}
-
+ [Route("api/ApartmentChangesByid/{id}")]
+ public IQueryable<ApartmentChange> GetApartmentChangesByid(int id)
+ {
+ var changetlist = from change in db.ApartmentChanges
+ where (change.ApartmentId == id)
+ orderby change.ChangeId descending
+ select change;
+ return changetlist;
+ }
// GET: api/ApartmentChanges/5
[ResponseType(typeof(ApartmentChange))]
public IHttpActionResult GetApartmentChange(int id)
diff --git a/ApartmentManager/HousingWebApi/Controllers/ChangeCommentsController.cs b/ApartmentManager/HousingWebApi/Controllers/ChangeCommentsController.cs
index 11519fd..6026938 100644
--- a/ApartmentManager/HousingWebApi/Controllers/ChangeCommentsController.cs
+++ b/ApartmentManager/HousingWebApi/Controllers/ChangeCommentsController.cs
@@ -22,6 +22,8 @@ namespace HousingWebApi.Controllers
{
var commentsList = from changeComment in db.ChangeComments
where (changeComment.ChangeId == id)
+ orderby changeComment.CommentId descending
+
select changeComment;
return commentsList;
}