diff options
author | marcinzelent <marcin@zelent.net> | 2017-02-04 17:46:03 +0100 |
---|---|---|
committer | marcinzelent <marcin@zelent.net> | 2017-02-04 17:46:03 +0100 |
commit | 1d65134c461d6648b5556847565d37f898db5ad0 (patch) | |
tree | d9ecabc0fb0d2e79ac57f176e152dfcb5802178c /France_Vacances/France_Vacances/View | |
parent | ffbe744e0807d0d70d31220fece2a034e56509cf (diff) |
Repo copy.
Diffstat (limited to 'France_Vacances/France_Vacances/View')
18 files changed, 1194 insertions, 0 deletions
diff --git a/France_Vacances/France_Vacances/View/AboutView.xaml b/France_Vacances/France_Vacances/View/AboutView.xaml new file mode 100644 index 0000000..7622227 --- /dev/null +++ b/France_Vacances/France_Vacances/View/AboutView.xaml @@ -0,0 +1,23 @@ +<Page + x:Class="France_Vacances.View.AboutView" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:France_Vacances.View" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d"> + + <Grid Background="LightGray"> + <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> + <TextBlock Text="Group 3D Members" FontSize="40" FontWeight="Bold"> </TextBlock> + <TextBlock Text="Donatas Adamonis" FontSize="20" HorizontalAlignment="Center"></TextBlock> + <TextBlock Text="Marcin Zelent" FontSize="20" HorizontalAlignment="Center"></TextBlock> + <TextBlock Text="Simonas Valaitis" FontSize="20" HorizontalAlignment="Center"></TextBlock> + <TextBlock Text="Mikkel Frederiksen" FontSize="20" HorizontalAlignment="Center"></TextBlock> + <TextBlock Text="Rasmus Overbye" FontSize="20" HorizontalAlignment="Center"></TextBlock> + + + + </StackPanel> + </Grid> +</Page> diff --git a/France_Vacances/France_Vacances/View/AboutView.xaml.cs b/France_Vacances/France_Vacances/View/AboutView.xaml.cs new file mode 100644 index 0000000..2fea334 --- /dev/null +++ b/France_Vacances/France_Vacances/View/AboutView.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 http://go.microsoft.com/fwlink/?LinkId=234238 + +namespace France_Vacances.View +{ + /// <summary> + /// An empty page that can be used on its own or navigated to within a Frame. + /// </summary> + public sealed partial class AboutView : Page + { + public AboutView() + { + this.InitializeComponent(); + } + } +} diff --git a/France_Vacances/France_Vacances/View/AccommodationView.xaml b/France_Vacances/France_Vacances/View/AccommodationView.xaml new file mode 100644 index 0000000..4d9629d --- /dev/null +++ b/France_Vacances/France_Vacances/View/AccommodationView.xaml @@ -0,0 +1,123 @@ +<Page + x:Class="France_Vacances.View.AccommodationView" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:France_Vacances.View" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:viewModel="using:France_Vacances.ViewModel" + mc:Ignorable="d"> + + <ScrollViewer> + <Grid Background="GhostWhite" Padding="100,10"> + <Grid.DataContext> + <viewModel:AccommodationViewModel/> + </Grid.DataContext> + <Grid.ColumnDefinitions> + <ColumnDefinition/> + <ColumnDefinition Width="250"/> + </Grid.ColumnDefinitions> + + <Grid.RowDefinitions> + <RowDefinition Height="100"/> + <RowDefinition Height="400"/> + <RowDefinition/> + </Grid.RowDefinitions> + + <StackPanel Grid.Column="0" Grid.Row="0"> + <StackPanel Orientation="Horizontal"> + <TextBlock Text="{Binding DisplayedAccommodationModel.Name}" FontSize="28"/> + <TextBlock Text="{Binding DisplayedAccommodationModel.Stars}" VerticalAlignment="Center" Margin="10,0,0,0" Foreground="DodgerBlue"/> + </StackPanel> + <TextBlock Margin="10,0,0,0" Foreground="DimGray" > + <Run Text="{Binding DisplayedAccommodationModel.StreetName}"></Run> + <Run Text=","></Run> + <Run Text="{Binding DisplayedAccommodationModel.PostalCode}"></Run> + <Run Text="{Binding DisplayedAccommodationModel.City}"></Run> + <Run Text=","></Run> + <Run Text="{Binding DisplayedAccommodationModel.Region}"></Run> + </TextBlock> + </StackPanel> + <StackPanel Grid.Column="1" Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center"> + <TextBlock Text="Rating: " FontSize="30" VerticalAlignment="Bottom" Margin="0,0,10,5"/> + <TextBlock Text="{Binding DisplayedAccommodationModel.ReviewScore}" FontSize="50"/> + </StackPanel> + <Grid x:Name="ImageViewer" Grid.Column="0" Grid.Row="1"> + <Grid.Background> + <ImageBrush x:Name="ImageViewerBackground" ImageSource="{Binding DisplayedAccommodationModel.Images[0]}" Stretch="Uniform"/> + </Grid.Background> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="50"/> + <ColumnDefinition/> + <ColumnDefinition Width="50"/> + </Grid.ColumnDefinitions> + <Button Grid.Column="0" Content="<" Background="Transparent" FontSize="48" Click="PreviousImage" HorizontalAlignment="Right"/> + <Button Grid.Column="2" Content=">" Background="Transparent" FontSize="48" Click="NextImage"/> + </Grid> + <Grid Grid.Column="1" Grid.Row="1" Background="DodgerBlue" Margin="0,10" Padding="20" CornerRadius="10"> + + <Grid.RowDefinitions> + <RowDefinition Height="40"/> + <RowDefinition Height="60"/> + <RowDefinition Height="60"/> + <RowDefinition Height="70"/> + <RowDefinition/> + </Grid.RowDefinitions> + + <StackPanel Grid.Row="0" Orientation="Horizontal"> + <TextBlock Text="Price per night:" Foreground="White" FontSize="16" VerticalAlignment="Bottom" TextLineBounds="Tight" Margin="0,0,0,10"/> + <TextBlock Foreground="White" FontWeight="Bold" FontSize="20" VerticalAlignment="Bottom" TextLineBounds="Tight" Margin="10,0,0,10"> + <Run Text="{Binding DisplayedAccommodationModel.Price}"></Run> + <Run Text="€"></Run> + </TextBlock> + </StackPanel> + <StackPanel Grid.Row="1"> + <TextBlock Text="From:" FontSize="16" Foreground="White" VerticalAlignment="Center"/> + <CalendarDatePicker Date="{Binding StartDateTime, Mode=TwoWay}" HorizontalAlignment="Stretch" /> + </StackPanel> + <StackPanel Grid.Row="2"> + <TextBlock Text="To:" FontSize="16" Foreground="White" VerticalAlignment="Center"/> + <CalendarDatePicker Date="{Binding EndDateTime, Mode=TwoWay}" HorizontalAlignment="Stretch" /> + </StackPanel> + <StackPanel Grid.Row="3"> + <TextBlock Text="Overall price:" FontSize="16" Foreground="White" VerticalAlignment="Center"/> + <TextBlock Foreground="White" FontSize="36" FontWeight="Bold"><Run Text="{Binding OverallPrice, Mode=TwoWay}"/> €</TextBlock> + </StackPanel> + <Button Grid.Row="4" Width="150" Height="50" Background="Gold" HorizontalAlignment="Center" Command="{Binding GetBookingInfoCommand}" Click="GoToBookingView"> + <Button.Content> + <TextBlock Text="Book" FontWeight="Bold"/> + </Button.Content> + </Button> + </Grid> + <TextBlock Grid.Column="0" Grid.Row="2" Margin="5,20,5,5" Text="{Binding DisplayedAccommodationModel.Description}" TextWrapping="WrapWholeWords"/> + + <Grid Grid.Column="1" Grid.Row="2" Margin="0,20,0,0"> + <Grid.RowDefinitions> + <RowDefinition Height="47"/> + <RowDefinition Height="20"/> + <RowDefinition/> + </Grid.RowDefinitions> + + <StackPanel> + <TextBlock> + <Run Text="Rooms: " FontWeight="Bold"/> + <Run Text="{Binding DisplayedAccommodationModel.Rooms}"></Run> + </TextBlock> + <TextBlock> + <Run Text="Persons: " FontWeight="Bold"/> + <Run Text="{Binding DisplayedAccommodationModel.Persons}"></Run> + </TextBlock> + </StackPanel> + <TextBlock Grid.Row="1" Text="Facilities:" FontWeight="Bold"/> + <ListView Grid.Row="2" ItemsSource="{Binding DisplayedAccommodationModel.Facilities}"> + <ListView.ItemContainerStyle> + <Style TargetType="ListViewItem"> + <Setter Property="IsHitTestVisible" Value="false"/> + </Style> + </ListView.ItemContainerStyle > + + </ListView> + </Grid> + </Grid> + </ScrollViewer> +</Page>
\ No newline at end of file diff --git a/France_Vacances/France_Vacances/View/AccommodationView.xaml.cs b/France_Vacances/France_Vacances/View/AccommodationView.xaml.cs new file mode 100644 index 0000000..7207783 --- /dev/null +++ b/France_Vacances/France_Vacances/View/AccommodationView.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; + +// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 + +namespace France_Vacances.View +{ + /// <summary> + /// An empty page that can be used on its own or navigated to within a Frame. + /// </summary> + public sealed partial class AccommodationView : Page + { + private int i=0; + public AccommodationView() + { + this.InitializeComponent(); + } + + private void GoToBookingView(object sender, RoutedEventArgs e) + { + Frame.Navigate(typeof(BookingView)); + } + + private void PreviousImage(object sender, RoutedEventArgs e) + { + if(i!=0) i--; + Binding myBinding = new Binding(); + myBinding.Path = new PropertyPath("DisplayedAccommodationModel.Images" + "[" + i + "]"); + BindingOperations.SetBinding(ImageViewerBackground, ImageBrush.ImageSourceProperty, myBinding); + } + private void NextImage(object sender, RoutedEventArgs e) + { + if(i!=4)i++; + Binding myBinding = new Binding(); + myBinding.Path = new PropertyPath("DisplayedAccommodationModel.Images" + "[" + i + "]"); + BindingOperations.SetBinding(ImageViewerBackground,ImageBrush.ImageSourceProperty,myBinding); + } + } +} diff --git a/France_Vacances/France_Vacances/View/BookingView.xaml b/France_Vacances/France_Vacances/View/BookingView.xaml new file mode 100644 index 0000000..7cb6015 --- /dev/null +++ b/France_Vacances/France_Vacances/View/BookingView.xaml @@ -0,0 +1,99 @@ +<Page + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:France_Vacances.View" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:viewModel="using:France_Vacances.ViewModel" + x:Class="France_Vacances.View.BookingView" + mc:Ignorable="d"> + + <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + <Grid.DataContext> + <viewModel:CreateUserViewModel/> + </Grid.DataContext> + <!-- Background Image Grid --> + <Grid Style="{StaticResource GridBackground}"> + <ScrollViewer> + <Grid Background="Transparent"> + + <Grid Background="DodgerBlue" BorderBrush="#CCFFFFFF" MinWidth="400" BorderThickness="2" HorizontalAlignment="Center" VerticalAlignment="Center"> + <Grid.RowDefinitions> + <RowDefinition /> + <RowDefinition /> + </Grid.RowDefinitions> + <TextBlock FontSize="32" Foreground="White" Text="Booking" VerticalAlignment="Center" HorizontalAlignment="Center" FontWeight="Bold" Height="43" Width="173" Margin="0,20,0,0"/> + <Grid Grid.Row="1" Margin="0,0,0,100"> + + <Grid.ColumnDefinitions> + + <ColumnDefinition Width="350"/> + <ColumnDefinition Width="500"/> + </Grid.ColumnDefinitions> + <Grid Grid.Column="1"> + <Grid.DataContext> + <viewModel:AccommodationViewModel/> + </Grid.DataContext> + <Grid.RowDefinitions> + <RowDefinition/> + <RowDefinition Height="300" /> + <RowDefinition Height="97*" /> + </Grid.RowDefinitions> + <TextBlock Grid.Row="0" Text="{Binding DisplayedAccommodationModel.Name}" FontSize="28" Margin="20,20,0,0" Foreground="White" TextWrapping="WrapWholeWords"/> + <Image Grid.Row="1" Source="{Binding DisplayedAccommodationModel.Images[0]}" Margin="20,0,20,0"/> + <StackPanel Grid.Row="2" Margin="20,5,5,5"> + + <TextBlock Text="Address:" FontSize="18" Foreground="White" FontWeight="Bold"/> + <TextBlock FontSize="16" Foreground="White" HorizontalAlignment="Left" Margin="0,0,5,0" TextWrapping="WrapWholeWords"> + <Run Text="{Binding DisplayedAccommodationModel.StreetName}"/>, + <Run Text="{Binding DisplayedAccommodationModel.PostalCode}"/> + <Run Text="{Binding DisplayedAccommodationModel.City}"/>, + <Run Text="{Binding DisplayedAccommodationModel.Region}"/> + </TextBlock> + <TextBlock Text="Booking dates:" Foreground="White" FontSize="18" Margin="0,10,0,0" FontWeight="Bold"/> + <TextBlock FontSize="16" Foreground="White" HorizontalAlignment="Left" Margin="0,0,5,0" TextWrapping="WrapWholeWords"> + <Run Text="{Binding StartDate}"/> - <Run Text="{Binding EndDate}"/> + </TextBlock> + <TextBlock Text="Overall price:" Foreground="White" FontSize="18" Margin="0,10,0,0" FontWeight="Bold"/> + <TextBlock FontSize="36" Foreground="White" HorizontalAlignment="Left" Margin="0,0,5,0" TextWrapping="WrapWholeWords" FontWeight="Bold"> + <Run Text="{Binding OverallPrice}"/> € + </TextBlock> + </StackPanel> + </Grid> + <StackPanel Margin="20,10,20,10" Grid.Column="0" HorizontalAlignment="Stretch" > + <StackPanel.DataContext> + <viewModel:UserViewModel/> + </StackPanel.DataContext> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="First name"/> + <TextBox x:Name="FirstName" Text="{Binding DisplayedUser.FirstName, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Last name"/> + <TextBox x:Name="LastName" Text="{Binding DisplayedUser.LastName, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Birth date"/> + <CalendarDatePicker x:Name="BirthDate" Date="{Binding DisplayedUser.BirthDate, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Address"/> + <TextBox x:Name="Adress" Text="{Binding DisplayedUser.Address, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="City"/> + <TextBox x:Name="City" Text="{Binding DisplayedUser.City, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Postal code"/> + <TextBox x:Name="PostalCode" Text="{Binding DisplayedUser.PostalCode, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Country"/> + <TextBox x:Name="Country" Text="{Binding DisplayedUser.Country, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="E-mail address"/> + <TextBox x:Name="EmailAddress" Text="{Binding DisplayedUser.EmailAddress, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Phone number"/> + <TextBox x:Name="PhoneNumber" Text="{Binding DisplayedUser.PhoneNumber, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + </StackPanel> + + + </Grid> + <Button Grid.Row="1" FontSize="20" FontWeight="Bold" Margin="20,0,20,20" Content="Book" Background="Gold" Width="250" Height="50" HorizontalAlignment="Right" BorderBrush="#CCFFFFFF" Command="{Binding MakeBookingCommand}" Click="Click" VerticalAlignment="Bottom"> + <Button.DataContext> + <viewModel:BookingViewModel/> + </Button.DataContext> + </Button> + </Grid> + </Grid> + </ScrollViewer> + </Grid> + </Grid> +</Page> diff --git a/France_Vacances/France_Vacances/View/BookingView.xaml.cs b/France_Vacances/France_Vacances/View/BookingView.xaml.cs new file mode 100644 index 0000000..2390ad2 --- /dev/null +++ b/France_Vacances/France_Vacances/View/BookingView.xaml.cs @@ -0,0 +1,44 @@ +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; +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 http://go.microsoft.com/fwlink/?LinkId=234238 + +namespace France_Vacances.View +{ + /// <summary> + /// An empty page that can be used on its own or navigated to within a Frame. + /// </summary> + public sealed partial class BookingView : Page + { + public BookingView() + { + this.InitializeComponent(); + } + + private void Click(object sender, RoutedEventArgs e) + { + if (FirstName.Text == "") FirstName.BorderBrush = new SolidColorBrush(Colors.Red); + if (LastName.Text == "") LastName.BorderBrush = new SolidColorBrush(Colors.Red); + if (BirthDate.Date == null) BirthDate.BorderBrush = new SolidColorBrush(Colors.Red); + if (Adress.Text == "") Adress.BorderBrush = new SolidColorBrush(Colors.Red); + if (City.Text == "") City.BorderBrush = new SolidColorBrush(Colors.Red); + if (PostalCode.Text == "") PostalCode.BorderBrush = new SolidColorBrush(Colors.Red); + if (Country.Text == "") Country.BorderBrush = new SolidColorBrush(Colors.Red); + if (EmailAddress.Text == "") EmailAddress.BorderBrush = new SolidColorBrush(Colors.Red); + if (PhoneNumber.Text == "") PhoneNumber.BorderBrush = new SolidColorBrush(Colors.Red); + } + } +} diff --git a/France_Vacances/France_Vacances/View/CatalogView.xaml b/France_Vacances/France_Vacances/View/CatalogView.xaml new file mode 100644 index 0000000..31af809 --- /dev/null +++ b/France_Vacances/France_Vacances/View/CatalogView.xaml @@ -0,0 +1,124 @@ +<Page + 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:France_Vacances.ViewModel" + x:Class="France_Vacances.View.CatalogView" + mc:Ignorable="d"> + + <!-- Main grid --> + + <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + + <Grid.ColumnDefinitions> + <ColumnDefinition Width="0.25*"/> + <ColumnDefinition Width="0.25*"/> + <ColumnDefinition Width="0.25*"/> + <ColumnDefinition Width="0.25*"/> + </Grid.ColumnDefinitions> + + <Grid.DataContext> + <viewModel:SearchViewModel/> + </Grid.DataContext> + + <!-- Mountains category --> + + <Grid Grid.Column="0" Style="{StaticResource CategoryGridStyle}"> + + <Grid.RowDefinitions> + <RowDefinition Height="70"/> + <RowDefinition Height="160"/> + <RowDefinition/> + </Grid.RowDefinitions> + + <TextBlock Style="{StaticResource CategoryLabelStyle}" Text="MOUNTAINS"/> + <TextBlock Style="{StaticResource CategoryDescriptionStyle}"> + <Run Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. "/> + <LineBreak/> + <Run Text="Sed volutpat tellus mi, imperdiet scelerisque risus consectetur a."/> + </TextBlock> + <ListView x:Name="MyListView" Grid.Row="2" ItemsSource="{Binding MountainRegions}" SelectedItem="{Binding SearchedAccommodationModel.Region, Mode=TwoWay}" IsItemClickEnabled="True" ItemClick="ListViewBase_OnItemClick"> + <ListView.ItemContainerStyle> + <StaticResource ResourceKey="LocationStyle"/> + </ListView.ItemContainerStyle> + </ListView> + <Image Source="/Assets/Images/mountains.jpg" Style="{StaticResource CategoryBackgroundStyle}"/> + </Grid> + + + <!-- Sea category --> + + <Grid Grid.Column="1" Style="{StaticResource CategoryGridStyle}"> + + <Grid.RowDefinitions> + <RowDefinition Height="70"/> + <RowDefinition Height="160"/> + <RowDefinition/> + </Grid.RowDefinitions> + + <TextBlock Style="{StaticResource CategoryLabelStyle}" Text="SEA"/> + <TextBlock Style="{StaticResource CategoryDescriptionStyle}"> + <Run Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. "/> + <LineBreak/> + <Run Text="Sed volutpat tellus mi, imperdiet scelerisque risus consectetur a."/> + </TextBlock> + <ListView Grid.Row="2" ItemsSource="{Binding SeaRegions}" SelectedItem="{Binding SearchedAccommodationModel.Region, Mode=TwoWay}" IsItemClickEnabled="True" ItemClick="ListViewBase_OnItemClick"> + <ListView.ItemContainerStyle> + <StaticResource ResourceKey="LocationStyle"/> + </ListView.ItemContainerStyle> + </ListView> + <Image Source="/Assets/Images/sea.jpg" Style="{StaticResource CategoryBackgroundStyle}"/> + </Grid> + + + <!-- Countryside category --> + + <Grid Grid.Column="2" Style="{StaticResource CategoryGridStyle}"> + + <Grid.RowDefinitions> + <RowDefinition Height="70"/> + <RowDefinition Height="160"/> + <RowDefinition/> + </Grid.RowDefinitions> + + <TextBlock Style="{StaticResource CategoryLabelStyle}" Text="COUNTRYSIDE"/> + <TextBlock Style="{StaticResource CategoryDescriptionStyle}"> + <Run Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. "/> + <LineBreak/> + <Run Text="Sed volutpat tellus mi, imperdiet scelerisque risus consectetur a."/> + </TextBlock> + <ListView Grid.Row="2" ItemsSource="{Binding CountrysideRegions}" SelectedItem="{Binding SearchedAccommodationModel.Region, Mode=TwoWay}" IsItemClickEnabled="True" ItemClick="ListViewBase_OnItemClick"> + <ListView.ItemContainerStyle> + <StaticResource ResourceKey="LocationStyle"/> + </ListView.ItemContainerStyle> + </ListView> + <Image Source="/Assets/Images/countryside.jpg" Style="{StaticResource CategoryBackgroundStyle}"/> + </Grid> + + + <!-- Islands category --> + + <Grid Grid.Column="3" Style="{StaticResource CategoryGridStyle}"> + + <Grid.RowDefinitions> + <RowDefinition Height="70"/> + <RowDefinition Height="160"/> + <RowDefinition/> + </Grid.RowDefinitions> + + <TextBlock Style="{StaticResource CategoryLabelStyle}" Text="ISLANDS"/> + <TextBlock Style="{StaticResource CategoryDescriptionStyle}"> + <Run Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. "/> + <LineBreak/> + <Run Text="Sed volutpat tellus mi, imperdiet scelerisque risus consectetur a."/> + </TextBlock> + <ListView Grid.Row="2" ItemsSource="{Binding IslandRegions}" SelectedItem="{Binding SearchedAccommodationModel.Region, Mode=TwoWay}" IsItemClickEnabled="True" ItemClick="ListViewBase_OnItemClick"> + <ListView.ItemContainerStyle> + <StaticResource ResourceKey="LocationStyle"/> + </ListView.ItemContainerStyle> + </ListView> + <Image Source="/Assets/Images/islands.jpg" Style="{StaticResource CategoryBackgroundStyle}"/> + </Grid> + </Grid> +</Page>
\ No newline at end of file diff --git a/France_Vacances/France_Vacances/View/CatalogView.xaml.cs b/France_Vacances/France_Vacances/View/CatalogView.xaml.cs new file mode 100644 index 0000000..de8045d --- /dev/null +++ b/France_Vacances/France_Vacances/View/CatalogView.xaml.cs @@ -0,0 +1,22 @@ +using System.Globalization; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Input; +using France_Vacances.ViewModel; + +namespace France_Vacances.View +{ + public sealed partial class CatalogView + { + public CatalogView() + { + InitializeComponent(); + MyListView.SelectedItem = null; + } + + private void ListViewBase_OnItemClick(object sender, ItemClickEventArgs e) + { + Frame.Navigate(typeof(SearchView)); + } + } +} diff --git a/France_Vacances/France_Vacances/View/CreateUserView.xaml b/France_Vacances/France_Vacances/View/CreateUserView.xaml new file mode 100644 index 0000000..b8488db --- /dev/null +++ b/France_Vacances/France_Vacances/View/CreateUserView.xaml @@ -0,0 +1,88 @@ +<Page + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:France_Vacances.View" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:ViewModel="using:France_Vacances.ViewModel" + x:Class="France_Vacances.View.CreateUserView" + mc:Ignorable="d"> + + <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + <Grid.DataContext> + <ViewModel:CreateUserViewModel/> + </Grid.DataContext> + <!-- Background Image Grid --> + <Grid Style="{StaticResource GridBackground}"> + <ScrollViewer> + <Grid> + + <Grid Style="{StaticResource CreateUserGrid}"> + <Grid.RowDefinitions> + <RowDefinition Height="40"/> + <RowDefinition /> + </Grid.RowDefinitions> + <TextBlock Style="{StaticResource CreateUserHeadlineStyle}" Text="Create User"/> + <Grid Grid.Row="1"> + + <Grid.ColumnDefinitions> + <ColumnDefinition Width="300"/> + <ColumnDefinition Width="300"/> + </Grid.ColumnDefinitions> + + <!-- Input TextBlocks and Boxes --> + <StackPanel Style="{StaticResource CreateUserStackpanelLeft}"> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Username"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.UserName, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Password"/> + <PasswordBox Style="{StaticResource CreateUserPasswordBoxStyle}" Password="{Binding NewUser.Password, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Repeat Password"/> + <PasswordBox Style="{StaticResource CreateUserPasswordBoxStyle}" Password="{Binding RepeatedPassword, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="First name"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.FirstName, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Last name"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.LastName, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Birth date"/> + <CalendarDatePicker Date="{Binding NewUser.BirthDate, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Address"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.Address, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="City"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.City, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Country"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.Country, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Postal code"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.PostalCode, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="E-mail address"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.EmailAddress, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Repeat e-mail address"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding RepeatedEmail, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Phone number"/> + <TextBox Style="{StaticResource CreateUserTextBoxStyle}" Text="{Binding NewUser.PhoneNumber, Mode=TwoWay}"/> + </StackPanel> + + <!-- Error TextBlocks --> + <StackPanel Grid.Column="1" Style="{StaticResource CreateUserStackpanelRight}"> + <TextBlock x:Name="UserNameError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayUserNameErrorText , Mode=TwoWay}" Visibility="{Binding DisplayUserNameVisibility}"/> + <TextBlock x:Name="PasswordError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayUserNameErrorText , Mode=TwoWay}" Visibility="{Binding DisplayUserNameVisibility}"/> + <TextBlock x:Name="PasswordRepeatError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayRePasswordErrorText , Mode=TwoWay}" Visibility="{Binding DisplayRePasswordVisibility}"/> + <TextBlock x:Name="FirstNameError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayFirstNameErrorText , Mode=TwoWay}" Visibility="{Binding DisplayFirstNameVisibility}"/> + <TextBlock x:Name="LastNameError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayLastNameErrorText , Mode=TwoWay}" Visibility="{Binding DisplayLastNameVisibility}"/> + <TextBlock x:Name="DOB" Style="{StaticResource ErrorTextFontStyle}" Text="" Visibility="{Binding DisplayFirstNameVisibility}"/> + <TextBlock x:Name="AddressError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayAddressErrorText , Mode=TwoWay}" Visibility="{Binding DisplayAdressVisibility}"/> + <TextBlock x:Name="CityError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayCityErrorText , Mode=TwoWay}" Visibility="{Binding DisplayCountryVisibility}"/> + <TextBlock x:Name="CountryError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayCountryErrorText , Mode=TwoWay}" Visibility="{Binding DisplayCountryVisibility}"/> + <TextBlock x:Name="PostcodeError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayPostCodeErrorText , Mode=TwoWay}" Visibility="{Binding DisplayPostCodeVisibility}"/> + <TextBlock x:Name="EmailError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayEmailErrorText , Mode=TwoWay}" Visibility="{Binding DisplayEmailVisibility}"/> + <TextBlock x:Name="ReEmailError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayReEmailErrorText , Mode=TwoWay}" Visibility="{Binding DisplayReEmailVisibility}"/> + <TextBlock x:Name="PhoneNrError" Style="{StaticResource ErrorTextFontStyle}" Text="{Binding DisplayPhoneErrorText , Mode=TwoWay}" Visibility="{Binding DisplayPhoneNrVisibility}"/> + </StackPanel> + + <!-- Create User Button --> + <Button x:Name="Create" Grid.Column="1" Style="{StaticResource CreateButtonStyle}" Content="Create" Command="{Binding DoCreateNewUser}" Click="CreateNewUser_OnClick"/> + </Grid> + </Grid> + </Grid> + </ScrollViewer> + </Grid> + </Grid> +</Page>
\ No newline at end of file diff --git a/France_Vacances/France_Vacances/View/CreateUserView.xaml.cs b/France_Vacances/France_Vacances/View/CreateUserView.xaml.cs new file mode 100644 index 0000000..9b94234 --- /dev/null +++ b/France_Vacances/France_Vacances/View/CreateUserView.xaml.cs @@ -0,0 +1,44 @@ +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; +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 http://go.microsoft.com/fwlink/?LinkId=234238 + +namespace France_Vacances.View +{ + /// <summary> + /// An empty page that can be used on its own or navigated to within a Frame. + /// </summary> + public sealed partial class CreateUserView : Page + { + public CreateUserView() + { + this.InitializeComponent(); + } + + + private void CreateNewUser_OnClick(object sender, RoutedEventArgs e) + { + + //if (UserNameError.Visibility != Visibility.Collapsed) + //{ + // Frame.Navigate(typeof(LoginView)); + //} + + } + + + } +} diff --git a/France_Vacances/France_Vacances/View/LoginView.xaml b/France_Vacances/France_Vacances/View/LoginView.xaml new file mode 100644 index 0000000..542f325 --- /dev/null +++ b/France_Vacances/France_Vacances/View/LoginView.xaml @@ -0,0 +1,38 @@ +<Page + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:France_Vacances.View" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:ViewModel="using:France_Vacances.ViewModel" + x:Class="France_Vacances.View.LoginView" + mc:Ignorable="d"> + + <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + <Grid.DataContext> + <ViewModel:LoginUserViewModel/> + </Grid.DataContext> + + <Grid Style="{StaticResource GridBackground}"> + + <Grid Style="{StaticResource LoginGrid}"> + <TextBlock Style="{StaticResource LoginHeadlineStyle}" Text="Log In"/> + <StackPanel Style="{StaticResource LoginStackpanel}"> + <TextBlock x:Name="LoginError" Style="{StaticResource LoginErrorTextBlockStyle}" Text="{Binding DisplayText}"/> + <TextBox x:Name="TxtBoxUserName" Style="{StaticResource LoginTextBoxStyle}" Text="{Binding LoginInfo.UserName , Mode=TwoWay}" PlaceholderText="Insert Username"/> + <PasswordBox x:Name="PsswrdLoginBox" Style="{StaticResource PasswordLoginStyle}" Password="{Binding LoginInfo.Password , Mode=TwoWay}"/> + </StackPanel> + + + <Button Style="{StaticResource RegisterHereButtonStyle}" Click="Button_Click"> + <TextBlock Style="{StaticResource CreateUserFontStyle}"> + <Underline> + <Run Text="Not yet a member, register here"/> + </Underline> + </TextBlock> + </Button> + <Button x:Name="LogInButton" Style="{StaticResource LoginButton}" Command="{Binding DoLogin}" Content="Log In"/> + </Grid> + </Grid> + </Grid> +</Page> diff --git a/France_Vacances/France_Vacances/View/LoginView.xaml.cs b/France_Vacances/France_Vacances/View/LoginView.xaml.cs new file mode 100644 index 0000000..24c7631 --- /dev/null +++ b/France_Vacances/France_Vacances/View/LoginView.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 http://go.microsoft.com/fwlink/?LinkId=234238 + +namespace France_Vacances.View +{ + /// <summary> + /// An empty page that can be used on its own or navigated to within a Frame. + /// </summary> + public sealed partial class LoginView : Page + { + public LoginView() + { + this.InitializeComponent(); + } + + private void Button_Click(object sender, RoutedEventArgs e) + { + Frame.Navigate(typeof(CreateUserView)); + } + } +} diff --git a/France_Vacances/France_Vacances/View/MainView.xaml b/France_Vacances/France_Vacances/View/MainView.xaml new file mode 100644 index 0000000..fb8e1fb --- /dev/null +++ b/France_Vacances/France_Vacances/View/MainView.xaml @@ -0,0 +1,177 @@ +<Page + 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:controls="using:France_Vacances.Controls" + xmlns:viewModel="using:France_Vacances.ViewModel" + x:Class="France_Vacances.View.MainView" + mc:Ignorable="d"> + + <Page.Resources> + <Style x:Key="AnnouncementGridViewStyle" TargetType="GridView"> + <Setter Property="Padding" Value="0,0,0,10"/> + <Setter Property="IsTabStop" Value="False"/> + <Setter Property="TabNavigation" Value="Once"/> + <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/> + <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"/> + <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled"/> + <Setter Property="ScrollViewer.IsHorizontalRailEnabled" Value="False"/> + <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled"/> + <Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="True"/> + <Setter Property="ScrollViewer.ZoomMode" Value="Disabled"/> + <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False"/> + <Setter Property="ScrollViewer.BringIntoViewOnFocusChange" Value="True"/> + <Setter Property="IsSwipeEnabled" Value="True"/> + <Setter Property="ItemContainerTransitions"> + <Setter.Value> + <TransitionCollection> + <AddDeleteThemeTransition/> + <ContentThemeTransition/> + <ReorderThemeTransition/> + <EntranceThemeTransition IsStaggeringEnabled="False"/> + </TransitionCollection> + </Setter.Value> + </Setter> + <Setter Property="ItemsPanel"> + <Setter.Value> + <ItemsPanelTemplate> + <ItemsWrapGrid Orientation="Vertical"/> + </ItemsPanelTemplate> + </Setter.Value> + </Setter> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="GridView"> + <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" + Background="{TemplateBinding Background}"> + <ScrollViewer x:Name="ScrollViewer" + AutomationProperties.AccessibilityView="Raw" + BringIntoViewOnFocusChange="{TemplateBinding ScrollViewer.BringIntoViewOnFocusChange}" + HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" + HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" + IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" + IsHorizontalScrollChainingEnabled="{TemplateBinding ScrollViewer.IsHorizontalScrollChainingEnabled}" + IsVerticalScrollChainingEnabled="{TemplateBinding ScrollViewer.IsVerticalScrollChainingEnabled}" + IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" + IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" + TabNavigation="{TemplateBinding TabNavigation}" + VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" + VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" + ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}"> + <ItemsPresenter FooterTransitions="{TemplateBinding FooterTransitions}" + FooterTemplate="{TemplateBinding FooterTemplate}" + Footer="{TemplateBinding Footer}" + HeaderTemplate="{TemplateBinding HeaderTemplate}" + Header="{TemplateBinding Header}" + HeaderTransitions="{TemplateBinding HeaderTransitions}" + Padding="{TemplateBinding Padding}"/> + </ScrollViewer> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + </Page.Resources> + + <!-- Main grid --> + + <Grid Style="{StaticResource GridBackground}"> + + <Grid.ColumnDefinitions> + <ColumnDefinition Width="400"/> + <ColumnDefinition/> + </Grid.ColumnDefinitions> + + + <!-- Search form --> + + <Grid Grid.Column="0" Margin="10" Padding="20,0" BorderBrush="#CCFFFFFF" BorderThickness="2"> + <Grid.DataContext> + <viewModel:SearchViewModel/> + </Grid.DataContext> + + <Grid.RowDefinitions> + <RowDefinition Height="100"/> + <RowDefinition Height="70"/> + <RowDefinition Height="70"/> + <RowDefinition Height="50"/> + <RowDefinition Height="50"/> + <RowDefinition Height="100"/> + </Grid.RowDefinitions> + + <Grid.Background > + <SolidColorBrush Color="DodgerBlue"/> + </Grid.Background> + + <TextBlock Grid.Row="0" + Text="Your dream holidays are here!" + FontSize="24" + TextWrapping="WrapWholeWords" + VerticalAlignment="Center" + Foreground="White" + FontWeight="Bold"/> + <StackPanel Grid.Row="1" Grid.ColumnSpan="2"> + <TextBlock Text="Destination" Foreground="White"/> + <TextBox x:Name="DestinationTextBox" PlaceholderText="Where do you want to go?" Text="{Binding SearchedAccommodationModel.Region , Mode=TwoWay}" BorderBrush="#CCFFFFFF" IsSpellCheckEnabled="False"/> + </StackPanel> + <StackPanel Grid.Row="2" Orientation="Horizontal"> + <StackPanel> + <TextBlock Text="Check-in" Foreground="White"/> + <CalendarDatePicker Date="{Binding SearchedStartDate, Mode=TwoWay}" HorizontalAlignment="Stretch" Margin="0,0,10,0" BorderBrush="#CCFFFFFF"/> + </StackPanel> + <StackPanel> + <TextBlock Text="Check-out" Foreground="White"/> + <CalendarDatePicker Date="{Binding SearchedEndDate, Mode=TwoWay}" HorizontalAlignment="Stretch" BorderBrush="#CCFFFFFF"/> + </StackPanel> + </StackPanel> + <StackPanel Grid.Row="3" Orientation="Horizontal"> + <TextBlock Text="Persons" FontSize="20" Width="100" Foreground="White"/> + <ComboBox ItemsSource="{Binding Persons}" SelectedItem="{Binding SearchedAccommodationModel.Persons, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + </StackPanel> + <StackPanel Grid.Row="4" Orientation="Horizontal"> + <TextBlock Text="Rooms" FontSize="20" Width="100" Foreground="White"/> + <ComboBox ItemsSource="{Binding Rooms}" SelectedItem="{Binding SearchedAccommodationModel.Rooms, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + </StackPanel> + <Button x:Name="FindAccommodationsButton" Grid.Row="5" Background="Gold" Width="250" Height="50" HorizontalAlignment="Right" Command="{Binding FindAccommodationModelsCommand}" Click="FindAccommodationsButton_OnClick" BorderBrush="#CCFFFFFF"> + <Button.Content> + <TextBlock Text="Find accomodations" FontSize="20" Foreground="Black" FontWeight="Bold"/> + </Button.Content> + </Button> + </Grid> + + + <!-- Announcements --> + + <controls:VariableGrid Grid.Column="1" ItemsSource="{Binding AnnouncementModels}" Style="{StaticResource AnnouncementGridViewStyle}" Margin="0,10"> + <controls:VariableGrid.ItemTemplate> + <DataTemplate> + <Grid BorderBrush="Black" BorderThickness="1"> + <Grid.RowDefinitions> + <RowDefinition/> + <RowDefinition Height="40"/> + <RowDefinition Height="15"/> + </Grid.RowDefinitions> + + <Image Grid.Row="0" Grid.RowSpan="3" Source="{Binding BackgroundPath}" Stretch="UniformToFill" Canvas.ZIndex="-1" /> + <TextBlock Grid.Row="1" Margin="10,0" Text="{Binding Content}" Foreground="White" FontSize="24"/> + <TextBlock Grid.Row="2" FontSize="10" Foreground="White" Opacity="0.7" HorizontalAlignment="Right"> + <Run Text="Offer expires on "/> + <Run Text="{Binding ExpirationDateTime}"/> + </TextBlock> + </Grid> + </DataTemplate> + </controls:VariableGrid.ItemTemplate> + + <controls:VariableGrid.ItemsPanel> + <ItemsPanelTemplate> + <VariableSizedWrapGrid ItemHeight="47" ItemWidth="50"/> + </ItemsPanelTemplate> + </controls:VariableGrid.ItemsPanel> + + <controls:VariableGrid.DataContext> + <viewModel:AnnouncementViewModel/> + </controls:VariableGrid.DataContext> + </controls:VariableGrid> + </Grid> +</Page>
\ No newline at end of file diff --git a/France_Vacances/France_Vacances/View/MainView.xaml.cs b/France_Vacances/France_Vacances/View/MainView.xaml.cs new file mode 100644 index 0000000..b9dfa61 --- /dev/null +++ b/France_Vacances/France_Vacances/View/MainView.xaml.cs @@ -0,0 +1,21 @@ +using Windows.UI; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Media; +using France_Vacances.ViewModel; + +namespace France_Vacances.View +{ + public sealed partial class MainView + { + public MainView() + { + InitializeComponent(); + } + + private void FindAccommodationsButton_OnClick(object sender, RoutedEventArgs e) + { + if (DestinationTextBox.Text == "") DestinationTextBox.BorderBrush = new SolidColorBrush(Colors.Red); + else Frame.Navigate(typeof(SearchView)); + } + } +}
\ No newline at end of file diff --git a/France_Vacances/France_Vacances/View/SearchView.xaml b/France_Vacances/France_Vacances/View/SearchView.xaml new file mode 100644 index 0000000..bf71828 --- /dev/null +++ b/France_Vacances/France_Vacances/View/SearchView.xaml @@ -0,0 +1,140 @@ +<Page + 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:France_Vacances.ViewModel" + x:Class="France_Vacances.View.SearchView" + mc:Ignorable="d"> + + <Grid Style="{StaticResource GridBackground}"> + + <Grid.ColumnDefinitions> + <ColumnDefinition MinWidth="330" Width="99*"/> + <ColumnDefinition Width="221*"/> + </Grid.ColumnDefinitions> + + + <!-- Search form --> + <Grid Grid.Column="0" Margin="10,10,0,10" Padding="20" BorderBrush="#CCFFFFFF" BorderThickness="2"> + <Grid.DataContext> + <viewModel:SearchViewModel/> + </Grid.DataContext> + <Grid.RowDefinitions> + <RowDefinition Height="100"/> + <RowDefinition Height="70"/> + <RowDefinition Height="70"/> + <RowDefinition Height="50"/> + <RowDefinition Height="50"/> + <RowDefinition Height="100"/> + </Grid.RowDefinitions> + <Grid.Background> + <SolidColorBrush Color="DodgerBlue"/> + </Grid.Background> + + <TextBlock Grid.Row="0" + Text="Your dream holidays are here!" + FontSize="24" + TextWrapping="WrapWholeWords" + VerticalAlignment="Center" + Foreground="#F7FFFFFF" + FontWeight="Bold"/> + <StackPanel Grid.Row="1" Grid.ColumnSpan="2"> + <TextBlock Text="Destination" Foreground="White"/> + <TextBox x:Name="DestinationTextBox" PlaceholderText="Where do you want to go?" Text="{Binding SearchedAccommodationModel.Region , Mode=TwoWay}" BorderBrush="#CCFFFFFF" IsSpellCheckEnabled="False"/> + </StackPanel> + <StackPanel Grid.Row="2" Orientation="Horizontal"> + <StackPanel> + <TextBlock Text="Check-in" Foreground="White"/> + <CalendarDatePicker Date="{Binding SearchedStartDate, Mode=TwoWay}" HorizontalAlignment="Stretch" Margin="0,0,10,0" BorderBrush="#CCFFFFFF"/> + </StackPanel> + <StackPanel> + <TextBlock Text="Check-out" Foreground="White"/> + <CalendarDatePicker Date="{Binding SearchedEndDate, Mode=TwoWay}" HorizontalAlignment="Stretch" BorderBrush="#CCFFFFFF"/> + </StackPanel> + </StackPanel> + <StackPanel Grid.Row="3" Orientation="Horizontal"> + <TextBlock Text="Persons" FontSize="20" Width="100" Foreground="White"/> + <ComboBox ItemsSource="{Binding Persons}" SelectedItem="{Binding SearchedAccommodationModel.Persons, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + </StackPanel> + <StackPanel Grid.Row="4" Orientation="Horizontal"> + <TextBlock Text="Rooms" FontSize="20" Width="100" Foreground="White"/> + <ComboBox ItemsSource="{Binding Rooms}" SelectedItem="{Binding SearchedAccommodationModel.Rooms, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + </StackPanel> + <Button x:Name="FindAccommodationsButton" Grid.Row="5" Background="Gold" Width="250" Height="50" HorizontalAlignment="Right" Command="{Binding FindAccommodationModelsCommand}" Click="FindAccommodationsButton_OnClick" BorderBrush="#CCFFFFFF"> + <Button.Content> + <TextBlock Text="Find accomodations" FontSize="20" Foreground="Black" FontWeight="Bold"/> + </Button.Content> + </Button> + </Grid> + + + <!-- Search results --> + + <ListView x:Name="AccommodationsListView" Grid.Column="1" ItemsSource="{Binding ResultsCollection}" Margin="10,10,10,116" SelectionChanged="AccommodationsListView_OnSelectionChanged"> + + + <ListView.ItemContainerStyle> + <Style TargetType="ListViewItem"> + <Setter Property="HorizontalContentAlignment" Value="Stretch"/> + </Style> + </ListView.ItemContainerStyle> + <ListView.DataContext> + <viewModel:SearchViewModel/> + </ListView.DataContext> + <ListView.ItemTemplate> + <DataTemplate> + <Grid Background="DodgerBlue" MinWidth="800" BorderBrush="#CCFFFFFF" BorderThickness="2" Margin="0,0,0,5"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="160"/> + <ColumnDefinition /> + </Grid.ColumnDefinitions> + <Grid Grid.Column="0" Background="Gray" BorderThickness="0,0,2,0" BorderBrush="#CCFFFFFF" > + <Image Source="{Binding Images[0]}" Stretch="Fill"/> + </Grid> + <Grid Grid.Column="1" Margin="3,3,3,3"> + <Grid.RowDefinitions> + <RowDefinition /> + <RowDefinition Height="30" /> + <RowDefinition Height="92"/> + </Grid.RowDefinitions> + <Grid Margin="0,0,0,4"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="61*"/> + <ColumnDefinition Width="23*"/> + </Grid.ColumnDefinitions> + <StackPanel Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Left"> + <TextBlock Text="{Binding Name}" FontSize="28" TextWrapping="NoWrap" TextLineBounds="Tight" Foreground="White" FontWeight="Bold" Margin="0,3,3,0" /> + <TextBlock TextLineBounds="Tight" Text="{Binding Stars}" Foreground="White" HorizontalAlignment="Left" Margin="0,0,2,0" VerticalAlignment="Center" /> + </StackPanel> + <StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right"> + <TextBlock TextLineBounds="Tight" Foreground="White" HorizontalAlignment="Right" Margin="0,0,2,0" VerticalAlignment="Center">Review score: <Run Text="{Binding ReviewScore}"/></TextBlock> + </StackPanel> + </Grid> + <Grid Grid.Row="1"> + <Grid.ColumnDefinitions> + <ColumnDefinition/> + <ColumnDefinition/> + </Grid.ColumnDefinitions> + <TextBlock Text="{Binding Region}" Foreground="White" TextLineBounds="Tight" HorizontalAlignment="Left" Margin="2,0,0,0"/> + <StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right" > + <TextBlock FontSize="40" Foreground="White" HorizontalAlignment="Right" Margin="0,0,2,0" TextLineBounds="Tight"><Run Text="{Binding Price}"/> €</TextBlock> + </StackPanel> + </Grid> + <Grid Grid.Row="2"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="134*"/> + <ColumnDefinition Width="35*"/> + </Grid.ColumnDefinitions> + <TextBlock Grid.Column="0" FontSize="16" Text="{Binding Description}" Foreground="White" HorizontalAlignment="Left" Margin="0,3,5,0" TextWrapping="WrapWholeWords" /> + <Grid Grid.Column="1"> + + </Grid> + </Grid> + </Grid> + </Grid> + </DataTemplate> + </ListView.ItemTemplate> + </ListView> + </Grid> +</Page> diff --git a/France_Vacances/France_Vacances/View/SearchView.xaml.cs b/France_Vacances/France_Vacances/View/SearchView.xaml.cs new file mode 100644 index 0000000..3008b6c --- /dev/null +++ b/France_Vacances/France_Vacances/View/SearchView.xaml.cs @@ -0,0 +1,41 @@ +using System; +using System.Linq.Expressions; +using Windows.UI; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Media.Imaging; +using France_Vacances.Model; +using France_Vacances.ViewModel; + +namespace France_Vacances.View +{ + public sealed partial class SearchView + + { + public SearchView() + { + + InitializeComponent(); + + } + + private void FindAccommodationsButton_OnClick(object sender, RoutedEventArgs e) + { + if (DestinationTextBox.Text == "") DestinationTextBox.BorderBrush = new SolidColorBrush(Colors.Red); + } + + + + private void AccommodationsListView_OnSelectionChanged(object sender, SelectionChangedEventArgs e) + { + AccommodationModel selectedAccommodationModel = (AccommodationModel)AccommodationsListView.SelectedItem; + if (selectedAccommodationModel != null) + { + AccommodationSingleton.SelectAcc(selectedAccommodationModel); + Frame.Navigate(typeof(AccommodationView)); + } + AccommodationsListView.SelectedItem = null; + } + } +} diff --git a/France_Vacances/France_Vacances/View/UserView.xaml b/France_Vacances/France_Vacances/View/UserView.xaml new file mode 100644 index 0000000..1836462 --- /dev/null +++ b/France_Vacances/France_Vacances/View/UserView.xaml @@ -0,0 +1,64 @@ +<Page + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:France_Vacances.View" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:ViewModel="using:France_Vacances.ViewModel" + x:Class="France_Vacances.View.UserView" + mc:Ignorable="d"> + + <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> + + <!-- Background Image Grid --> + <Grid Style="{StaticResource GridBackground}"> + <ScrollViewer> + <Grid Background="Transparent"> + + <Grid Background="DodgerBlue" BorderBrush="#CCFFFFFF" MinWidth="400" BorderThickness="2" HorizontalAlignment="Center" VerticalAlignment="Center"> + + <Grid.RowDefinitions> + <RowDefinition /> + <RowDefinition /> + + </Grid.RowDefinitions> + <Grid.DataContext> + <ViewModel:UserViewModel/> + + </Grid.DataContext> + <TextBlock FontSize="32" Foreground="White" Text="My account" VerticalAlignment="Center" HorizontalAlignment="Center" FontWeight="Bold" Height="43" Width="173" Margin="0,20,0,0"/> + <Grid Grid.Row="1" Margin="0,0,0,100"> + <StackPanel Margin="20,10,20,10" Grid.Column="0" HorizontalAlignment="Stretch"> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Username"/> + <TextBox x:Name="UserName" Text="{Binding DisplayedUser.UserName, Mode=TwoWay}" BorderBrush="#CCFFFFFF" IsReadOnly="True"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Password"/> + <PasswordBox x:Name="Password" Password="{Binding DisplayedUser.Password, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="First name"/> + <TextBox x:Name="FirstName" Text="{Binding DisplayedUser.FirstName, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Last name"/> + <TextBox x:Name="LastName" Text="{Binding DisplayedUser.LastName, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Birth date"/> + <CalendarDatePicker x:Name="BirthDate" Date="{Binding DisplayedUser.BirthDate, Mode=TwoWay}"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Address"/> + <TextBox x:Name="Adress" Text="{Binding DisplayedUser.Address, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="City"/> + <TextBox x:Name="City" Text="{Binding DisplayedUser.City, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Postal code"/> + <TextBox x:Name="PostalCode" Text="{Binding DisplayedUser.PostalCode, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Country"/> + <TextBox x:Name="Country" Text="{Binding DisplayedUser.Country, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="E-mail address"/> + <TextBox x:Name="EmailAddress" Text="{Binding DisplayedUser.EmailAddress, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + <TextBlock Style="{StaticResource CreateUserFontStyle}" Text="Phone number"/> + <TextBox x:Name="PhoneNumber" Text="{Binding DisplayedUser.PhoneNumber, Mode=TwoWay}" BorderBrush="#CCFFFFFF"/> + </StackPanel> + + + </Grid> + <Button Grid.Row="1" FontSize="20" FontWeight="Bold" Margin="20,0,20,20" Content="Save" Background="Gold" Width="250" Height="50" HorizontalAlignment="Right" BorderBrush="#CCFFFFFF" VerticalAlignment="Bottom" Command="{Binding SaveUserInfoCommand}"/> + </Grid> + </Grid> + </ScrollViewer> + </Grid> + </Grid> +</Page> diff --git a/France_Vacances/France_Vacances/View/UserView.xaml.cs b/France_Vacances/France_Vacances/View/UserView.xaml.cs new file mode 100644 index 0000000..0fa0b6e --- /dev/null +++ b/France_Vacances/France_Vacances/View/UserView.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 http://go.microsoft.com/fwlink/?LinkId=234238 + +namespace France_Vacances.View +{ + /// <summary> + /// An empty page that can be used on its own or navigated to within a Frame. + /// </summary> + public sealed partial class UserView : Page + { + public UserView() + { + this.InitializeComponent(); + } + } +} |