aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------ApartmentAdmin0
-rw-r--r--ApartmentManager/ApartmentManager/ApartmentManager.csproj30
-rw-r--r--ApartmentManager/ApartmentManager/App.xaml9
-rw-r--r--ApartmentManager/ApartmentManager/AppShell.xaml134
-rw-r--r--ApartmentManager/ApartmentManager/AppShell.xaml.cs144
-rw-r--r--ApartmentManager/ApartmentManager/Controls/NavMenuListView.cs120
-rw-r--r--ApartmentManager/ApartmentManager/Model/Class1.cs12
-rw-r--r--ApartmentManager/ApartmentManager/Model/NavMenuItem.cs60
-rw-r--r--ApartmentManager/ApartmentManager/Model/User.cs37
-rw-r--r--ApartmentManager/ApartmentManager/Style/Styles.xaml557
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentPage.xaml29
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs40
-rw-r--r--ApartmentManager/ApartmentManager/View/ApartmentPlanPage.xaml22
-rw-r--r--ApartmentManager/ApartmentManager/View/LoginPage.xaml10
-rw-r--r--ApartmentManager/ApartmentManager/View/LoginPage.xaml.cs30
-rw-r--r--ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml27
-rw-r--r--ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml.cs30
-rw-r--r--HousingDatabase.ldfbin8388608 -> 8388608 bytes
-rw-r--r--HousingDatabase.mdfbin8388608 -> 8388608 bytes
19 files changed, 1274 insertions, 17 deletions
diff --git a/ApartmentAdmin b/ApartmentAdmin
new file mode 160000
+Subproject f4d7fc3fa885184fb073fbae2aea28a476a85b8
diff --git a/ApartmentManager/ApartmentManager/ApartmentManager.csproj b/ApartmentManager/ApartmentManager/ApartmentManager.csproj
index b08d130..f5ef9d3 100644
--- a/ApartmentManager/ApartmentManager/ApartmentManager.csproj
+++ b/ApartmentManager/ApartmentManager/ApartmentManager.csproj
@@ -95,19 +95,29 @@
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
+ <Compile Include="AppShell.xaml.cs">
+ <DependentUpon>AppShell.xaml</DependentUpon>
+ </Compile>
<Compile Include="Common\RelayCommand.cs" />
- <Compile Include="Model\Class1.cs" />
+ <Compile Include="Controls\NavMenuListView.cs" />
+ <Compile Include="Model\NavMenuItem.cs" />
+ <Compile Include="Model\User.cs" />
<Compile Include="Persistency\Persistency.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="View\ApartmentPage.xaml.cs">
+ <DependentUpon>ApartmentPage.xaml</DependentUpon>
+ </Compile>
<Compile Include="View\LoginPage.xaml.cs">
<DependentUpon>LoginPage.xaml</DependentUpon>
</Compile>
+ <Compile Include="View\PersonalInfoPage.xaml.cs">
+ <DependentUpon>PersonalInfoPage.xaml</DependentUpon>
+ </Compile>
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
- <None Include="ApartmentManager_TemporaryKey.pfx" />
</ItemGroup>
<ItemGroup>
<Content Include="Properties\Default.rd.xml" />
@@ -124,10 +134,26 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
+ <Page Include="AppShell.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Page Include="Style\Styles.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Page Include="View\ApartmentPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="View\LoginPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="View\PersonalInfoPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
diff --git a/ApartmentManager/ApartmentManager/App.xaml b/ApartmentManager/ApartmentManager/App.xaml
index e4c9342..fc70d21 100644
--- a/ApartmentManager/ApartmentManager/App.xaml
+++ b/ApartmentManager/ApartmentManager/App.xaml
@@ -5,4 +5,13 @@
xmlns:local="using:ApartmentManager"
RequestedTheme="Light">
+ <Application.Resources>
+ <ResourceDictionary>
+
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/Style/Styles.xaml" />
+ </ResourceDictionary.MergedDictionaries>
+ </ResourceDictionary>
+ </Application.Resources>
+
</Application>
diff --git a/ApartmentManager/ApartmentManager/AppShell.xaml b/ApartmentManager/ApartmentManager/AppShell.xaml
new file mode 100644
index 0000000..e775b93
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/AppShell.xaml
@@ -0,0 +1,134 @@
+<Page x:Name="Root"
+ x:Class="ApartmentManager.AppShell"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:ApartmentManager"
+ xmlns:controls="using:ApartmentManager.Controls"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:model="using:ApartmentManager.Model"
+ xmlns:viewModel="using:ApartmentManager.ViewModel"
+ Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
+ TabNavigation="Cycle"
+ mc:Ignorable="d">
+
+ <!-- Using a Page as the root for the app provides a design time experience as well as ensures that
+ when it runs on Mobile the app content won't appear under the system's StatusBar which is visible
+ by default with a transparent background. It will also take into account the presence of software
+ navigation buttons if they appear on a device. An app can opt-out by switching to UseCoreWindow.
+ -->
+
+ <Page.Resources>
+ <DataTemplate x:Key="NavMenuItemTemplate" x:DataType="model:NavMenuItem" >
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="48" />
+ <ColumnDefinition />
+ </Grid.ColumnDefinitions>
+ <Rectangle x:Name="SelectedPipe"
+ Width="6"
+ Height="24"
+ Margin="-2,0,0,0"
+ Fill="DodgerBlue"
+ Visibility="{x:Bind SelectedVis, Mode=TwoWay}"
+ VerticalAlignment="Center"
+ HorizontalAlignment="Left"/>
+ <!-- Showing a ToolTip and the Label is redundant. We put the ToolTip on the icon.
+ It appears when the user hovers over the icon, but not the label which provides
+ value when the SplitView is 'Compact' while reducing the likelihood of showing
+ redundant information when the label is shown.-->
+ <FontIcon x:Name="Glyph" FontSize="16" Glyph="{x:Bind SymbolAsChar}" VerticalAlignment="Center" HorizontalAlignment="Center" ToolTipService.ToolTip="{x:Bind Label}"/>
+ <TextBlock x:Name="Text" Grid.Column="1" Text="{x:Bind Label}" Style="{StaticResource BodyTextBlockStyle}" TextWrapping="NoWrap" VerticalAlignment="Center"/>
+ </Grid>
+ </DataTemplate>
+
+ </Page.Resources>
+
+ <Grid x:Name="LayoutRoot">
+
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="48"/>
+ <ColumnDefinition/>
+ </Grid.ColumnDefinitions>
+
+ <Grid.RowDefinitions>
+ <RowDefinition Height="48"/>
+ <RowDefinition/>
+ </Grid.RowDefinitions>
+
+ <!-- Declared first for screen reader navigation order, ZIndex specified to have it rendered above everything else. -->
+ <ToggleButton x:Name="TogglePaneButton"
+ Canvas.ZIndex="100"
+ TabIndex="1"
+ Style="{StaticResource SplitViewTogglePaneButtonStyle}"
+ IsChecked="{Binding IsPaneOpen, ElementName=RootSplitView, Mode=TwoWay}"
+ ToolTipService.ToolTip="Navigation"/>
+
+ <Grid Grid.Column="1" Grid.Row="0" Background="White">
+
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="200"/>
+ </Grid.ColumnDefinitions>
+
+ <Image Grid.Column="0" Source="/Assets/Images/fvacanceslogo.png" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="200,5,0,5" Height="40" />
+ <StackPanel x:Name="StackPanel1" Grid.Column="1" Orientation="Horizontal">
+ <AppBarButton Icon="AddFriend" Label="Sign up" Style="{StaticResource SignButtonStyle}" Width="Auto"/>
+ <AppBarButton Icon="Contact" Label="Sign in" Style="{StaticResource SignButtonStyle}" Width="Auto"/>
+ </StackPanel>
+ <StackPanel x:Name="StackPanel2" Grid.Column="1" Orientation="Horizontal" Visibility="Collapsed">
+ <AppBarButton Icon="Contact" Label="My account" Style="{StaticResource SignButtonStyle}" Width="Auto"/>
+ <AppBarButton Icon="Sync" Label="Logout" Style="{StaticResource SignButtonStyle}" Width="Auto" Command="{Binding LogOutCommand}"/>
+ </StackPanel>
+ </Grid>
+
+ <!-- Top-level navigation menu + app content -->
+ <SplitView x:Name="RootSplitView"
+ Grid.Column="0"
+ Grid.ColumnSpan="2"
+ Grid.Row="1"
+ DisplayMode="CompactInline"
+ OpenPaneLength="200"
+ PaneBackground="{ThemeResource ApplicationPageBackgroundThemeBrush}"
+ IsTabStop="False">
+
+ <SplitView.Pane>
+ <Grid x:Name="PaneContentGrid">
+
+
+ <!-- A custom ListView to display the items in the pane. The automation Name is set in the ContainerContentChanging event. -->
+ <controls:NavMenuListView x:Name="NavMenuList"
+ TabIndex="3"
+ ItemContainerStyle="{StaticResource NavMenuItemContainerStyle}"
+ ItemTemplate="{StaticResource NavMenuItemTemplate}"
+ ItemInvoked="NavMenuList_ItemInvoked"/>
+ <controls:NavMenuListView x:Name="NavMenuList2"
+ TabIndex="3"
+ Margin="0"
+ ItemContainerStyle="{StaticResource NavMenuItemContainerStyle}"
+ ItemTemplate="{StaticResource NavMenuItemTemplate}"
+ ItemInvoked="NavMenuList_ItemInvoked"
+ VerticalAlignment="Bottom"/>
+
+ </Grid>
+ </SplitView.Pane>
+
+ <SplitView.Content>
+ <!-- OnNavigatingToPage we synchronize the selected item in the nav menu with the current page.-->
+ <Frame x:Name="Frame"
+ Margin="0,0,0,0"
+ Navigating="OnNavigatingToPage">
+ <Frame.ContentTransitions>
+ <TransitionCollection>
+ <NavigationThemeTransition>
+ <NavigationThemeTransition.DefaultNavigationTransitionInfo>
+ <EntranceNavigationTransitionInfo/>
+ </NavigationThemeTransition.DefaultNavigationTransitionInfo>
+ </NavigationThemeTransition>
+ </TransitionCollection>
+ </Frame.ContentTransitions>
+ </Frame>
+ </SplitView.Content>
+ </SplitView>
+ </Grid>
+</Page>
diff --git a/ApartmentManager/ApartmentManager/AppShell.xaml.cs b/ApartmentManager/ApartmentManager/AppShell.xaml.cs
new file mode 100644
index 0000000..0bd4f7f
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/AppShell.xaml.cs
@@ -0,0 +1,144 @@
+using ApartmentManager.Controls;
+using ApartmentManager.Model;
+using ApartmentManager.View;
+using System.Collections.Generic;
+using System.Linq;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Navigation;
+
+namespace ApartmentManager
+{
+ /// <summary>
+ /// The "chrome" layer of the app that provides top-level navigation with
+ /// proper keyboarding navigation.
+ /// </summary>
+ public sealed partial class AppShell : Page
+ {
+ // Declare the top level nav items
+ private List<NavMenuItem> navMenuItems = new List<NavMenuItem>(
+ new[]
+ {
+ new NavMenuItem()
+ {
+ Symbol = Symbol.Home,
+ Label = "Home",
+ DestPage = typeof(ApartmentPage),
+ IsSelected = true
+ }
+ });
+
+ public static AppShell Current = null;
+
+ /// <summary>
+ /// Initializes a new instance of the AppShell, sets the static 'Current' reference,
+ /// adds callbacks for Back requests and changes in the SplitView's DisplayMode, and
+ /// provide the nav menu list with the data to display.
+ /// </summary>
+ public AppShell()
+ {
+ InitializeComponent();
+
+ List<NavMenuItem> topNavMenuItems = navMenuItems.GetRange(0, 1);
+ // List<NavMenuItem> bottomNavMenuItems = navMenuItems.GetRange(3, 2);
+
+ NavMenuList.ItemsSource = topNavMenuItems;
+ // NavMenuList2.ItemsSource = bottomNavMenuItems;
+ }
+
+ public Frame AppFrame { get { return Frame; } }
+
+ #region Navigation
+
+ /// <summary>
+ /// Navigate to the Page for the selected <paramref name="listViewItem"/>.
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="listViewItem"></param>
+ private void NavMenuList_ItemInvoked(object sender, ListViewItem listViewItem)
+ {
+ foreach (var i in navMenuItems)
+ {
+ i.IsSelected = false;
+ }
+
+ var item = (NavMenuItem)((NavMenuListView)sender).ItemFromContainer(listViewItem);
+
+ if (item != null)
+ {
+ item.IsSelected = true;
+ if (item.DestPage != null &&
+ item.DestPage != AppFrame.CurrentSourcePageType)
+ {
+ AppFrame.Navigate(item.DestPage, item.Arguments);
+ }
+ }
+ }
+
+ /// <summary>
+ /// Ensures the nav menu reflects reality when navigation is triggered outside of
+ /// the nav menu buttons.
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void OnNavigatingToPage(object sender, NavigatingCancelEventArgs e)
+ {
+ if (e.NavigationMode == NavigationMode.Back)
+ {
+ var item = (from p in navMenuItems where p.DestPage == e.SourcePageType select p).SingleOrDefault();
+ if (item == null && AppFrame.BackStackDepth > 0)
+ {
+ // In cases where a page drills into sub-pages then we'll highlight the most recent
+ // navigation menu item that appears in the BackStack
+ foreach (var entry in this.AppFrame.BackStack.Reverse())
+ {
+ item = (from p in navMenuItems where p.DestPage == entry.SourcePageType select p).SingleOrDefault();
+ if (item != null)
+ break;
+ }
+ }
+
+ foreach (var i in navMenuItems)
+ {
+ i.IsSelected = false;
+ }
+ if (item != null)
+ {
+ item.IsSelected = true;
+ }
+
+ var container = (ListViewItem)NavMenuList.ContainerFromItem(item);
+
+ // While updating the selection state of the item prevent it from taking keyboard focus. If a
+ // user is invoking the back button via the keyboard causing the selected nav menu item to change
+ // then focus will remain on the back button.
+ if (container != null) container.IsTabStop = false;
+ NavMenuList.SetSelectedItem(container);
+ if (container != null) container.IsTabStop = true;
+ }
+ }
+
+ #endregion Navigation
+
+ /// <summary>
+ /// Public method to allow pages to open SplitView's pane.
+ /// Used for custom app shortcuts like navigating left from page's left-most item
+ /// </summary>
+ public void OpenNavePane()
+ {
+ TogglePaneButton.IsChecked = true;
+ }
+
+ public void MakeStackPanel1Visible()
+ {
+ StackPanel1.Visibility = Visibility.Visible;
+ StackPanel2.Visibility = Visibility.Collapsed;
+ }
+
+ public void MakeStackPanel2Visible()
+ {
+ StackPanel1.Visibility = Visibility.Collapsed;
+ StackPanel2.Visibility = Visibility.Visible;
+ }
+ }
+} \ No newline at end of file
diff --git a/ApartmentManager/ApartmentManager/Controls/NavMenuListView.cs b/ApartmentManager/ApartmentManager/Controls/NavMenuListView.cs
new file mode 100644
index 0000000..9591ad1
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Controls/NavMenuListView.cs
@@ -0,0 +1,120 @@
+using System;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Media.Animation;
+
+namespace ApartmentManager.Controls
+{
+ /// <summary>
+ /// A specialized ListView to represent the items in the navigation menu.
+ /// </summary>
+ /// <remarks>
+ /// This class handles the following:
+ /// 1. Sizes the panel that hosts the items so they fit in the hosting pane. Otherwise, the keyboard
+ /// may appear cut off on one side b/c the Pane clips instead of affecting layout.
+ /// 2. Provides a single selection experience where keyboard focus can move without changing selection.
+ /// Both the 'Space' and 'Enter' keys will trigger selection. The up/down arrow keys can move
+ /// keyboard focus without triggering selection. This is different than the default behavior when
+ /// SelectionMode == Single. The default behavior for a ListView in single selection requires using
+ /// the Ctrl + arrow key to move keyboard focus without triggering selection. Users won't expect
+ /// this type of keyboarding model on the nav menu.
+ /// </remarks>
+ public class NavMenuListView : ListView
+ {
+ private SplitView _splitViewHost;
+
+ public NavMenuListView()
+ {
+ SelectionMode = ListViewSelectionMode.Single;
+ IsItemClickEnabled = true;
+ ItemClick += ItemClickedHandler;
+
+ // Locate the hosting SplitView control
+ Loaded += (s, a) =>
+ {
+ var parent = VisualTreeHelper.GetParent(this);
+ while (parent != null && !(parent is SplitView))
+ {
+ parent = VisualTreeHelper.GetParent(parent);
+ }
+
+ if (parent != null)
+ {
+ _splitViewHost = parent as SplitView;
+ }
+ };
+ }
+
+ protected override void OnApplyTemplate()
+ {
+ base.OnApplyTemplate();
+
+ // Remove the entrance animation on the item containers.
+ for (int i = 0; i < ItemContainerTransitions.Count; i++)
+ {
+ if (ItemContainerTransitions[i] is EntranceThemeTransition)
+ {
+ ItemContainerTransitions.RemoveAt(i);
+ }
+ }
+ }
+
+ /// <summary>
+ /// Mark the <paramref name="item"/> as selected and ensures everything else is not.
+ /// If the <paramref name="item"/> is null then everything is unselected.
+ /// </summary>
+ /// <param name="item"></param>
+ public void SetSelectedItem(ListViewItem item)
+ {
+ int index = -1;
+ if (item != null)
+ {
+ index = IndexFromContainer(item);
+ }
+
+ for (int i = 0; i < Items.Count; i++)
+ {
+ var lvi = (ListViewItem)ContainerFromIndex(i);
+ if (i != index)
+ {
+ lvi.IsSelected = false;
+ }
+ else if (i == index)
+ {
+ lvi.IsSelected = true;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Occurs when an item has been selected
+ /// </summary>
+ public event EventHandler<ListViewItem> ItemInvoked;
+
+ private void ItemClickedHandler(object sender, ItemClickEventArgs e)
+ {
+ // Triggered when the item is selected using something other than a keyboard
+ var item = ContainerFromItem(e.ClickedItem);
+ InvokeItem(item);
+ }
+
+ private void InvokeItem(object focusedItem)
+ {
+ SetSelectedItem(focusedItem as ListViewItem);
+ ItemInvoked?.Invoke(this, focusedItem as ListViewItem);
+
+ if (_splitViewHost.IsPaneOpen && (
+ _splitViewHost.DisplayMode == SplitViewDisplayMode.CompactOverlay ||
+ _splitViewHost.DisplayMode == SplitViewDisplayMode.Overlay))
+ {
+ _splitViewHost.IsPaneOpen = false;
+ }
+
+ if (focusedItem is ListViewItem)
+ {
+ ((ListViewItem)focusedItem).Focus(FocusState.Programmatic);
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/ApartmentManager/ApartmentManager/Model/Class1.cs b/ApartmentManager/ApartmentManager/Model/Class1.cs
deleted file mode 100644
index 08e3d73..0000000
--- a/ApartmentManager/ApartmentManager/Model/Class1.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.Model
-{
- class Class1
- {
- }
-}
diff --git a/ApartmentManager/ApartmentManager/Model/NavMenuItem.cs b/ApartmentManager/ApartmentManager/Model/NavMenuItem.cs
new file mode 100644
index 0000000..d71d198
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Model/NavMenuItem.cs
@@ -0,0 +1,60 @@
+using System;
+using System.ComponentModel;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace ApartmentManager.Model
+{
+ /// <summary>
+ /// Data to represent an item in the nav menu.
+ /// </summary>
+ public class NavMenuItem : INotifyPropertyChanged
+ {
+ public string Label { get; set; }
+ public Symbol Symbol { get; set; }
+
+ public char SymbolAsChar
+ {
+ get
+ {
+ return (char)this.Symbol;
+ }
+ }
+
+ private bool _isSelected;
+
+ public bool IsSelected
+ {
+ get { return _isSelected; }
+ set
+ {
+ _isSelected = value;
+ SelectedVis = value ? Visibility.Visible : Visibility.Collapsed;
+ this.OnPropertyChanged("IsSelected");
+ }
+ }
+
+ private Visibility _selectedVis = Visibility.Collapsed;
+
+ public Visibility SelectedVis
+ {
+ get { return _selectedVis; }
+ set
+ {
+ _selectedVis = value;
+ this.OnPropertyChanged("SelectedVis");
+ }
+ }
+
+ public Type DestPage { get; set; }
+ public object Arguments { get; set; }
+
+ public event PropertyChangedEventHandler PropertyChanged = delegate { };
+
+ public void OnPropertyChanged(string propertyName)
+ {
+ // Raise the PropertyChanged event, passing the name of the property whose value has changed.
+ this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+} \ No newline at end of file
diff --git a/ApartmentManager/ApartmentManager/Model/User.cs b/ApartmentManager/ApartmentManager/Model/User.cs
new file mode 100644
index 0000000..280d959
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Model/User.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ApartmentManager.Model
+{
+ public class User
+ {
+ public string Name { get; set; }
+ public string LastName { get; set; }
+ public int Phone { get; set; }
+ public DateTime BirthDate { get; set; }
+ public string Email { get; set; }
+ public int ApartmentNr { get; set; }
+
+ public User() { }
+
+ public User(string Name, string LastName, int Phone, DateTime BirthDate, string Email, int ApartmentNr)
+ {
+ this.Name = Name;
+ this.LastName = LastName;
+ this.Phone = Phone;
+ this.BirthDate = BirthDate;
+ this.Email = Email;
+ this.ApartmentNr = ApartmentNr;
+
+ }
+
+ //public override string ToString()
+ //{
+ // return string.Format("Hotelno {0} Name {1} Address {2}", Hotel_No, Name, Address);
+ //}
+
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/Style/Styles.xaml b/ApartmentManager/ApartmentManager/Style/Styles.xaml
new file mode 100644
index 0000000..0b53355
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/Style/Styles.xaml
@@ -0,0 +1,557 @@
+<ResourceDictionary
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:interop="using:Windows.UI.Xaml.Interop"
+ xmlns:controls="using:FranceVacances.Controls">
+
+ <SolidColorBrush x:Key="SplitViewLightDismissOverlayBackground" Opacity="0.6" Color="{ThemeResource SystemChromeLowColor}"/>
+
+ <Style x:Key="SplitViewTogglePaneButtonStyle" TargetType="ToggleButton">
+ <Setter Property="FontSize" Value="16" />
+ <Setter Property="FontFamily" Value="{StaticResource SymbolThemeFontFamily}" />
+ <Setter Property="MinHeight" Value="48" />
+ <Setter Property="MinWidth" Value="48" />
+ <Setter Property="Margin" Value="0,0,0,0" />
+ <Setter Property="Padding" Value="0" />
+ <Setter Property="HorizontalAlignment" Value="Left" />
+ <Setter Property="VerticalAlignment" Value="Top" />
+ <Setter Property="HorizontalContentAlignment" Value="Center" />
+ <Setter Property="VerticalContentAlignment" Value="Center" />
+ <Setter Property="Background" Value="Transparent" />
+ <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" />
+ <Setter Property="Content" Value="&#xE700;" />
+ <Setter Property="AutomationProperties.Name" Value="Navigation" />
+ <Setter Property="UseSystemFocusVisuals" Value="True" />
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="ToggleButton">
+ <Grid x:Name="LayoutRoot"
+ Background="{TemplateBinding Background}">
+ <VisualStateManager.VisualStateGroups>
+ <VisualStateGroup x:Name="CommonStates">
+ <VisualState x:Name="Normal" />
+ <VisualState x:Name="PointerOver">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="(Grid.Background)">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Pressed">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="(Grid.Background)">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListMediumBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Disabled">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="(TextBlock.Foreground)">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Checked"/>
+ <VisualState x:Name="CheckedPointerOver">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="(Grid.Background)">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="CheckedPressed">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="(Grid.Background)">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListMediumBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="CheckedDisabled">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="(TextBlock.Foreground)">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ </VisualStateGroup>
+ </VisualStateManager.VisualStateGroups>
+ <ContentPresenter x:Name="ContentPresenter"
+ Content="{TemplateBinding Content}"
+ Margin="{TemplateBinding Padding}"
+ HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
+ VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
+ AutomationProperties.AccessibilityView="Raw" />
+ </Grid>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+
+ <Style x:Key="SplitViewPaneButtonStyle" TargetType="Button">
+ <Setter Property="Padding" Value="0"/>
+ <Setter Property="Background" Value="Transparent" />
+ <Setter Property="FontFamily" Value="{StaticResource SymbolThemeFontFamily}"/>
+ <Setter Property="FontSize" Value="16"/>
+ <Setter Property="MinHeight" Value="48" />
+ <Setter Property="MinWidth" Value="48" />
+ <Setter Property="HorizontalContentAlignment" Value="Center" />
+ <Setter Property="VerticalContentAlignment" Value="Center" />
+ <Setter Property="UseSystemFocusVisuals" Value="True"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="Button">
+ <Grid x:Name="RootGrid" Background="{TemplateBinding Background}">
+ <VisualStateManager.VisualStateGroups>
+ <VisualStateGroup x:Name="CommonStates">
+ <VisualState x:Name="Normal">
+ <Storyboard>
+ <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="PointerOver">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Pressed">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListMediumBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <PointerDownThemeAnimation Storyboard.TargetName="RootGrid"/>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Disabled">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="RootGrid">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ContentPresenter">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ </VisualStateGroup>
+ </VisualStateManager.VisualStateGroups>
+ <ContentPresenter x:Name="ContentPresenter"
+ AutomationProperties.AccessibilityView="Raw"
+ Padding="{TemplateBinding Padding}"
+ ContentTemplate="{TemplateBinding ContentTemplate}"
+ ContentTransitions="{TemplateBinding ContentTransitions}"
+ Content="{TemplateBinding Content}"
+ HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
+ VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </Grid>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+
+ <Style x:Key="NavMenuItemContainerStyle" TargetType="ListViewItem">
+ <Setter Property="MinWidth" Value="{StaticResource SplitViewCompactPaneThemeLength}"/>
+ <Setter Property="Height" Value="48"/>
+ <Setter Property="Padding" Value="0"/>
+ <Setter Property="UseSystemFocusVisuals" Value="True" />
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="ListViewItem">
+ <ListViewItemPresenter ContentTransitions="{TemplateBinding ContentTransitions}"
+ Control.IsTemplateFocusTarget="True"
+ SelectionCheckMarkVisualEnabled="False"
+ PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
+ SelectedBackground="Transparent"
+ SelectedForeground="{ThemeResource SystemControlForegroundAccentBrush}"
+ SelectedPointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
+ PressedBackground="{ThemeResource SystemControlHighlightListMediumBrush}"
+ SelectedPressedBackground="{ThemeResource SystemControlHighlightListMediumBrush}"
+ DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
+ HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
+ VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
+ ContentMargin="{TemplateBinding Padding}"/>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="SignButtonStyle" TargetType="AppBarButton">
+ <Setter Property="Background" Value="Transparent"/>
+ <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}"/>
+ <Setter Property="HorizontalAlignment" Value="Left"/>
+ <Setter Property="VerticalAlignment" Value="Top"/>
+ <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/>
+ <Setter Property="FontWeight" Value="Normal"/>
+ <Setter Property="Width" Value="68"/>
+ <Setter Property="Margin" Value="0,0,0,0"/>
+ <Setter Property="UseSystemFocusVisuals" Value="True"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="AppBarButton">
+ <Grid x:Name="Root" Background="{TemplateBinding Background}" MaxWidth="{TemplateBinding MaxWidth}" MinWidth="{TemplateBinding MinWidth}">
+ <VisualStateManager.VisualStateGroups>
+ <VisualStateGroup x:Name="ApplicationViewStates">
+ <VisualState x:Name="FullSize"/>
+ <VisualState x:Name="Compact">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="TextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Overflow">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="ContentRoot">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="OverflowTextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="OverflowWithToggleButtons">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="ContentRoot">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="OverflowTextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="OverflowTextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="38,0,12,0"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ </VisualStateGroup>
+ <VisualStateGroup x:Name="CommonStates">
+ <VisualState x:Name="Normal">
+ <Storyboard>
+ <PointerUpThemeAnimation Storyboard.TargetName="OverflowTextLabel"/>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="PointerOver">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="Root">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="Content">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="TextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="OverflowTextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <PointerUpThemeAnimation Storyboard.TargetName="OverflowTextLabel"/>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Pressed">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="Root">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListMediumBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="Content">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="TextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="OverflowTextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltBaseHighBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <PointerDownThemeAnimation Storyboard.TargetName="OverflowTextLabel"/>
+ </Storyboard>
+ </VisualState>
+ <VisualState x:Name="Disabled">
+ <Storyboard>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="Content">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="TextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="OverflowTextLabel">
+ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}"/>
+ </ObjectAnimationUsingKeyFrames>
+ </Storyboard>
+ </VisualState>
+ </VisualStateGroup>
+ <VisualStateGroup x:Name="InputModeStates">
+ <VisualState x:Name="InputModeDefault"/>
+ <VisualState x:Name="TouchInputMode">
+ <VisualState.Setters>
+ <Setter Target="OverflowTextLabel.Padding" Value="0,11,0,13"/>
+ </VisualState.Setters>
+ </VisualState>
+ </VisualStateGroup>
+ </VisualStateManager.VisualStateGroups>
+ <StackPanel x:Name="ContentRoot" MinHeight="{ThemeResource AppBarThemeCompactHeight}" Orientation="Horizontal" Padding="15,0,5,0" MinWidth="100">
+ <ContentPresenter x:Name="Content" AutomationProperties.AccessibilityView="Raw" Content="{TemplateBinding Icon}" Foreground="{TemplateBinding Foreground}" Height="20" Margin="0"/>
+ <TextBlock x:Name="TextLabel" Foreground="{TemplateBinding Foreground}" FontSize="12" FontFamily="{TemplateBinding FontFamily}" TextAlignment="Center" TextWrapping="Wrap" Text="{TemplateBinding Label}" VerticalAlignment="Center" Margin="5,0,0,0"/>
+ </StackPanel>
+ <TextBlock x:Name="OverflowTextLabel" Foreground="{TemplateBinding Foreground}" FontSize="15" FontFamily="{TemplateBinding FontFamily}" HorizontalAlignment="Stretch" Margin="12,0,12,0" Padding="0,5,0,7" TextAlignment="Left" TextWrapping="NoWrap" Text="{TemplateBinding Label}" TextTrimming="Clip" Visibility="Collapsed" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+
+
+
+ <!-- Grid Styles -->
+
+ <!-- Background -->
+ <ImageBrush x:Name="BackgroundPicture" ImageSource="../Assets/Images/BackgroundImages/parryPeak.jpg"/>
+ <Style x:Name="GridBackground" TargetType="Grid">
+ <Setter Property="Background" Value="{StaticResource BackgroundPicture}"/>
+ </Style>
+
+ <!-- Category Background -->
+ <Style x:Key="CategoryBackgroundStyle" TargetType="Image">
+ <Setter Property="Grid.RowSpan" Value="3"/>
+ <Setter Property="Canvas.ZIndex" Value="-1"/>
+ <Setter Property="Stretch" Value="UniformToFill"/>
+ </Style>
+
+ <!-- Border Grid -->
+ <Style x:Name="BorderGridStyle" TargetType="Grid">
+ <Setter Property="BorderThickness" Value="2"/>
+ <Setter Property="BorderBrush" Value="#CCFFFFFF"/>
+ <Setter Property="Background" Value="DodgerBlue"/>
+ </Style>
+
+ <!-- Login Grid -->
+ <Style x:Name="LoginGrid" TargetType="Grid" BasedOn="{StaticResource BorderGridStyle}" >
+ <Setter Property="VerticalAlignment" Value="Center"/>
+ <Setter Property="HorizontalAlignment" Value="Center"/>
+ <Setter Property="Width" Value="400"/>
+ <Setter Property="Height" Value="250"/>
+ </Style>
+
+ <!-- Create User Grid -->
+ <Style x:Name="CreateUserGrid" TargetType="Grid" BasedOn="{StaticResource BorderGridStyle}">
+ <Setter Property="VerticalAlignment" Value="Center"/>
+ <Setter Property="HorizontalAlignment" Value="Center"/>
+ <Setter Property="MinWidth" Value="400"/>
+ <Setter Property="Width" Value="600"/>
+ <Setter Property="Height" Value="950"/>
+ </Style>
+
+ <!-- Category Grid -->
+ <Style x:Key="CategoryGridStyle" TargetType="Grid">
+ <Setter Property="BorderThickness" Value="1,0,1,1"/>
+ <Setter Property="BorderBrush" Value="White"/>
+ </Style>
+
+ <!-- /Grid Styles -->
+
+ <!-- Stackpanel Styles -->
+
+ <!-- Login Stackpanel -->
+ <Style x:Name="LoginStackpanel" TargetType="StackPanel">
+ <Setter Property="VerticalAlignment" Value="Center"/>
+ <Setter Property="HorizontalAlignment" Value="Center"/>
+ <Setter Property="Margin" Value="0,0,0,40"/>
+ <Setter Property="Width" Value="400"/>
+ </Style>
+
+ <!-- Create User Stackpanel Left -->
+
+ <Style x:Name="CreateUserStackpanelLeft" TargetType="StackPanel">
+ <Setter Property="HorizontalAlignment" Value="Stretch"/>
+ <Setter Property="Margin" Value="10"/>
+ </Style>
+
+ <!-- Create User Stackpanel Right -->
+
+ <Style x:Name="CreateUserStackpanelRight" TargetType="StackPanel">
+ <Setter Property="Margin" Value="10,45,10,10"/>
+ </Style>
+
+ <!-- /Stackpanel Styles -->
+
+
+ <!-- Font Types for TextBlocks -->
+
+ <Style x:Name="ContentFontStyle" TargetType="TextBlock">
+ <Setter Property="FontFamily" Value="Segoe UI"/>
+ </Style>
+
+ <!-- /Font Types TextBlocks -->
+
+
+ <!-- TextBlock Styles -->
+
+ <!-- FontStyle for Create User TextBlocks -->
+ <Style x:Name="CreateUserFontStyle" TargetType="TextBlock" BasedOn="{StaticResource ContentFontStyle}">
+ <Setter Property="Foreground" Value="GhostWhite"/>
+ <Setter Property="Margin" Value="5,10,0,0"/>
+ </Style>
+
+ <!-- FontStyle for Error TextBlocks -->
+
+ <Style x:Name="ErrorTextFontStyle" TargetType="TextBlock" BasedOn="{StaticResource ContentFontStyle}">
+ <Setter Property="VerticalAlignment" Value="Top"/>
+ <Setter Property="TextWrapping" Value="Wrap"/>
+ <Setter Property="Foreground" Value="Gold"/>
+ <Setter Property="Margin" Value="0,0,0,42"/>
+ </Style>
+
+ <!-- FontStyle for Headline Basic Textblocks -->
+
+ <Style x:Name="HeadlineBasicFontStyle" TargetType="TextBlock" BasedOn="{StaticResource ContentFontStyle}">
+ <Setter Property="FontSize" Value="32"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="FontWeight" Value="Bold"/>
+ <Setter Property="Height" Value="43"/>
+ </Style>
+
+ <!-- FontStyle for Headline Login Textblock -->
+
+ <Style x:Name="LoginHeadlineStyle" TargetType="TextBlock" BasedOn="{StaticResource HeadlineBasicFontStyle}">
+ <Setter Property="VerticalAlignment" Value="Top"/>
+ <Setter Property="HorizontalAlignment" Value="Center"/>
+ <Setter Property="Margin" Value="0,10,0,0"/>
+ </Style>
+
+ <!-- FontStyle for Headline Create User Textblock -->
+
+ <Style x:Name="CreateUserHeadlineStyle" TargetType="TextBlock" BasedOn="{StaticResource HeadlineBasicFontStyle}">
+ <Setter Property="VerticalAlignment" Value="Center"/>
+ <Setter Property="HorizontalAlignment" Value="Center"/>
+ <Setter Property="Width" Value="173"/>
+ </Style>
+
+ <!-- FontStyle for Login Error Textblock -->
+ <Style x:Name="LoginErrorTextBlockStyle" TargetType="TextBlock" BasedOn="{StaticResource ContentFontStyle}">
+ <Setter Property="VerticalAlignment" Value="Top"/>
+ <Setter Property="HorizontalAlignment" Value="Center"/>
+ <Setter Property="Foreground" Value="Gold"/>
+ <Setter Property="Margin" Value="0,0,0,10"/>
+ </Style>
+
+ <!-- Category Label Textblock Style -->
+ <Style x:Key="CategoryLabelStyle" TargetType="TextBlock">
+ <Setter Property="Grid.Row" Value="0"/>
+ <Setter Property="FontFamily" Value="/Assets/Fonts/BreeSerif.ttf#Bree Serif"/>
+ <Setter Property="FontSize" Value="36"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="CharacterSpacing" Value="75"/>
+ <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
+ <Setter Property="TextLineBounds" Value="TrimToCapHeight"/>
+ <Setter Property="Margin" Value="10,0,0,0"/>
+ <Setter Property="VerticalAlignment" Value="Bottom"/>
+ </Style>
+
+ <!-- Category Description Textblock Style -->
+ <Style x:Key="CategoryDescriptionStyle" TargetType="TextBlock">
+ <Setter Property="Grid.Row" Value="1"/>
+ <Setter Property="FontSize" Value="20"/>
+ <Setter Property="Foreground" Value="White"/>
+ <Setter Property="Margin" Value="10,0,20,0"/>
+ <Setter Property="TextWrapping" Value="WrapWholeWords"/>
+ </Style>
+
+ <!-- /TextBlock Styles -->
+
+ <!-- TextBox and PasswordBox Styles -->
+
+ <!-- Create User TextBox Style -->
+ <Style x:Name="CreateUserTextBoxStyle" TargetType="TextBox">
+ <Setter Property="BorderBrush" Value="#CCFFFFFF"/>
+ </Style>
+
+ <!-- Password Standard Style -->
+ <Style x:Name="PasswordStandardStyle" TargetType="PasswordBox">
+ <Setter Property="BorderBrush" Value="#CCFFFFFF"/>
+ </Style>
+
+ <!-- PasswordBox Login Style -->
+ <Style x:Name="PasswordLoginStyle" TargetType="PasswordBox" BasedOn="{StaticResource PasswordStandardStyle}">
+ <Setter Property="Width" Value="180"/>
+ <Setter Property="Margin" Value="0,10,0,0"/>
+ </Style>
+
+ <!-- PasswordBox Create User Style -->
+ <Style x:Name="CreateUserPasswordBoxStyle" TargetType="PasswordBox" BasedOn="{StaticResource PasswordStandardStyle}">
+ </Style>
+
+ <!-- Login TextBox Style -->
+ <Style x:Name="LoginTextBoxStyle" TargetType="TextBox">
+ <Setter Property="Width" Value="180"/>
+ <Setter Property="Margin" Value="0,10,0,0"/>
+ <Setter Property="BorderBrush" Value="#CCFFFFFF"/>
+ </Style>
+
+ <!-- /TextBox and PasswordBox Style -->
+
+ <!-- Button Styles -->
+
+ <!-- Standard Button Style-->
+ <Style x:Name="StandardButtonStyle" TargetType="Button">
+ <Setter Property="BorderBrush" Value="#CCFFFFFF"/>
+ <Setter Property="Background" Value="Gold"/>
+ <Setter Property="Height" Value="50"/>
+ <Setter Property="FontSize" Value="20"/>
+ <Setter Property="FontWeight" Value="Bold"/>
+ </Style>
+
+ <!-- Register Here Button Style -->
+ <Style x:Name="RegisterHereButtonStyle" TargetType="Button">
+ <Setter Property="VerticalAlignment" Value="Bottom"/>
+ <Setter Property="HorizontalAlignment" Value="Left"/>
+ <Setter Property="Margin" Value="0,0,0,5"/>
+ <Setter Property="Background" Value="Transparent"/>
+ <Setter Property="Foreground" Value="Transparent"/>
+ <Setter Property="BorderBrush" Value="Transparent"/>
+ <Setter Property="BorderThickness" Value="0"/>
+ </Style>
+
+ <!-- Login Button Style -->
+ <Style x:Name="LoginButton" TargetType="Button" BasedOn="{StaticResource StandardButtonStyle}">
+ <Setter Property="VerticalAlignment" Value="Bottom"/>
+ <Setter Property="HorizontalAlignment" Value="Right"/>
+ <Setter Property="Width" Value="120"/>
+ <Setter Property="Margin" Value="0,0,10,10"/>
+ </Style>
+
+ <!-- Create User Button Style -->
+ <Style x:Name="CreateButtonStyle" TargetType="Button" BasedOn="{StaticResource StandardButtonStyle}">
+ <Setter Property="VerticalAlignment" Value="Bottom"/>
+ <Setter Property="HorizontalAlignment" Value="Center"/>
+ <Setter Property="Width" Value="250"/>
+ <Setter Property="Margin" Value="20,100,10,10"/>
+ </Style>
+
+
+ <!-- /Button Styles -->
+
+ <!-- ListViewItem Styles -->
+
+ <!-- Location ListViewItem Style -->
+ <Style x:Key="LocationStyle" TargetType="ListViewItem">
+ <Setter Property="FontFamily" Value="/Assets/Fonts/BreeSerif.ttf#Bree Serif"/>
+ <Setter Property="FontSize" Value="24"/>
+ <Setter Property="Foreground" Value="White"/>
+ </Style>
+
+ <!-- /Listview Item Styles -->
+
+
+</ResourceDictionary>
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml
new file mode 100644
index 0000000..c2a3594
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml
@@ -0,0 +1,29 @@
+<Page
+ x:Class="ApartmentManager.View.ApartmentPage"
+ 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"
+ mc:Ignorable="d">
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Width="1000" Margin="50" >
+ <StackPanel Width="600" Height="200" VerticalAlignment="Top" HorizontalAlignment="Left">
+ <TextBlock Text="Apartment Address :" FontSize="20" ></TextBlock>
+ <TextBlock Text="Floor :" FontSize="20"></TextBlock>
+ <TextBlock Text="Apartment Number :" FontSize="20"></TextBlock>
+ <TextBlock Text="Size :" FontSize="20"></TextBlock>
+ <TextBlock Text="Number of Rooms :" FontSize="20"></TextBlock>
+ <TextBlock Text="Monthly Charge:" FontSize="20"></TextBlock>
+ </StackPanel>
+ <StackPanel Width="400" Height="300" VerticalAlignment="Top" HorizontalAlignment="Right">
+ <Button Margin="0,10,0,10" Content="Apartment Plan" HorizontalAlignment="Stretch" Click="click"/>
+ <Button Margin="0,10,0,10" Content="Personal Info" HorizontalAlignment="Stretch" Click="GotoPernalInfoPage"></Button>
+ <Button Margin="0,10,0,10" Content="Residents" HorizontalAlignment="Stretch"></Button>
+ <Button Margin="0,10,0,10" Content="Apartment Changes" HorizontalAlignment="Stretch"></Button>
+ <Button Margin="0,10,0,10" Content="Apartment Defects" HorizontalAlignment="Stretch"></Button>
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+</Page>
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs b/ApartmentManager/ApartmentManager/View/ApartmentPage.xaml.cs
new file mode 100644
index 0000000..f977517
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentPage.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 ApartmentPage : Page
+ {
+ public ApartmentPage()
+ {
+ this.InitializeComponent();
+ }
+
+ private void click(object sender, RoutedEventArgs e)
+ {
+
+ }
+
+ private void GotoPernalInfoPage(object sender, RoutedEventArgs e)
+ {
+ Frame.Navigate(typeof(PersonalInfoPage));
+ }
+ }
+}
diff --git a/ApartmentManager/ApartmentManager/View/ApartmentPlanPage.xaml b/ApartmentManager/ApartmentManager/View/ApartmentPlanPage.xaml
new file mode 100644
index 0000000..4f8b466
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/ApartmentPlanPage.xaml
@@ -0,0 +1,22 @@
+<Page
+ x:Class="ApartmentManager.View.ApartmentPlanPage"
+ 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"
+ mc:Ignorable="d">
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ <StackPanel Orientation="Horizontal" Margin="50" VerticalAlignment="Center" HorizontalAlignment="Center" >
+ <Button Background="{x:Null}" Margin="20,0,20,0" >
+ <SymbolIcon Symbol="Back" ></SymbolIcon>
+ </Button>
+ <Image Height="500" Width="1000" />
+ <Button Background="{x:Null}" Margin="20,0,20,0" >
+ <SymbolIcon Symbol="Forward" ></SymbolIcon>
+ </Button>
+ </StackPanel>
+ </Grid>
+
+</Page>
diff --git a/ApartmentManager/ApartmentManager/View/LoginPage.xaml b/ApartmentManager/ApartmentManager/View/LoginPage.xaml
index a3b3111..80071d1 100644
--- a/ApartmentManager/ApartmentManager/View/LoginPage.xaml
+++ b/ApartmentManager/ApartmentManager/View/LoginPage.xaml
@@ -8,8 +8,12 @@
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
- <StackPanel>
- <TextBox Text="weqwe"></TextBox>
- </StackPanel>
+ <StackPanel Height="200" Width="300">
+ <TextBlock Margin="0,10,0,10" Text="User Name"></TextBlock>
+ <TextBox ></TextBox>
+ <TextBlock Margin="0,10,0,10" Text="Password"></TextBlock>
+ <TextBox ></TextBox>
+ <Button Margin="0,10,0,10" Content="Log In" HorizontalAlignment="Stretch" Click="click"></Button>
+ </StackPanel>
</Grid>
</Page>
diff --git a/ApartmentManager/ApartmentManager/View/LoginPage.xaml.cs b/ApartmentManager/ApartmentManager/View/LoginPage.xaml.cs
index 246ec8e..6f3a86b 100644
--- a/ApartmentManager/ApartmentManager/View/LoginPage.xaml.cs
+++ b/ApartmentManager/ApartmentManager/View/LoginPage.xaml.cs
@@ -26,5 +26,35 @@ namespace ApartmentManager.View
{
this.InitializeComponent();
}
+
+ private void click(object sender, RoutedEventArgs e)
+ {
+ AppShell appShell = Window.Current.Content as AppShell;
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active
+ if (appShell == null)
+ {
+ // Create a AppShell to act as the navigation context and navigate to the first page
+ appShell = new AppShell();
+
+ // Set the default language
+ appShell.Language = Windows.Globalization.ApplicationLanguages.Languages[0];
+
+ }
+
+ // Place our app shell in the current Window
+ Window.Current.Content = appShell;
+
+ if (appShell.AppFrame.Content == null)
+ {
+ // When the navigation stack isn't restored, navigate to the first page
+ // suppressing the initial entrance animation.
+ appShell.AppFrame.Navigate(typeof(ApartmentPage));
+ }
+
+ // Ensure the current window is active
+ Window.Current.Activate();
+ }
}
}
diff --git a/ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml b/ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml
new file mode 100644
index 0000000..5e84fcf
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml
@@ -0,0 +1,27 @@
+<Page
+ x:Class="ApartmentManager.View.PersonalInfoPage"
+ 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"
+ mc:Ignorable="d">
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ <StackPanel Margin="50">
+ <StackPanel Width="400">
+ <TextBlock Margin="0,10,0,10" Text="Name"></TextBlock>
+ <TextBox ></TextBox>
+ <TextBlock Margin="0,10,0,10" Text="Last Name"></TextBlock>
+ <TextBox ></TextBox>
+ <TextBlock Margin="0,10,0,10" Text="Birthdate"></TextBlock>
+ <DatePicker HorizontalAlignment="Stretch"></DatePicker>
+ <TextBlock Margin="0,10,0,10" Text="Email Address"></TextBlock>
+ <TextBox ></TextBox>
+ <TextBlock Margin="0,10,0,10" Text="Phone Number"></TextBlock>
+ <TextBox ></TextBox>
+ <Button Margin="0,10,0,10" Content="Update" HorizontalAlignment="Stretch"></Button>
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+</Page>
diff --git a/ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml.cs b/ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml.cs
new file mode 100644
index 0000000..984e8af
--- /dev/null
+++ b/ApartmentManager/ApartmentManager/View/PersonalInfoPage.xaml.cs
@@ -0,0 +1,30 @@
+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 PersonalInfoPage : Page
+ {
+ public PersonalInfoPage()
+ {
+ this.InitializeComponent();
+ }
+ }
+}
diff --git a/HousingDatabase.ldf b/HousingDatabase.ldf
index 3a1f536..12dcf09 100644
--- a/HousingDatabase.ldf
+++ b/HousingDatabase.ldf
Binary files differ
diff --git a/HousingDatabase.mdf b/HousingDatabase.mdf
index 991099d..25f4551 100644
--- a/HousingDatabase.mdf
+++ b/HousingDatabase.mdf
Binary files differ