Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.ComponentModel;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Animation;
- using System.Windows.Media.Imaging;
- using Oracle.ManagedDataAccess.Client;
- using System.Configuration;
- using System.Data;
- using System.Collections.Generic;
- using System.Windows.Controls.Primitives;
- using System.Windows.Shapes;
- namespace Cinema
- {
- /// <summary>
- /// Logika interakcji dla klasy MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window, INotifyPropertyChanged
- {
- private string startTextColor = "Blue";
- private string endTextColor = "Blue";
- private int actualCarouselMovie = 0;
- private bool isUserLogged = false;
- private string[] actualCarouselMovieTitle = { "Marry Popins Return", "Aquaman", "Spider-Man Universe", "Grinch" };
- private string[] actualCarouselMovieCategory = { "Family", "Action", "Animated", "Animated" };
- private string[] actualCarouselMovieImage = { "MaryPoppins", "Aquaman", "Spider", "Grinch" };
- private UIElement CurrentScene;
- private UIElement PreviousScene;
- private string oradb = "DATA SOURCE=localhost:1521/xe;USER ID=kino;PASSWORD=hr";
- private OracleConnection conn = new OracleConnection();
- private User user;
- private List<Movie> movies = new List<Movie>();
- private List<Screen> screens = new List<Screen>();
- private List<Room> rooms = new List<Room>();
- private List<Seat> seats = new List<Seat>();
- private string toSQLString(string variable) => "'" + variable + "'";
- public static string ToRoman(int number)
- {
- if ((number < 0) || (number > 3999)) throw new ArgumentOutOfRangeException("insert value betwheen 1 and 3999");
- if (number < 1) return string.Empty;
- if (number >= 40) return "XL" + ToRoman(number - 40);
- if (number >= 10) return "X" + ToRoman(number - 10);
- if (number >= 9) return "IX" + ToRoman(number - 9);
- if (number >= 5) return "V" + ToRoman(number - 5);
- if (number >= 4) return "IV" + ToRoman(number - 4);
- if (number >= 1) return "I" + ToRoman(number - 1);
- throw new ArgumentOutOfRangeException("something bad happened");
- }
- void initRooms()
- {
- string sql = "select ID_SALI, LICZBA_MIEJSC, TYP_SALI from SALE";
- OracleCommand cmd = new OracleCommand(sql, conn);
- cmd.CommandType = CommandType.Text;
- OracleDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- rooms.Add(new Room
- {
- IDRoom = Convert.ToInt32(dr["ID_SALI"].ToString()),
- SeatsAmount = Convert.ToInt32(dr["LICZBA_MIEJSC"].ToString()),
- RoomType = Convert.ToInt16(dr["TYP_SALI"].ToString())
- });
- }
- for (int i = 0; i < 10; i++)
- {
- InsideSeatsGrid.RowDefinitions.Add(new RowDefinition
- {
- Height = new GridLength(1, GridUnitType.Star)
- });
- }
- for (int j = 0; j < 16; j++)
- {
- InsideSeatsGrid.ColumnDefinitions.Add(new ColumnDefinition
- {
- Width = new GridLength(1, GridUnitType.Star)
- });
- }
- }
- void initSeats()
- {
- string sql = "select ID_MIEJSCA, ID_SALI, RZAD, NUMER from MIEJSCA";
- OracleCommand cmd = new OracleCommand(sql, conn);
- cmd.CommandType = CommandType.Text;
- OracleDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- seats.Add(new Seat
- {
- IDSeat = Convert.ToInt32(dr["ID_MIEJSCA"].ToString()),
- IDRoom = Convert.ToInt32(dr["ID_SALI"].ToString()),
- Row = Convert.ToChar(dr["RZAD"].ToString()),
- Number = Convert.ToInt32(dr["NUMER"].ToString())
- });
- }
- }
- void initMovies()
- {
- string sql = "select ID_FILMU, TYTUL, GATUNEK, REZYSER, CZAS_TRWANIA, OCENA, ILOSC_GLOSOW from FILMY";
- OracleCommand cmd = new OracleCommand(sql, conn);
- cmd.CommandType = CommandType.Text;
- OracleDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- movies.Add(new Movie
- {
- IDMovie = Convert.ToInt32(dr["ID_FILMU"].ToString()),
- Title = dr["TYTUL"].ToString(),
- Genre = dr["GATUNEK"].ToString(),
- Director = dr["REZYSER"].ToString(),
- DurationTime = dr["CZAS_TRWANIA"].ToString(),
- Rate = dr["OCENA"].ToString(),
- RateAmount = dr["ILOSC_GLOSOW"].ToString()
- });
- }
- for (int i = 0; i < dr.RowSize; i++)
- {
- InsideMoviesGrid.RowDefinitions.Add(new RowDefinition
- {
- Height = new GridLength(1, GridUnitType.Star)
- });
- }
- for (int j = 0; j <= 6; j++)
- {
- InsideMoviesGrid.ColumnDefinitions.Add(new ColumnDefinition
- {
- Width = new GridLength(1, GridUnitType.Star)
- });
- }
- CreateMoviesSchedule("");
- }
- private void CreateMoviesSchedule(string ThisTitle = "")
- {
- InsideMoviesGrid.Children.Clear();
- int i = 0, j = 1;
- List<Movie> tmp;
- if (ThisTitle.Length != 0)
- tmp = movies.FindAll(m => (m.Title.IndexOf(ThisTitle, StringComparison.CurrentCultureIgnoreCase) != -1));
- else
- tmp = movies;
- foreach (Movie it in tmp)
- {
- if(i == 3)
- {
- i = 0;
- j++;
- }
- Grid grid = new Grid
- {
- Margin = new Thickness(10, 10, 10, 54)
- };
- Grid.SetRow(grid, i);
- Grid.SetColumn(grid, j);
- InsideMoviesGrid.Children.Add(grid);
- Image image = new Image
- {
- HorizontalAlignment = HorizontalAlignment.Left,
- VerticalAlignment = VerticalAlignment.Top,
- Height = 171,
- Margin = new Thickness(0, 10, 0, 0),
- Width = 149,
- Stretch = Stretch.Fill,
- OpacityMask = Brushes.Black
- };
- try
- {
- image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/" + it.IDMovie.ToString() + ".jpg", UriKind.RelativeOrAbsolute));
- }
- catch
- {
- image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/1.jpg", UriKind.RelativeOrAbsolute));
- }
- Label label = new Label
- {
- Content = it.Title,
- HorizontalAlignment = HorizontalAlignment.Center,
- HorizontalContentAlignment = HorizontalAlignment.Center,
- VerticalAlignment = VerticalAlignment.Top,
- Margin = new Thickness(0, 186, 0, 0),
- Width = 149,
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
- Foreground = Brushes.White,
- FontWeight = FontWeights.Bold
- };
- Xceed.Wpf.Toolkit.IconButton iconButton = new Xceed.Wpf.Toolkit.IconButton
- {
- Content = "BUY TICKET",
- Margin = new Thickness(15, 46, 15, 0),
- VerticalAlignment = VerticalAlignment.Top,
- BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF910000"),
- Background = Brushes.Transparent,
- Height = 28,
- Foreground = Brushes.White,
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Semibold"),
- FontWeight = FontWeights.Bold,
- Visibility = Visibility.Hidden
- };
- iconButton.Click += (o, e) =>
- {
- SearchBar.Text = it.Title;
- CreateSchedule("", it.Title);
- if (!ScreensGrid.Equals(CurrentScene))
- {
- ChangeColor("Green");
- ChangeScene(ScreensGrid, CurrentScene);
- }
- };
- Label rate = new Label
- {
- Content = it.Rate + "/10",
- VerticalAlignment = VerticalAlignment.Top,
- HorizontalContentAlignment = HorizontalAlignment.Center,
- HorizontalAlignment = HorizontalAlignment.Center,
- Margin = new Thickness(0, 100, 0, 0),
- Width = 149,
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
- Foreground = Brushes.White,
- FontWeight = FontWeights.Bold,
- FontSize = 22,
- Visibility = Visibility.Hidden
- };
- grid.MouseEnter += (o, s) =>
- {
- ColorAnimation changeOpacity = new ColorAnimation();
- changeOpacity = new ColorAnimation(Color.FromArgb(128, 0, 0, 0), TimeSpan.FromSeconds(0.25));
- Storyboard.SetTarget(changeOpacity, image);
- Storyboard.SetTargetProperty(changeOpacity, new PropertyPath("(OpacityMask).(SolidColorBrush.Color)"));
- Storyboard sb = new Storyboard();
- sb.Children.Add(changeOpacity);
- sb.Begin();
- rate.Visibility = Visibility.Visible;
- iconButton.Visibility = Visibility.Visible;
- };
- grid.MouseLeave += (o, s) =>
- {
- ColorAnimation changeOpacity = new ColorAnimation();
- changeOpacity = new ColorAnimation(Color.FromArgb(255, 0, 0, 0), TimeSpan.FromSeconds(0.25));
- Storyboard.SetTarget(changeOpacity, image);
- Storyboard.SetTargetProperty(changeOpacity, new PropertyPath("(OpacityMask).(SolidColorBrush.Color)"));
- Storyboard sb = new Storyboard();
- sb.Children.Add(changeOpacity);
- sb.Begin();
- rate.Visibility = Visibility.Hidden;
- iconButton.Visibility = Visibility.Hidden;
- };
- grid.Children.Add(image);
- grid.Children.Add(label);
- grid.Children.Add(iconButton);
- grid.Children.Add(rate);
- i++;
- }
- }
- private void InitScreens()
- {
- string sql = "SELECT ID_SEANSU, ID_SALI, ID_FILMU, to_char( DATA_SEANSU, 'yyyy/mm/dd' ),to_char( DATA_SEANSU, 'hh24:mi' ), CENA from SEANSE";
- OracleCommand cmd = new OracleCommand(sql, conn);
- cmd.CommandType = CommandType.Text;
- OracleDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- screens.Add(new Screen
- {
- IDScreen = Convert.ToInt32(dr["ID_SEANSU"].ToString()),
- movie = movies.Find(m => m.IDMovie == Convert.ToInt32(dr["ID_FILMU"].ToString())),
- room = rooms.Find(r => r.IDRoom == Convert.ToInt32(dr["ID_SALI"].ToString())),
- date = dr[3].ToString(),
- time = dr[4].ToString(),
- price = Convert.ToInt32(dr["CENA"].ToString())
- });
- }
- for (int j = 0; j < 8; j++)
- {
- InsideScreensGrid.ColumnDefinitions.Add(new ColumnDefinition
- {
- Width = new GridLength(1, GridUnitType.Star)
- });
- }
- Xceed.Wpf.Toolkit.DropDownButton dropDownButton = new Xceed.Wpf.Toolkit.DropDownButton
- {
- Content = DateTime.Now.ToString("yyyy/MM/dd").Replace(".", "/"),
- HorizontalAlignment = HorizontalAlignment.Left,
- VerticalAlignment = VerticalAlignment.Top,
- Margin = new Thickness(0,25,0,0),
- Width=117,
- Height=23,
- Background=Brushes.Transparent,
- Foreground=Brushes.White,
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
- FontSize=14,
- HorizontalContentAlignment = HorizontalAlignment.Center,
- BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF009107"),
- Padding = new Thickness(0,0,0,2),
- DropDownContentBackground = Brushes.Transparent,
- BorderThickness = new Thickness(1),
- Style = (Style)Application.Current.Resources["DropDownButtonStyle"],
- };
- Calendar calendar = new Calendar();
- calendar.SelectedDatesChanged += (o, e) =>
- {
- dropDownButton.Content = calendar.SelectedDate.Value.ToString("yyyy/MM/dd").Replace(".", "/");
- dropDownButton.IsOpen = false;
- CreateSchedule(dropDownButton.Content.ToString(), "");
- };
- dropDownButton.DropDownContent = calendar;
- Grid.SetColumn(dropDownButton, 7);
- InsideScreensGrid.Children.Add(dropDownButton);
- }
- public void CreateSchedule(string ThisDate, string ThisTitle = "")
- {
- InsideScreensGrid.Children.RemoveRange(1, InsideScreensGrid.Children.Count);
- int k = 0;
- foreach (Movie mov in movies)
- {
- List<Screen> tmp;
- Xceed.Wpf.Toolkit.DropDownButton tempButton = (Xceed.Wpf.Toolkit.DropDownButton)InsideScreensGrid.Children[0];
- if (ThisTitle.Length != 0)
- tmp = screens.FindAll(s => (s.movie.Title.IndexOf(ThisTitle, StringComparison.CurrentCultureIgnoreCase) != -1 && s.movie.IDMovie == mov.IDMovie && s.date == tempButton.Content.ToString()));
- else
- tmp = screens.FindAll(s => (s.date == tempButton.Content.ToString() && s.movie.IDMovie == mov.IDMovie));
- if (tmp.Count == 0)
- {
- continue;
- }
- int i = 0;
- InsideScreensGrid.RowDefinitions.Add(new RowDefinition
- {
- Height = new GridLength(1, GridUnitType.Star)
- });
- Grid grid = new Grid
- {
- Margin = new Thickness(0, 25, 10, 2)
- };
- Grid.SetRow(grid, k);
- Grid.SetColumn(grid, 1);
- Grid.SetColumnSpan(grid, 6);
- InsideScreensGrid.Children.Add(grid);
- foreach (Screen it in tmp)
- {
- Xceed.Wpf.Toolkit.IconButton iconButton = new Xceed.Wpf.Toolkit.IconButton
- {
- Name = "_" + it.IDScreen.ToString(),
- Content = it.time,
- Margin = new Thickness(137 + (107 * (i % 4)), 81, 0, 0),
- VerticalAlignment = VerticalAlignment.Top,
- HorizontalAlignment = HorizontalAlignment.Left,
- BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF009107"),
- BorderThickness = new Thickness(2),
- Background = Brushes.Transparent,
- Width = 107,
- Height = 35,
- Foreground = Brushes.White,
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Black"),
- FontWeight = FontWeights.Bold,
- FontSize = 16,
- IsEnabled = true
- };
- if (i > 3)
- iconButton.Margin = new Thickness(137 + (107 * (i % 4)), 139, 0, 0);
- iconButton.Click += (o, s) =>
- {
- Xceed.Wpf.Toolkit.IconButton temp = (Xceed.Wpf.Toolkit.IconButton)o;
- if(isUserLogged)
- {
- if (!ChooseSeatsGrid.Equals(CurrentScene))
- {
- CreateRoom(it.room.IDRoom, it.IDScreen);
- ChangeColor("Gray");
- ChangeScene(ChooseSeatsGrid, CurrentScene);
- }
- }
- else
- {
- ChangeColor("Blue");
- ChangeScene(LogInGrid, CurrentScene);
- }
- };
- grid.Children.Add(iconButton);
- i++;
- }
- Label genre = new Label
- {
- Content = mov.Genre,
- VerticalAlignment = VerticalAlignment.Top,
- HorizontalAlignment = HorizontalAlignment.Left,
- Margin = new Thickness(127, 32, 0, 0),
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
- Foreground = (Brush)new BrushConverter().ConvertFromString("#B2FFD100")
- };
- Label title = new Label
- {
- Content = mov.Title,
- Margin = new Thickness(127, 0, 244, 202),
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
- FontWeight = FontWeights.Bold,
- FontSize = 24,
- Foreground = Brushes.White
- };
- Label durationTime = new Label
- {
- Content = mov.DurationTime + " minutes",
- VerticalAlignment = VerticalAlignment.Top,
- HorizontalAlignment = HorizontalAlignment.Left,
- HorizontalContentAlignment = HorizontalAlignment.Right,
- Width = 79,
- Margin = new Thickness(190, 32, 0, 0),
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
- Foreground = (Brush)new BrushConverter().ConvertFromString("#B2FFD100")
- };
- Image image = new Image
- {
- HorizontalAlignment = HorizontalAlignment.Left,
- VerticalAlignment = VerticalAlignment.Top,
- Height = 218,
- Width = 127,
- Stretch = Stretch.Fill,
- };
- try
- {
- image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/" + mov.IDMovie.ToString() + ".jpg", UriKind.RelativeOrAbsolute));
- }
- catch
- {
- image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/1.jpg", UriKind.RelativeOrAbsolute));
- }
- grid.Children.Add(title);
- grid.Children.Add(genre);
- grid.Children.Add(durationTime);
- grid.Children.Add(image);
- k++;
- }
- }
- public void CreateRoom(int ID_Room, int ID_Screen)
- {
- InsideSeatsGrid.Children.Clear();
- Label RoomTitle = new Label
- {
- Content = "Room " + ToRoman(rooms.Find(r => (r.IDRoom == ID_Room)).IDRoom),
- VerticalAlignment = VerticalAlignment.Top,
- HorizontalAlignment = HorizontalAlignment.Left,
- HorizontalContentAlignment = HorizontalAlignment.Center,
- Height = 65,
- Width = 1016,
- Margin = new Thickness(0, 23, 0, 0),
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
- Foreground = Brushes.White,
- FontSize = 36
- };
- Grid.SetRowSpan(RoomTitle, 2);
- Grid.SetColumnSpan(RoomTitle, 14);
- Rectangle rectangle = new Rectangle
- {
- Fill = (Brush)new BrushConverter().ConvertFromString("#FF198900"),
- HorizontalAlignment = HorizontalAlignment.Left,
- Height = 15,
- Margin = new Thickness(10.143, 0, 0, 0),
- VerticalAlignment = VerticalAlignment.Top,
- Width = 280
- };
- Grid.SetRow(rectangle, 2);
- Grid.SetColumn(rectangle, 5);
- Grid.SetColumnSpan(rectangle, 4);
- Label ScreenInfo = new Label
- {
- Content = "SCREEN",
- VerticalAlignment = VerticalAlignment.Top,
- HorizontalContentAlignment = HorizontalAlignment.Center,
- Height = 15,
- Margin = new Thickness(10, 0, 10, 0),
- Padding = new Thickness(0, 0, 0, 0),
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
- Foreground = (Brush)new BrushConverter().ConvertFromString("#FFA4A4A4"),
- Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D"),
- FontWeight = FontWeights.Bold
- };
- Grid.SetRow(ScreenInfo, 2);
- Grid.SetColumn(ScreenInfo, 5);
- Grid.SetColumnSpan(ScreenInfo, 6);
- List<int> busySeats = new List<int>();
- List<int> orderedSeats = new List<int>();
- string sql = "SELECT ID_MIEJSCA from ZAMOWIENIA where ID_SEANSU = " + toSQLString(ID_Screen.ToString());
- OracleCommand cmd = new OracleCommand(sql, conn);
- cmd.CommandType = CommandType.Text;
- OracleDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- busySeats.Add(Convert.ToInt32(dr["ID_MIEJSCA"].ToString()));
- }
- int i = 3; //Column start
- int j = 4; //Row start
- bool letterAdded = false;
- Xceed.Wpf.Toolkit.IconButton iconButton = new Xceed.Wpf.Toolkit.IconButton
- {
- Content = "Buy Ticket",
- Margin = new Thickness(5, 24, 5, 0),
- VerticalAlignment = VerticalAlignment.Top,
- BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF4B4B4B"),
- BorderThickness = new Thickness(2),
- Background = Brushes.Transparent,
- Foreground = Brushes.White,
- FontSize = 20,
- Height = 40,
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
- IsEnabled = false
- };
- iconButton.Click += (o, e) =>
- {
- foreach (int it in orderedSeats)
- {
- string sql1 = "insert into ZAMOWIENIA (ID_ZAMOWIENIA, ID_KLIENTA, ID_SEANSU, ID_MIEJSCA, REZERWACJA, PRZEDPLATA) VALUES (ZamowieniaIDSequence.nextval, :param1, :param2, :param3, :param4, :param5)";
- OracleCommand cmd1 = new OracleCommand(sql1, conn);
- cmd1.Parameters.Add("@param1", OracleDbType.Decimal).Value = Convert.ToDecimal(user.IDUser);
- cmd1.Parameters.Add("@param2", OracleDbType.Decimal).Value = Convert.ToDecimal(ID_Screen);
- cmd1.Parameters.Add("@param3", OracleDbType.Decimal).Value = Convert.ToDecimal(it);
- cmd1.Parameters.Add("@param4", OracleDbType.Char).Value = 'T';
- cmd1.Parameters.Add("@param5", OracleDbType.Char).Value = 'T';
- cmd1.CommandType = CommandType.Text;
- cmd1.ExecuteNonQuery();
- }
- if (!ScreensGrid.Equals(CurrentScene))
- {
- ChangeColor("Green");
- ChangeScene(ScreensGrid, CurrentScene);
- }
- };
- Grid.SetColumn(iconButton, 7);
- Grid.SetRow(iconButton, 8);
- Grid.SetColumnSpan(iconButton, 2);
- Grid.SetRowSpan(iconButton, 2);
- foreach (Seat it in seats.FindAll(s => s.IDRoom == ID_Room))
- {
- if (!letterAdded)
- {
- Label RowLetter = new Label
- {
- Content = it.Row,
- VerticalAlignment = VerticalAlignment.Top,
- HorizontalContentAlignment = HorizontalAlignment.Center,
- Height = 15,
- Margin = new Thickness(18, 17, 2, 0),
- Padding = new Thickness(0, 0, 0, 0),
- FontSize = 16,
- FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
- Foreground = (Brush)new BrushConverter().ConvertFromString("#FFA4A4A4"),
- Background = Brushes.Transparent,
- FontWeight = FontWeights.Bold
- };
- Grid.SetRow(RowLetter, j);
- Grid.SetColumn(RowLetter, 2);
- letterAdded = true;
- InsideSeatsGrid.Children.Add(RowLetter);
- }
- if(i > 12)
- {
- letterAdded = false;
- i = 3;
- j++;
- }
- Xceed.Wpf.Toolkit.Chromes.ButtonChrome seatButton = new Xceed.Wpf.Toolkit.Chromes.ButtonChrome
- {
- Name = "_" + it.IDSeat,
- Content = "",
- Margin = new Thickness(5,5,5,5),
- Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D"),
- BorderBrush = Brushes.Transparent,
- Style = (Style)Application.Current.Resources["ButtonChromeStyle"],
- };
- if(busySeats.Find(bs => bs == it.IDSeat) != 0)
- {
- seatButton.Background = (Brush)new BrushConverter().ConvertFromString("#FF5D0000");
- seatButton.IsHitTestVisible = false;
- }
- seatButton.MouseLeftButtonDown += (o, e) =>
- {
- Xceed.Wpf.Toolkit.Chromes.ButtonChrome temp = (Xceed.Wpf.Toolkit.Chromes.ButtonChrome)o;
- if (temp.Background.ToString() != "#FF1A9107")
- {
- iconButton.IsEnabled = true;
- orderedSeats.Add(Convert.ToInt32(temp.Name.Substring(1)));
- temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF1A9107");
- }
- else
- {
- orderedSeats.Remove(Convert.ToInt32(temp.Name.Substring(1)));
- temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D");
- if (orderedSeats.Count == 0)
- iconButton.IsEnabled = false;
- }
- };
- seatButton.MouseEnter += (o, e) =>
- {
- Xceed.Wpf.Toolkit.Chromes.ButtonChrome temp = (Xceed.Wpf.Toolkit.Chromes.ButtonChrome)o;
- if (temp.Background.ToString() != "#FF1A9107")
- temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF939393");
- };
- seatButton.MouseLeave += (o, e) =>
- {
- Xceed.Wpf.Toolkit.Chromes.ButtonChrome temp = (Xceed.Wpf.Toolkit.Chromes.ButtonChrome)o;
- if (temp.Background.ToString() == "#FF939393")
- temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D");
- };
- Grid.SetColumn(seatButton, i);
- Grid.SetRow(seatButton, j);
- InsideSeatsGrid.Children.Add(seatButton);
- i++;
- }
- InsideSeatsGrid.Children.Add(iconButton);
- InsideSeatsGrid.Children.Add(RoomTitle);
- InsideSeatsGrid.Children.Add(rectangle);
- InsideSeatsGrid.Children.Add(ScreenInfo);
- }
- public MainWindow()
- {
- InitializeComponent();
- UserButton.MouseLeave += UserButton_MouseLeave;
- UserButton.MouseEnter += UserButton_MouseEnter;
- ShowAccountButtonPanel.MouseEnter += ShowAccountButtonPanel_MouseEnter;
- ShowAccountButtonPanel.MouseLeave += ShowAccountButtonPanel_MouseLeave;
- ShowAccountLoggedPanel.MouseEnter += ShowAccountLoggedPanel_MouseEnter;
- ShowAccountLoggedPanel.MouseLeave += ShowAccountLoggedPanel_MouseLeave;
- CurrentScene = Carousel;
- PreviousScene = Carousel;
- conn.ConnectionString = oradb;
- conn.Open();
- System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
- dispatcherTimer.Tick += dispatcherTimer_Tick;
- dispatcherTimer.Interval = new TimeSpan(0, 0, 5);
- dispatcherTimer.Start();
- initRooms();
- initSeats();
- initMovies();
- InitScreens();
- Xceed.Wpf.Toolkit.DropDownButton tempButton = (Xceed.Wpf.Toolkit.DropDownButton)InsideScreensGrid.Children[0];
- CreateSchedule(tempButton.Content.ToString(), "");
- CreateSchedule(tempButton.Content.ToString(), "");
- }
- private void dispatcherTimer_Tick(object sender, EventArgs e)
- {
- actualCarouselMovie++;
- if (actualCarouselMovie >= actualCarouselMovieTitle.Length)
- {
- actualCarouselMovie = 0;
- }
- LabelMovieCategoryCarousel1.Content = actualCarouselMovieCategory[actualCarouselMovie];
- LabelMovieNameCarousel1.Content = actualCarouselMovieTitle[actualCarouselMovie];
- CarouselImage1.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
- TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth + 12, 0);
- Temp.RenderTransform = transform;
- MoveCarousel((int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), CarouselBody);
- MoveCarousel(0, TimeSpan.FromSeconds(0.5), Temp);
- }
- private void ChangeColor(string color)
- {
- EndTextColor = color;
- ColorAnimation changeBackgroundColor = new ColorAnimation();
- if(color == "Blue")
- changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF000028"), TimeSpan.FromSeconds(0.2));
- else if(color == "Red")
- changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF280000"), TimeSpan.FromSeconds(0.2));
- else if(color == "Gray")
- changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF282828"), TimeSpan.FromSeconds(0.2));
- else if(color == "Green")
- changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF002800"), TimeSpan.FromSeconds(0.2));
- changeBackgroundColor.AutoReverse = false;
- changeBackgroundColor.AccelerationRatio = 1;
- changeBackgroundColor.FillBehavior = FillBehavior.HoldEnd;
- Storyboard.SetTarget(changeBackgroundColor, UI);
- Storyboard.SetTargetProperty(changeBackgroundColor, new PropertyPath("(Window.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)"));
- Storyboard sb = new Storyboard();
- sb.Children.Add(changeBackgroundColor);
- sb.Begin();
- }
- private void ShowAccountButtonPanel_MouseLeave(object sender, MouseEventArgs e) => ShowAccountButtonPanel.Visibility = Visibility.Hidden;
- private void ShowAccountButtonPanel_MouseEnter(object sender, MouseEventArgs e) => ShowAccountButtonPanel.Visibility = Visibility.Visible;
- private void ShowAccountLoggedPanel_MouseLeave(object sender, MouseEventArgs e) => ShowAccountLoggedPanel.Visibility = Visibility.Hidden;
- private void ShowAccountLoggedPanel_MouseEnter(object sender, MouseEventArgs e) => ShowAccountLoggedPanel.Visibility = Visibility.Visible;
- private void UserButton_MouseLeave(object sender, MouseEventArgs e)
- {
- if (!isUserLogged)
- ShowAccountButtonPanel.Visibility = Visibility.Hidden;
- else
- ShowAccountLoggedPanel.Visibility = Visibility.Hidden;
- }
- private void UserButton_MouseEnter(object sender, MouseEventArgs e)
- {
- if (!isUserLogged)
- ShowAccountButtonPanel.Visibility = Visibility.Visible;
- else
- ShowAccountLoggedPanel.Visibility = Visibility.Visible;
- }
- public string StartTextColor
- {
- get { return startTextColor; }
- set
- {
- startTextColor = value;
- NotifyPropertyChanged("StartTextColor");
- }
- }
- public string EndTextColor
- {
- get { return endTextColor; }
- set
- {
- endTextColor = value;
- NotifyPropertyChanged("EndTextColor");
- }
- }
- public event PropertyChangedEventHandler PropertyChanged;
- public void NotifyPropertyChanged(String info)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
- }
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- EndTextColor = "Green";
- if (!ScreensGrid.Equals(CurrentScene))
- {
- ChangeColor("Green");
- ChangeScene(ScreensGrid, CurrentScene);
- }
- }
- private void Button_Click_1(object sender, RoutedEventArgs e)
- {
- EndTextColor = "Red";
- if (!MoviesGrid.Equals(CurrentScene))
- {
- ChangeColor("Red");
- ChangeScene(MoviesGrid, CurrentScene);
- }
- }
- private void Button_Click_2(object sender, RoutedEventArgs e)
- {
- EndTextColor = "Gray";
- }
- private void Button_Click4(object sender, RoutedEventArgs e)
- {
- EndTextColor = "Blue";
- if(!Carousel.Equals(CurrentScene))
- {
- ChangeColor("Blue");
- ChangeScene(Carousel, CurrentScene);
- }
- }
- private void MoveCarousel(int to, TimeSpan duration, UIElement grid)
- {
- DoubleAnimation animation = new DoubleAnimation();
- animation = new DoubleAnimation(to, duration);
- Storyboard.SetTarget(animation, grid);
- Storyboard.SetTargetProperty(animation,
- new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
- Storyboard sb = new Storyboard();
- sb.Children.Add(animation);
- sb.Completed += new EventHandler(Animation_Completed);
- sb.Begin();
- }
- private void Animation_Completed(object sender, EventArgs e)
- {
- Transform transform = CarouselBody.RenderTransform;
- transform = new TranslateTransform(0, 0);
- CarouselBody.RenderTransform = transform;
- LabelMovieCategoryCarousel.Content = actualCarouselMovieCategory[actualCarouselMovie];
- LabelMovieNameCarousel.Content = actualCarouselMovieTitle[actualCarouselMovie];
- CarouselImage.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
- transform = new TranslateTransform(-(int)UI.ActualWidth+12, 0);
- Temp.RenderTransform = transform;
- }
- private void ButtonRightArrow_Click(object sender, RoutedEventArgs e)
- {
- actualCarouselMovie++;
- if (actualCarouselMovie >= actualCarouselMovieTitle.Length)
- {
- actualCarouselMovie = 0;
- }
- LabelMovieCategoryCarousel1.Content = actualCarouselMovieCategory[actualCarouselMovie];
- LabelMovieNameCarousel1.Content = actualCarouselMovieTitle[actualCarouselMovie];
- CarouselImage1.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
- TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth+12, 0);
- Temp.RenderTransform = transform;
- MoveCarousel((int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), CarouselBody);
- MoveCarousel(0, TimeSpan.FromSeconds(0.5), Temp);
- }
- private void ButtonLeftArrow_Click(object sender, RoutedEventArgs e)
- {
- actualCarouselMovie--;
- if (actualCarouselMovie < 0)
- {
- actualCarouselMovie = actualCarouselMovieTitle.Length-1;
- }
- LabelMovieCategoryCarousel1.Content = actualCarouselMovieCategory[actualCarouselMovie];
- LabelMovieNameCarousel1.Content = actualCarouselMovieTitle[actualCarouselMovie];
- CarouselImage1.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
- TranslateTransform transform = new TranslateTransform((int)UI.ActualWidth-12, 0);
- Temp.RenderTransform = transform;
- MoveCarousel(-(int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), CarouselBody);
- MoveCarousel(0, TimeSpan.FromSeconds(0.5), Temp);
- }
- private void WatermarkTextBox_TextChanged(object sender, TextChangedEventArgs e)
- {
- if (CurrentScene == ScreensGrid)
- CreateSchedule("", SearchBar.Text);
- if (CurrentScene == MoviesGrid)
- CreateMoviesSchedule(SearchBar.Text);
- }
- private void UserButton_Click(object sender, RoutedEventArgs e)
- {
- }
- private void MoveScene(int to, TimeSpan duration, UIElement scene)
- {
- DoubleAnimation changeSceneAnim = new DoubleAnimation();
- changeSceneAnim = new DoubleAnimation(to, duration);
- Storyboard.SetTarget(changeSceneAnim, scene);
- Storyboard.SetTargetProperty(changeSceneAnim, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
- Storyboard sb = new Storyboard();
- sb.Children.Add(changeSceneAnim);
- sb.Completed += changeSceneAnim_Completed;
- sb.Begin();
- }
- private void changeSceneAnim_Completed(object sender, EventArgs e)
- {
- TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth, 0);
- PreviousScene.RenderTransform = transform;
- }
- private void ChangeScene(UIElement scene1, UIElement scene2)
- {
- TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth, 0);
- scene1.RenderTransform = transform;
- MoveScene(0, TimeSpan.FromSeconds(0.5), scene1);
- MoveScene((int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), scene2);
- CurrentScene = scene1;
- PreviousScene = scene2;
- }
- private void LogInPanelButton_Click(object sender, RoutedEventArgs e)
- {
- if (!LogInGrid.Equals(CurrentScene))
- {
- ChangeColor("Blue");
- ChangeScene(LogInGrid, CurrentScene);
- }
- }
- private void CreateAccount_Click(object sender, RoutedEventArgs e)
- {
- if (!SignUpGrid.Equals(CurrentScene))
- {
- ChangeColor("Blue");
- ChangeScene(SignUpGrid, CurrentScene);
- }
- }
- private void SignUpPanelButton_Click(object sender, RoutedEventArgs e)
- {
- if (!SignUpGrid.Equals(CurrentScene))
- {
- ChangeColor("Blue");
- ChangeScene(SignUpGrid, CurrentScene);
- }
- }
- private void IconButton_Click(object sender, RoutedEventArgs e)
- {
- if (!ChooseSeatsGrid.Equals(CurrentScene))
- {
- ChangeColor("Gray");
- ChangeScene(ChooseSeatsGrid, CurrentScene);
- }
- }
- private void LogInButton_Click(object sender, RoutedEventArgs e)
- {
- isLogged.Content = "";
- string sql = "select ID_KLIENTA from KLIENCI where HASLO = " + toSQLString(WatermarkPassword.Password) + "and EMAIL = " + toSQLString(WatermarkEmail.Text);
- OracleCommand cmd = new OracleCommand(sql, conn);
- cmd.CommandType = CommandType.Text;
- OracleDataReader dr = cmd.ExecuteReader();
- if(dr.Read())
- {
- int userID = Convert.ToInt32(dr["ID_KLIENTA"].ToString());
- isLogged.Foreground = Brushes.DarkGreen;
- isLogged.Content = "Correct password";
- sql = "select EMAIL, IMIE, NAZWISKO, NUMER_TEL from DANE_OSOBOWE " +
- "WHERE EMAIL = " + toSQLString(WatermarkEmail.Text);
- cmd = new OracleCommand(sql, conn);
- cmd.CommandType = CommandType.Text;
- dr = cmd.ExecuteReader();
- if(dr.Read())
- {
- user = new User
- {
- IDUser = userID,
- Email = dr["EMAIL"].ToString(),
- Name = dr["IMIE"].ToString(),
- Surname = dr["NAZWISKO"].ToString(),
- PhoneNumber = dr["NUMER_TEL"].ToString()
- };
- LabelAccountName.Content = user.Name + " " + user.Surname;
- isUserLogged = true;
- WatermarkEmail.Text = "";
- WatermarkPassword.Password = "";
- if (!Carousel.Equals(CurrentScene))
- {
- ChangeColor("Blue");
- ChangeScene(Carousel, CurrentScene);
- }
- }
- else
- {
- isLogged.Foreground = Brushes.DarkRed;
- isLogged.Content = "Cannot get user data";
- }
- }
- else
- {
- isLogged.Foreground = Brushes.DarkRed;
- isLogged.Content = "Invalid password or email";
- }
- }
- private void SignUpButton_Click(object sender, RoutedEventArgs e)
- {
- isSignedUp.Content = "";
- if(SignUpPassword.Password.Equals(SignUpConfirmPassword.Password))
- {
- if(SignUpEmail.Text.Contains("@") && SignUpEmail.Text.Substring(SignUpEmail.Text.Length - 4).Contains("."))
- {
- string sql = "insert into DANE_OSOBOWE(EMAIL,IMIE,NAZWISKO,NUMER_TEL) VALUES(:param1, :param2, :param3, :param4)";
- OracleCommand cmd = new OracleCommand(sql, conn);
- cmd.Parameters.Add("@param1", OracleDbType.Varchar2).Value = SignUpEmail.Text;
- cmd.Parameters.Add("@param2", OracleDbType.Varchar2).Value = SignUpName.Text;
- cmd.Parameters.Add("@param3", OracleDbType.Varchar2).Value = SignUpSurname.Text;
- cmd.Parameters.Add("@param4", OracleDbType.Decimal).Value = Convert.ToDecimal(SignUpPhoneNumber.Text);
- cmd.CommandType = CommandType.Text;
- cmd.ExecuteNonQuery();
- cmd.Parameters.Clear();
- sql = "insert into KLIENCI (ID_KLIENTA, EMAIL, HASLO) VALUES (KlienciIDSequence.nextval, :param1, :param2)";
- cmd = new OracleCommand(sql, conn);
- cmd.Parameters.Add("@param1", OracleDbType.Varchar2).Value = SignUpEmail.Text;
- cmd.Parameters.Add("@param2", OracleDbType.Varchar2).Value = SignUpPassword.Password;
- cmd.CommandType = CommandType.Text;
- cmd.ExecuteNonQuery();
- isSignedUp.Foreground = Brushes.DarkGreen;
- isSignedUp.Content = "Signed up!";
- SignUpEmail.Text = "";
- SignUpConfirmPassword.Password = "";
- SignUpPassword.Password = "";
- SignUpEmail.Text = "";
- SignUpName.Text = "";
- SignUpSurname.Text = "";
- if (!LogInGrid.Equals(CurrentScene))
- {
- ChangeColor("Blue");
- ChangeScene(LogInGrid, CurrentScene);
- }
- }
- else
- {
- isSignedUp.Foreground = Brushes.DarkRed;
- isSignedUp.Content = "Please insert correct email";
- }
- }
- else
- {
- isSignedUp.Foreground = Brushes.DarkRed;
- isSignedUp.Content = "Password must be the same!";
- }
- }
- private void LogOut_Click(object sender, RoutedEventArgs e)
- {
- if (!LogInGrid.Equals(CurrentScene))
- {
- user = new User();
- isUserLogged = false;
- LabelAccountName.Content = "";
- ChangeColor("Blue");
- ChangeScene(LogInGrid, CurrentScene);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement