Advertisement
Guest User

Untitled

a guest
Jan 26th, 2019
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 47.10 KB | None | 0 0
  1. using System;
  2. using System.ComponentModel;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using System.Windows.Input;
  6. using System.Windows.Media;
  7. using System.Windows.Media.Animation;
  8. using System.Windows.Media.Imaging;
  9. using Oracle.ManagedDataAccess.Client;
  10. using System.Configuration;
  11. using System.Data;
  12. using System.Collections.Generic;
  13. using System.Windows.Controls.Primitives;
  14. using System.Windows.Shapes;
  15.  
  16. namespace Cinema
  17. {
  18.     /// <summary>
  19.     /// Logika interakcji dla klasy MainWindow.xaml
  20.     /// </summary>
  21.     public partial class MainWindow : Window, INotifyPropertyChanged
  22.     {
  23.         private string startTextColor = "Blue";
  24.         private string endTextColor = "Blue";
  25.         private int actualCarouselMovie = 0;
  26.         private bool isUserLogged = false;
  27.         private string[] actualCarouselMovieTitle = { "Marry Popins Return", "Aquaman", "Spider-Man Universe", "Grinch" };
  28.         private string[] actualCarouselMovieCategory = { "Family", "Action", "Animated", "Animated" };
  29.         private string[] actualCarouselMovieImage = { "MaryPoppins", "Aquaman", "Spider", "Grinch" };
  30.  
  31.         private UIElement CurrentScene;
  32.         private UIElement PreviousScene;
  33.         private string oradb = "DATA SOURCE=localhost:1521/xe;USER ID=kino;PASSWORD=hr";
  34.         private OracleConnection conn = new OracleConnection();
  35.         private User user;
  36.         private List<Movie> movies = new List<Movie>();
  37.         private List<Screen> screens = new List<Screen>();
  38.         private List<Room> rooms = new List<Room>();
  39.         private List<Seat> seats = new List<Seat>();
  40.         private string toSQLString(string variable) => "'" + variable + "'";
  41.  
  42.         public static string ToRoman(int number)
  43.         {
  44.             if ((number < 0) || (number > 3999)) throw new ArgumentOutOfRangeException("insert value betwheen 1 and 3999");
  45.             if (number < 1) return string.Empty;
  46.             if (number >= 40) return "XL" + ToRoman(number - 40);
  47.             if (number >= 10) return "X" + ToRoman(number - 10);
  48.             if (number >= 9) return "IX" + ToRoman(number - 9);
  49.             if (number >= 5) return "V" + ToRoman(number - 5);
  50.             if (number >= 4) return "IV" + ToRoman(number - 4);
  51.             if (number >= 1) return "I" + ToRoman(number - 1);
  52.             throw new ArgumentOutOfRangeException("something bad happened");
  53.         }
  54.  
  55.         void initRooms()
  56.         {
  57.             string sql = "select ID_SALI, LICZBA_MIEJSC, TYP_SALI from SALE";
  58.             OracleCommand cmd = new OracleCommand(sql, conn);
  59.             cmd.CommandType = CommandType.Text;
  60.             OracleDataReader dr = cmd.ExecuteReader();
  61.             while (dr.Read())
  62.             {
  63.                 rooms.Add(new Room
  64.                 {
  65.                     IDRoom = Convert.ToInt32(dr["ID_SALI"].ToString()),
  66.                     SeatsAmount = Convert.ToInt32(dr["LICZBA_MIEJSC"].ToString()),
  67.                     RoomType = Convert.ToInt16(dr["TYP_SALI"].ToString())
  68.                 });
  69.             }
  70.             for (int i = 0; i < 10; i++)
  71.             {
  72.                 InsideSeatsGrid.RowDefinitions.Add(new RowDefinition
  73.                 {
  74.                     Height = new GridLength(1, GridUnitType.Star)
  75.                 });
  76.             }
  77.             for (int j = 0; j < 16; j++)
  78.             {
  79.                 InsideSeatsGrid.ColumnDefinitions.Add(new ColumnDefinition
  80.                 {
  81.                     Width = new GridLength(1, GridUnitType.Star)
  82.                 });
  83.             }
  84.         }
  85.  
  86.         void initSeats()
  87.         {
  88.             string sql = "select ID_MIEJSCA, ID_SALI, RZAD, NUMER from MIEJSCA";
  89.             OracleCommand cmd = new OracleCommand(sql, conn);
  90.             cmd.CommandType = CommandType.Text;
  91.             OracleDataReader dr = cmd.ExecuteReader();
  92.             while (dr.Read())
  93.             {
  94.                 seats.Add(new Seat
  95.                 {
  96.                     IDSeat = Convert.ToInt32(dr["ID_MIEJSCA"].ToString()),
  97.                     IDRoom = Convert.ToInt32(dr["ID_SALI"].ToString()),
  98.                     Row = Convert.ToChar(dr["RZAD"].ToString()),
  99.                     Number = Convert.ToInt32(dr["NUMER"].ToString())
  100.                 });
  101.             }      
  102.         }
  103.  
  104.         void initMovies()
  105.         {
  106.             string sql = "select ID_FILMU, TYTUL, GATUNEK, REZYSER, CZAS_TRWANIA, OCENA, ILOSC_GLOSOW from FILMY";
  107.             OracleCommand cmd = new OracleCommand(sql, conn);
  108.             cmd.CommandType = CommandType.Text;
  109.             OracleDataReader dr = cmd.ExecuteReader();
  110.             while (dr.Read())
  111.             {
  112.                 movies.Add(new Movie
  113.                 {
  114.                     IDMovie = Convert.ToInt32(dr["ID_FILMU"].ToString()),
  115.                     Title = dr["TYTUL"].ToString(),
  116.                     Genre = dr["GATUNEK"].ToString(),
  117.                     Director = dr["REZYSER"].ToString(),
  118.                     DurationTime = dr["CZAS_TRWANIA"].ToString(),
  119.                     Rate = dr["OCENA"].ToString(),
  120.                     RateAmount = dr["ILOSC_GLOSOW"].ToString()
  121.                 });
  122.             }
  123.             for (int i = 0; i < dr.RowSize; i++)
  124.             {
  125.                 InsideMoviesGrid.RowDefinitions.Add(new RowDefinition
  126.                 {
  127.                     Height = new GridLength(1, GridUnitType.Star)
  128.                 });
  129.             }
  130.             for (int j = 0; j <= 6; j++)
  131.             {
  132.                 InsideMoviesGrid.ColumnDefinitions.Add(new ColumnDefinition
  133.                 {
  134.                     Width = new GridLength(1, GridUnitType.Star)
  135.                 });
  136.             }
  137.  
  138.             CreateMoviesSchedule("");
  139.         }
  140.  
  141.         private void CreateMoviesSchedule(string ThisTitle = "")
  142.         {
  143.             InsideMoviesGrid.Children.Clear();
  144.             int i = 0, j = 1;
  145.  
  146.             List<Movie> tmp;
  147.             if (ThisTitle.Length != 0)
  148.                 tmp = movies.FindAll(m => (m.Title.IndexOf(ThisTitle, StringComparison.CurrentCultureIgnoreCase) != -1));
  149.             else
  150.                 tmp = movies;
  151.             foreach (Movie it in tmp)
  152.             {
  153.                 if(i == 3)
  154.                 {
  155.                     i = 0;
  156.                     j++;
  157.                 }
  158.                 Grid grid = new Grid
  159.                 {
  160.                     Margin = new Thickness(10, 10, 10, 54)
  161.                 };
  162.                 Grid.SetRow(grid, i);
  163.                 Grid.SetColumn(grid, j);
  164.                 InsideMoviesGrid.Children.Add(grid);
  165.                 Image image = new Image
  166.                 {
  167.                     HorizontalAlignment = HorizontalAlignment.Left,
  168.                     VerticalAlignment = VerticalAlignment.Top,
  169.                     Height = 171,
  170.                     Margin = new Thickness(0, 10, 0, 0),
  171.                     Width = 149,
  172.                     Stretch = Stretch.Fill,
  173.                     OpacityMask = Brushes.Black
  174.                 };
  175.                 try
  176.                 {
  177.                     image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/" + it.IDMovie.ToString() + ".jpg", UriKind.RelativeOrAbsolute));
  178.                 }
  179.                 catch
  180.                 {
  181.                     image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/1.jpg", UriKind.RelativeOrAbsolute));
  182.                 }
  183.                 Label label = new Label
  184.                 {
  185.                     Content = it.Title,
  186.                     HorizontalAlignment = HorizontalAlignment.Center,
  187.                     HorizontalContentAlignment = HorizontalAlignment.Center,
  188.                     VerticalAlignment = VerticalAlignment.Top,
  189.                     Margin = new Thickness(0, 186, 0, 0),
  190.                     Width = 149,
  191.                     FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
  192.                     Foreground = Brushes.White,
  193.                     FontWeight = FontWeights.Bold
  194.                 };
  195.  
  196.  
  197.                 Xceed.Wpf.Toolkit.IconButton iconButton = new Xceed.Wpf.Toolkit.IconButton
  198.                 {
  199.                     Content = "BUY TICKET",
  200.                     Margin = new Thickness(15, 46, 15, 0),
  201.                     VerticalAlignment = VerticalAlignment.Top,
  202.                     BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF910000"),
  203.                     Background = Brushes.Transparent,
  204.                     Height = 28,
  205.                     Foreground = Brushes.White,
  206.                     FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Semibold"),
  207.                     FontWeight = FontWeights.Bold,
  208.                     Visibility = Visibility.Hidden
  209.                 };
  210.  
  211.                 iconButton.Click += (o, e) =>
  212.                 {
  213.                     SearchBar.Text = it.Title;
  214.                     CreateSchedule("", it.Title);
  215.                     if (!ScreensGrid.Equals(CurrentScene))
  216.                     {
  217.                         ChangeColor("Green");
  218.                         ChangeScene(ScreensGrid, CurrentScene);
  219.                     }
  220.                 };
  221.  
  222.                 Label rate = new Label
  223.                 {
  224.                     Content = it.Rate + "/10",
  225.                     VerticalAlignment = VerticalAlignment.Top,
  226.                     HorizontalContentAlignment = HorizontalAlignment.Center,
  227.                     HorizontalAlignment = HorizontalAlignment.Center,
  228.                     Margin = new Thickness(0, 100, 0, 0),
  229.                     Width = 149,
  230.                     FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
  231.                     Foreground = Brushes.White,
  232.                     FontWeight = FontWeights.Bold,
  233.                     FontSize = 22,
  234.                     Visibility = Visibility.Hidden
  235.                 };
  236.  
  237.  
  238.                 grid.MouseEnter += (o, s) =>
  239.                 {
  240.                     ColorAnimation changeOpacity = new ColorAnimation();
  241.                     changeOpacity = new ColorAnimation(Color.FromArgb(128, 0, 0, 0), TimeSpan.FromSeconds(0.25));
  242.                     Storyboard.SetTarget(changeOpacity, image);
  243.                     Storyboard.SetTargetProperty(changeOpacity, new PropertyPath("(OpacityMask).(SolidColorBrush.Color)"));
  244.                     Storyboard sb = new Storyboard();
  245.                     sb.Children.Add(changeOpacity);
  246.                     sb.Begin();
  247.                     rate.Visibility = Visibility.Visible;
  248.                     iconButton.Visibility = Visibility.Visible;
  249.                 };
  250.  
  251.                 grid.MouseLeave += (o, s) =>
  252.                 {
  253.                     ColorAnimation changeOpacity = new ColorAnimation();
  254.                     changeOpacity = new ColorAnimation(Color.FromArgb(255, 0, 0, 0), TimeSpan.FromSeconds(0.25));
  255.                     Storyboard.SetTarget(changeOpacity, image);
  256.                     Storyboard.SetTargetProperty(changeOpacity, new PropertyPath("(OpacityMask).(SolidColorBrush.Color)"));
  257.                     Storyboard sb = new Storyboard();
  258.                     sb.Children.Add(changeOpacity);
  259.                     sb.Begin();
  260.                     rate.Visibility = Visibility.Hidden;
  261.                     iconButton.Visibility = Visibility.Hidden;
  262.                 };
  263.  
  264.                 grid.Children.Add(image);
  265.                 grid.Children.Add(label);
  266.                 grid.Children.Add(iconButton);
  267.                 grid.Children.Add(rate);
  268.                 i++;
  269.             }
  270.         }
  271.  
  272.         private void InitScreens()
  273.         {
  274.             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";
  275.             OracleCommand cmd = new OracleCommand(sql, conn);
  276.             cmd.CommandType = CommandType.Text;
  277.             OracleDataReader dr = cmd.ExecuteReader();
  278.             while (dr.Read())
  279.             {
  280.  
  281.                 screens.Add(new Screen
  282.                 {
  283.                     IDScreen = Convert.ToInt32(dr["ID_SEANSU"].ToString()),
  284.                     movie = movies.Find(m => m.IDMovie == Convert.ToInt32(dr["ID_FILMU"].ToString())),
  285.                     room = rooms.Find(r => r.IDRoom == Convert.ToInt32(dr["ID_SALI"].ToString())),
  286.                     date = dr[3].ToString(),
  287.                     time = dr[4].ToString(),
  288.                     price = Convert.ToInt32(dr["CENA"].ToString())
  289.                 });
  290.             }
  291.  
  292.             for (int j = 0; j < 8; j++)
  293.             {
  294.                 InsideScreensGrid.ColumnDefinitions.Add(new ColumnDefinition
  295.                 {
  296.                     Width = new GridLength(1, GridUnitType.Star)
  297.                 });
  298.             }
  299.             Xceed.Wpf.Toolkit.DropDownButton dropDownButton = new Xceed.Wpf.Toolkit.DropDownButton
  300.             {
  301.                 Content = DateTime.Now.ToString("yyyy/MM/dd").Replace(".", "/"),
  302.                 HorizontalAlignment = HorizontalAlignment.Left,
  303.                 VerticalAlignment = VerticalAlignment.Top,
  304.                 Margin = new Thickness(0,25,0,0),
  305.                 Width=117,
  306.                 Height=23,
  307.                 Background=Brushes.Transparent,
  308.                 Foreground=Brushes.White,
  309.                 FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
  310.                 FontSize=14,
  311.                 HorizontalContentAlignment = HorizontalAlignment.Center,
  312.                 BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF009107"),
  313.                 Padding = new Thickness(0,0,0,2),
  314.                 DropDownContentBackground = Brushes.Transparent,
  315.                 BorderThickness = new Thickness(1),
  316.                 Style = (Style)Application.Current.Resources["DropDownButtonStyle"],
  317.             };
  318.             Calendar calendar = new Calendar();
  319.             calendar.SelectedDatesChanged += (o, e) =>
  320.             {
  321.                 dropDownButton.Content = calendar.SelectedDate.Value.ToString("yyyy/MM/dd").Replace(".", "/");
  322.                 dropDownButton.IsOpen = false;
  323.                 CreateSchedule(dropDownButton.Content.ToString(), "");
  324.             };
  325.             dropDownButton.DropDownContent = calendar;
  326.             Grid.SetColumn(dropDownButton, 7);
  327.             InsideScreensGrid.Children.Add(dropDownButton);
  328.         }
  329.         public void CreateSchedule(string ThisDate, string ThisTitle = "")
  330.         {
  331.  
  332.             InsideScreensGrid.Children.RemoveRange(1, InsideScreensGrid.Children.Count);
  333.             int k = 0;
  334.             foreach (Movie mov in movies)
  335.             {
  336.                 List<Screen> tmp;
  337.                 Xceed.Wpf.Toolkit.DropDownButton tempButton = (Xceed.Wpf.Toolkit.DropDownButton)InsideScreensGrid.Children[0];
  338.                 if (ThisTitle.Length != 0)
  339.                     tmp = screens.FindAll(s => (s.movie.Title.IndexOf(ThisTitle, StringComparison.CurrentCultureIgnoreCase) != -1 && s.movie.IDMovie == mov.IDMovie && s.date == tempButton.Content.ToString()));
  340.                 else
  341.                     tmp = screens.FindAll(s => (s.date == tempButton.Content.ToString() && s.movie.IDMovie == mov.IDMovie));
  342.                 if (tmp.Count == 0)
  343.                 {
  344.                     continue;
  345.                 }
  346.                 int i = 0;
  347.  
  348.                 InsideScreensGrid.RowDefinitions.Add(new RowDefinition
  349.                 {
  350.                     Height = new GridLength(1, GridUnitType.Star)
  351.                 });
  352.  
  353.                 Grid grid = new Grid
  354.                 {
  355.                     Margin = new Thickness(0, 25, 10, 2)
  356.                 };
  357.  
  358.                 Grid.SetRow(grid, k);
  359.                 Grid.SetColumn(grid, 1);
  360.                 Grid.SetColumnSpan(grid, 6);
  361.                 InsideScreensGrid.Children.Add(grid);
  362.  
  363.                 foreach (Screen it in tmp)
  364.                 {
  365.                     Xceed.Wpf.Toolkit.IconButton iconButton = new Xceed.Wpf.Toolkit.IconButton
  366.                     {
  367.                         Name = "_" + it.IDScreen.ToString(),
  368.                         Content = it.time,
  369.                         Margin = new Thickness(137 + (107 * (i % 4)), 81, 0, 0),
  370.                         VerticalAlignment = VerticalAlignment.Top,
  371.                         HorizontalAlignment = HorizontalAlignment.Left,
  372.                         BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF009107"),
  373.                         BorderThickness = new Thickness(2),
  374.                         Background = Brushes.Transparent,
  375.                         Width = 107,
  376.                         Height = 35,
  377.                         Foreground = Brushes.White,
  378.                         FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Black"),
  379.                         FontWeight = FontWeights.Bold,
  380.                         FontSize = 16,
  381.                         IsEnabled = true
  382.                     };
  383.                     if (i > 3)
  384.                         iconButton.Margin = new Thickness(137 + (107 * (i % 4)), 139, 0, 0);
  385.  
  386.                     iconButton.Click += (o, s) =>
  387.                     {
  388.                         Xceed.Wpf.Toolkit.IconButton temp = (Xceed.Wpf.Toolkit.IconButton)o;
  389.                         if(isUserLogged)
  390.                         {
  391.                             if (!ChooseSeatsGrid.Equals(CurrentScene))
  392.                             {
  393.                                 CreateRoom(it.room.IDRoom, it.IDScreen);
  394.                                 ChangeColor("Gray");
  395.                                 ChangeScene(ChooseSeatsGrid, CurrentScene);
  396.                             }
  397.                         }
  398.                         else
  399.                         {
  400.                             ChangeColor("Blue");
  401.                             ChangeScene(LogInGrid, CurrentScene);
  402.                         }
  403.                     };
  404.  
  405.                     grid.Children.Add(iconButton);
  406.                     i++;
  407.                 }
  408.                 Label genre = new Label
  409.                 {
  410.                     Content = mov.Genre,
  411.                     VerticalAlignment = VerticalAlignment.Top,
  412.                     HorizontalAlignment = HorizontalAlignment.Left,
  413.                     Margin = new Thickness(127, 32, 0, 0),
  414.                     FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
  415.                     Foreground = (Brush)new BrushConverter().ConvertFromString("#B2FFD100")
  416.                 };
  417.  
  418.                 Label title = new Label
  419.                 {
  420.                     Content = mov.Title,
  421.                     Margin = new Thickness(127, 0, 244, 202),
  422.                     FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
  423.                     FontWeight = FontWeights.Bold,
  424.                     FontSize = 24,
  425.                     Foreground = Brushes.White
  426.                 };
  427.                 Label durationTime = new Label
  428.                 {
  429.                     Content = mov.DurationTime + " minutes",
  430.                     VerticalAlignment = VerticalAlignment.Top,
  431.                     HorizontalAlignment = HorizontalAlignment.Left,
  432.                     HorizontalContentAlignment = HorizontalAlignment.Right,
  433.                     Width = 79,
  434.                     Margin = new Thickness(190, 32, 0, 0),
  435.                     FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
  436.                     Foreground = (Brush)new BrushConverter().ConvertFromString("#B2FFD100")
  437.                 };
  438.  
  439.                 Image image = new Image
  440.                 {
  441.                     HorizontalAlignment = HorizontalAlignment.Left,
  442.                     VerticalAlignment = VerticalAlignment.Top,
  443.                     Height = 218,
  444.                     Width = 127,
  445.                     Stretch = Stretch.Fill,
  446.                 };
  447.                 try
  448.                 {
  449.                     image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/" + mov.IDMovie.ToString() + ".jpg", UriKind.RelativeOrAbsolute));
  450.                 }
  451.                 catch
  452.                 {
  453.                     image.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Thumbnails/1.jpg", UriKind.RelativeOrAbsolute));
  454.                 }
  455.                 grid.Children.Add(title);
  456.                 grid.Children.Add(genre);
  457.                 grid.Children.Add(durationTime);
  458.  
  459.                 grid.Children.Add(image);
  460.                 k++;
  461.             }
  462.         }
  463.  
  464.         public void CreateRoom(int ID_Room, int ID_Screen)
  465.         {
  466.             InsideSeatsGrid.Children.Clear();
  467.             Label RoomTitle = new Label
  468.             {
  469.                 Content = "Room " + ToRoman(rooms.Find(r => (r.IDRoom == ID_Room)).IDRoom),
  470.                 VerticalAlignment = VerticalAlignment.Top,
  471.                 HorizontalAlignment = HorizontalAlignment.Left,
  472.                 HorizontalContentAlignment = HorizontalAlignment.Center,
  473.                 Height = 65,
  474.                 Width = 1016,
  475.                 Margin = new Thickness(0, 23, 0, 0),
  476.                 FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato"),
  477.                 Foreground = Brushes.White,
  478.                 FontSize = 36
  479.             };
  480.  
  481.             Grid.SetRowSpan(RoomTitle, 2);
  482.             Grid.SetColumnSpan(RoomTitle, 14);
  483.  
  484.             Rectangle rectangle = new Rectangle
  485.             {
  486.                 Fill = (Brush)new BrushConverter().ConvertFromString("#FF198900"),
  487.                 HorizontalAlignment = HorizontalAlignment.Left,
  488.                 Height = 15,
  489.                 Margin = new Thickness(10.143, 0, 0, 0),
  490.                 VerticalAlignment = VerticalAlignment.Top,
  491.                 Width = 280
  492.             };
  493.  
  494.             Grid.SetRow(rectangle, 2);
  495.             Grid.SetColumn(rectangle, 5);
  496.             Grid.SetColumnSpan(rectangle, 4);
  497.  
  498.             Label ScreenInfo = new Label
  499.             {
  500.                 Content = "SCREEN",
  501.                 VerticalAlignment = VerticalAlignment.Top,
  502.                 HorizontalContentAlignment = HorizontalAlignment.Center,
  503.                 Height = 15,
  504.                 Margin = new Thickness(10, 0, 10, 0),
  505.                 Padding = new Thickness(0, 0, 0, 0),
  506.                 FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
  507.                 Foreground = (Brush)new BrushConverter().ConvertFromString("#FFA4A4A4"),
  508.                 Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D"),
  509.                 FontWeight = FontWeights.Bold
  510.             };
  511.  
  512.             Grid.SetRow(ScreenInfo, 2);
  513.             Grid.SetColumn(ScreenInfo, 5);
  514.             Grid.SetColumnSpan(ScreenInfo, 6);
  515.  
  516.             List<int> busySeats = new List<int>();
  517.             List<int> orderedSeats = new List<int>();
  518.  
  519.             string sql = "SELECT ID_MIEJSCA from ZAMOWIENIA where ID_SEANSU = " + toSQLString(ID_Screen.ToString());
  520.             OracleCommand cmd = new OracleCommand(sql, conn);
  521.             cmd.CommandType = CommandType.Text;
  522.             OracleDataReader dr = cmd.ExecuteReader();
  523.             while (dr.Read())
  524.             {
  525.                 busySeats.Add(Convert.ToInt32(dr["ID_MIEJSCA"].ToString()));
  526.             }
  527.  
  528.  
  529.             int i = 3; //Column start
  530.             int j = 4; //Row start
  531.             bool letterAdded = false;
  532.  
  533.             Xceed.Wpf.Toolkit.IconButton iconButton = new Xceed.Wpf.Toolkit.IconButton
  534.             {
  535.                 Content = "Buy Ticket",
  536.                 Margin = new Thickness(5, 24, 5, 0),
  537.                 VerticalAlignment = VerticalAlignment.Top,
  538.                 BorderBrush = (Brush)new BrushConverter().ConvertFromString("#FF4B4B4B"),
  539.                 BorderThickness = new Thickness(2),
  540.                 Background = Brushes.Transparent,
  541.                 Foreground = Brushes.White,
  542.                 FontSize = 20,
  543.                 Height = 40,
  544.                 FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
  545.                 IsEnabled = false
  546.             };
  547.  
  548.             iconButton.Click += (o, e) =>
  549.             {
  550.                 foreach (int it in orderedSeats)
  551.                 {
  552.                     string sql1 = "insert into ZAMOWIENIA (ID_ZAMOWIENIA, ID_KLIENTA, ID_SEANSU, ID_MIEJSCA, REZERWACJA, PRZEDPLATA) VALUES (ZamowieniaIDSequence.nextval, :param1, :param2, :param3, :param4, :param5)";
  553.                     OracleCommand cmd1 = new OracleCommand(sql1, conn);
  554.                     cmd1.Parameters.Add("@param1", OracleDbType.Decimal).Value = Convert.ToDecimal(user.IDUser);
  555.                     cmd1.Parameters.Add("@param2", OracleDbType.Decimal).Value = Convert.ToDecimal(ID_Screen);
  556.                     cmd1.Parameters.Add("@param3", OracleDbType.Decimal).Value = Convert.ToDecimal(it);
  557.                     cmd1.Parameters.Add("@param4", OracleDbType.Char).Value = 'T';
  558.                     cmd1.Parameters.Add("@param5", OracleDbType.Char).Value = 'T';
  559.                     cmd1.CommandType = CommandType.Text;
  560.                     cmd1.ExecuteNonQuery();
  561.                 }
  562.  
  563.                 if (!ScreensGrid.Equals(CurrentScene))
  564.                 {
  565.                     ChangeColor("Green");
  566.                     ChangeScene(ScreensGrid, CurrentScene);
  567.                 }
  568.             };
  569.  
  570.             Grid.SetColumn(iconButton, 7);
  571.             Grid.SetRow(iconButton, 8);
  572.             Grid.SetColumnSpan(iconButton, 2);
  573.             Grid.SetRowSpan(iconButton, 2);
  574.  
  575.             foreach (Seat it in seats.FindAll(s => s.IDRoom == ID_Room))
  576.             {
  577.                 if (!letterAdded)
  578.                 {
  579.                     Label RowLetter = new Label
  580.                     {
  581.                         Content = it.Row,
  582.                         VerticalAlignment = VerticalAlignment.Top,
  583.                         HorizontalContentAlignment = HorizontalAlignment.Center,
  584.                         Height = 15,
  585.                         Margin = new Thickness(18, 17, 2, 0),
  586.                         Padding = new Thickness(0, 0, 0, 0),
  587.                         FontSize = 16,
  588.                         FontFamily = new FontFamily("/Cinema;component/Fonts/#Lato Heavy"),
  589.                         Foreground = (Brush)new BrushConverter().ConvertFromString("#FFA4A4A4"),
  590.                         Background = Brushes.Transparent,
  591.                         FontWeight = FontWeights.Bold
  592.                     };
  593.                     Grid.SetRow(RowLetter, j);
  594.                     Grid.SetColumn(RowLetter, 2);
  595.                     letterAdded = true;
  596.                     InsideSeatsGrid.Children.Add(RowLetter);
  597.                 }
  598.                 if(i > 12)
  599.                 {
  600.                     letterAdded = false;
  601.                     i = 3;
  602.                     j++;
  603.                 }
  604.                 Xceed.Wpf.Toolkit.Chromes.ButtonChrome seatButton = new Xceed.Wpf.Toolkit.Chromes.ButtonChrome
  605.                 {
  606.                     Name = "_" + it.IDSeat,
  607.                     Content = "",
  608.                     Margin = new Thickness(5,5,5,5),
  609.                     Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D"),
  610.                     BorderBrush = Brushes.Transparent,
  611.                     Style = (Style)Application.Current.Resources["ButtonChromeStyle"],
  612.                 };
  613.                 if(busySeats.Find(bs => bs == it.IDSeat) != 0)
  614.                 {
  615.                     seatButton.Background = (Brush)new BrushConverter().ConvertFromString("#FF5D0000");
  616.                     seatButton.IsHitTestVisible = false;
  617.                 }
  618.  
  619.                 seatButton.MouseLeftButtonDown += (o, e) =>
  620.                 {
  621.                     Xceed.Wpf.Toolkit.Chromes.ButtonChrome temp = (Xceed.Wpf.Toolkit.Chromes.ButtonChrome)o;
  622.                     if (temp.Background.ToString() != "#FF1A9107")
  623.                     {
  624.                         iconButton.IsEnabled = true;
  625.                         orderedSeats.Add(Convert.ToInt32(temp.Name.Substring(1)));
  626.                         temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF1A9107");
  627.                     }
  628.                     else
  629.                     {
  630.                         orderedSeats.Remove(Convert.ToInt32(temp.Name.Substring(1)));
  631.                         temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D");
  632.                         if (orderedSeats.Count == 0)
  633.                             iconButton.IsEnabled = false;
  634.                     }
  635.                        
  636.                 };
  637.  
  638.                 seatButton.MouseEnter += (o, e) =>
  639.                 {
  640.                     Xceed.Wpf.Toolkit.Chromes.ButtonChrome temp = (Xceed.Wpf.Toolkit.Chromes.ButtonChrome)o;
  641.                     if (temp.Background.ToString() != "#FF1A9107")
  642.                         temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF939393");
  643.                 };
  644.  
  645.                 seatButton.MouseLeave += (o, e) =>
  646.                 {
  647.                     Xceed.Wpf.Toolkit.Chromes.ButtonChrome temp = (Xceed.Wpf.Toolkit.Chromes.ButtonChrome)o;
  648.                     if (temp.Background.ToString() == "#FF939393")
  649.                        temp.Background = (Brush)new BrushConverter().ConvertFromString("#FF5D5D5D");
  650.                 };
  651.  
  652.                 Grid.SetColumn(seatButton, i);
  653.                 Grid.SetRow(seatButton, j);
  654.                 InsideSeatsGrid.Children.Add(seatButton);
  655.                 i++;
  656.             }
  657.  
  658.             InsideSeatsGrid.Children.Add(iconButton);
  659.             InsideSeatsGrid.Children.Add(RoomTitle);
  660.             InsideSeatsGrid.Children.Add(rectangle);
  661.             InsideSeatsGrid.Children.Add(ScreenInfo);
  662.         }
  663.  
  664.         public MainWindow()
  665.         {
  666.             InitializeComponent();
  667.             UserButton.MouseLeave += UserButton_MouseLeave;
  668.             UserButton.MouseEnter += UserButton_MouseEnter;
  669.             ShowAccountButtonPanel.MouseEnter += ShowAccountButtonPanel_MouseEnter;
  670.             ShowAccountButtonPanel.MouseLeave += ShowAccountButtonPanel_MouseLeave;
  671.             ShowAccountLoggedPanel.MouseEnter += ShowAccountLoggedPanel_MouseEnter;
  672.             ShowAccountLoggedPanel.MouseLeave += ShowAccountLoggedPanel_MouseLeave;
  673.             CurrentScene = Carousel;
  674.             PreviousScene = Carousel;
  675.  
  676.             conn.ConnectionString = oradb;
  677.             conn.Open();
  678.  
  679.             System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
  680.             dispatcherTimer.Tick += dispatcherTimer_Tick;
  681.             dispatcherTimer.Interval = new TimeSpan(0, 0, 5);
  682.             dispatcherTimer.Start();
  683.  
  684.  
  685.             initRooms();
  686.             initSeats();
  687.             initMovies();
  688.             InitScreens();
  689.             Xceed.Wpf.Toolkit.DropDownButton tempButton = (Xceed.Wpf.Toolkit.DropDownButton)InsideScreensGrid.Children[0];
  690.             CreateSchedule(tempButton.Content.ToString(), "");
  691.             CreateSchedule(tempButton.Content.ToString(), "");
  692.         }
  693.  
  694.         private void dispatcherTimer_Tick(object sender, EventArgs e)
  695.         {
  696.             actualCarouselMovie++;
  697.             if (actualCarouselMovie >= actualCarouselMovieTitle.Length)
  698.             {
  699.                 actualCarouselMovie = 0;
  700.             }
  701.             LabelMovieCategoryCarousel1.Content = actualCarouselMovieCategory[actualCarouselMovie];
  702.             LabelMovieNameCarousel1.Content = actualCarouselMovieTitle[actualCarouselMovie];
  703.             CarouselImage1.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
  704.             TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth + 12, 0);
  705.             Temp.RenderTransform = transform;
  706.             MoveCarousel((int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), CarouselBody);
  707.             MoveCarousel(0, TimeSpan.FromSeconds(0.5), Temp);
  708.         }
  709.  
  710.         private void ChangeColor(string color)
  711.         {
  712.             EndTextColor = color;
  713.             ColorAnimation changeBackgroundColor = new ColorAnimation();
  714.             if(color == "Blue")
  715.                 changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF000028"), TimeSpan.FromSeconds(0.2));
  716.             else if(color == "Red")
  717.                 changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF280000"), TimeSpan.FromSeconds(0.2));
  718.             else if(color == "Gray")
  719.                 changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF282828"), TimeSpan.FromSeconds(0.2));
  720.             else if(color == "Green")
  721.                 changeBackgroundColor = new ColorAnimation((Color)ColorConverter.ConvertFromString("#FF002800"), TimeSpan.FromSeconds(0.2));
  722.             changeBackgroundColor.AutoReverse = false;
  723.             changeBackgroundColor.AccelerationRatio = 1;
  724.             changeBackgroundColor.FillBehavior = FillBehavior.HoldEnd;
  725.             Storyboard.SetTarget(changeBackgroundColor, UI);
  726.             Storyboard.SetTargetProperty(changeBackgroundColor, new PropertyPath("(Window.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)"));
  727.             Storyboard sb = new Storyboard();
  728.             sb.Children.Add(changeBackgroundColor);
  729.             sb.Begin();
  730.  
  731.  
  732.         }
  733.  
  734.         private void ShowAccountButtonPanel_MouseLeave(object sender, MouseEventArgs e) => ShowAccountButtonPanel.Visibility = Visibility.Hidden;
  735.  
  736.         private void ShowAccountButtonPanel_MouseEnter(object sender, MouseEventArgs e) =>  ShowAccountButtonPanel.Visibility = Visibility.Visible;
  737.  
  738.         private void ShowAccountLoggedPanel_MouseLeave(object sender, MouseEventArgs e) => ShowAccountLoggedPanel.Visibility = Visibility.Hidden;
  739.  
  740.         private void ShowAccountLoggedPanel_MouseEnter(object sender, MouseEventArgs e) => ShowAccountLoggedPanel.Visibility = Visibility.Visible;
  741.         private void UserButton_MouseLeave(object sender, MouseEventArgs e)
  742.         {
  743.             if (!isUserLogged)
  744.                 ShowAccountButtonPanel.Visibility = Visibility.Hidden;
  745.             else
  746.                 ShowAccountLoggedPanel.Visibility = Visibility.Hidden;
  747.         }
  748.  
  749.  
  750.         private void UserButton_MouseEnter(object sender, MouseEventArgs e)
  751.         {
  752.             if (!isUserLogged)
  753.                 ShowAccountButtonPanel.Visibility = Visibility.Visible;
  754.             else
  755.                 ShowAccountLoggedPanel.Visibility = Visibility.Visible;
  756.         }
  757.         public string StartTextColor
  758.         {
  759.             get { return startTextColor; }
  760.             set
  761.             {
  762.                 startTextColor = value;
  763.                 NotifyPropertyChanged("StartTextColor");
  764.             }
  765.         }
  766.  
  767.         public string EndTextColor
  768.         {
  769.             get { return endTextColor; }
  770.             set
  771.             {
  772.                 endTextColor = value;
  773.                 NotifyPropertyChanged("EndTextColor");
  774.             }
  775.         }
  776.  
  777.         public event PropertyChangedEventHandler PropertyChanged;
  778.  
  779.         public void NotifyPropertyChanged(String info)
  780.         {
  781.             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
  782.         }
  783.         private void Button_Click(object sender, RoutedEventArgs e)
  784.         {
  785.             EndTextColor = "Green";
  786.             if (!ScreensGrid.Equals(CurrentScene))
  787.             {
  788.                 ChangeColor("Green");
  789.                 ChangeScene(ScreensGrid, CurrentScene);
  790.             }
  791.         }
  792.  
  793.         private void Button_Click_1(object sender, RoutedEventArgs e)
  794.         {
  795.             EndTextColor = "Red";
  796.             if (!MoviesGrid.Equals(CurrentScene))
  797.             {
  798.                 ChangeColor("Red");
  799.                 ChangeScene(MoviesGrid, CurrentScene);
  800.             }
  801.            
  802.            
  803.         }
  804.         private void Button_Click_2(object sender, RoutedEventArgs e)
  805.         {
  806.             EndTextColor = "Gray";
  807.         }
  808.         private void Button_Click4(object sender, RoutedEventArgs e)
  809.         {
  810.             EndTextColor = "Blue";
  811.             if(!Carousel.Equals(CurrentScene))
  812.             {
  813.                 ChangeColor("Blue");
  814.                 ChangeScene(Carousel, CurrentScene);
  815.             }
  816.         }
  817.  
  818.         private void MoveCarousel(int to, TimeSpan duration, UIElement grid)
  819.         {
  820.             DoubleAnimation animation = new DoubleAnimation();
  821.             animation = new DoubleAnimation(to, duration);
  822.             Storyboard.SetTarget(animation, grid);
  823.             Storyboard.SetTargetProperty(animation,
  824.                   new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
  825.             Storyboard sb = new Storyboard();
  826.             sb.Children.Add(animation);
  827.             sb.Completed += new EventHandler(Animation_Completed);
  828.             sb.Begin();
  829.            
  830.         }
  831.  
  832.         private void Animation_Completed(object sender, EventArgs e)
  833.         {
  834.             Transform transform = CarouselBody.RenderTransform;
  835.             transform = new TranslateTransform(0, 0);
  836.             CarouselBody.RenderTransform = transform;
  837.             LabelMovieCategoryCarousel.Content = actualCarouselMovieCategory[actualCarouselMovie];
  838.             LabelMovieNameCarousel.Content = actualCarouselMovieTitle[actualCarouselMovie];
  839.             CarouselImage.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
  840.             transform = new TranslateTransform(-(int)UI.ActualWidth+12, 0);
  841.             Temp.RenderTransform = transform;
  842.         }
  843.  
  844.         private void ButtonRightArrow_Click(object sender, RoutedEventArgs e)
  845.         {
  846.             actualCarouselMovie++;
  847.             if (actualCarouselMovie >= actualCarouselMovieTitle.Length)
  848.             {
  849.                 actualCarouselMovie = 0;
  850.             }
  851.             LabelMovieCategoryCarousel1.Content = actualCarouselMovieCategory[actualCarouselMovie];
  852.             LabelMovieNameCarousel1.Content = actualCarouselMovieTitle[actualCarouselMovie];
  853.             CarouselImage1.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
  854.             TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth+12, 0);
  855.             Temp.RenderTransform = transform;
  856.             MoveCarousel((int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), CarouselBody);
  857.             MoveCarousel(0, TimeSpan.FromSeconds(0.5), Temp);
  858.         }
  859.  
  860.         private void ButtonLeftArrow_Click(object sender, RoutedEventArgs e)
  861.         {
  862.             actualCarouselMovie--;
  863.             if (actualCarouselMovie < 0)
  864.             {
  865.                 actualCarouselMovie = actualCarouselMovieTitle.Length-1;
  866.             }
  867.             LabelMovieCategoryCarousel1.Content = actualCarouselMovieCategory[actualCarouselMovie];
  868.             LabelMovieNameCarousel1.Content = actualCarouselMovieTitle[actualCarouselMovie];
  869.             CarouselImage1.Source = new BitmapImage(new Uri("pack://application:,,,/Cinema;component/Pictures/" + actualCarouselMovieImage[actualCarouselMovie] + "Slider.jpg", UriKind.RelativeOrAbsolute));
  870.             TranslateTransform transform = new TranslateTransform((int)UI.ActualWidth-12, 0);
  871.             Temp.RenderTransform = transform;
  872.             MoveCarousel(-(int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), CarouselBody);
  873.             MoveCarousel(0, TimeSpan.FromSeconds(0.5), Temp);
  874.         }
  875.  
  876.         private void WatermarkTextBox_TextChanged(object sender, TextChangedEventArgs e)
  877.         {
  878.             if (CurrentScene == ScreensGrid)
  879.                 CreateSchedule("", SearchBar.Text);
  880.             if (CurrentScene == MoviesGrid)
  881.                 CreateMoviesSchedule(SearchBar.Text);
  882.         }
  883.  
  884.         private void UserButton_Click(object sender, RoutedEventArgs e)
  885.         {
  886.  
  887.         }
  888.  
  889.         private void MoveScene(int to, TimeSpan duration, UIElement scene)
  890.         {
  891.             DoubleAnimation changeSceneAnim = new DoubleAnimation();
  892.             changeSceneAnim = new DoubleAnimation(to, duration);
  893.             Storyboard.SetTarget(changeSceneAnim, scene);
  894.             Storyboard.SetTargetProperty(changeSceneAnim, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
  895.             Storyboard sb = new Storyboard();
  896.             sb.Children.Add(changeSceneAnim);
  897.             sb.Completed += changeSceneAnim_Completed;
  898.             sb.Begin();
  899.         }
  900.  
  901.         private void changeSceneAnim_Completed(object sender, EventArgs e)
  902.         {
  903.             TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth, 0);
  904.             PreviousScene.RenderTransform = transform;
  905.         }
  906.  
  907.         private void ChangeScene(UIElement scene1, UIElement scene2)
  908.         {
  909.             TranslateTransform transform = new TranslateTransform(-(int)UI.ActualWidth, 0);
  910.             scene1.RenderTransform = transform;
  911.             MoveScene(0, TimeSpan.FromSeconds(0.5), scene1);
  912.             MoveScene((int)UI.ActualWidth, TimeSpan.FromSeconds(0.5), scene2);
  913.             CurrentScene = scene1;
  914.             PreviousScene = scene2;
  915.         }
  916.  
  917.         private void LogInPanelButton_Click(object sender, RoutedEventArgs e)
  918.         {
  919.             if (!LogInGrid.Equals(CurrentScene))
  920.             {
  921.                 ChangeColor("Blue");
  922.                 ChangeScene(LogInGrid, CurrentScene);
  923.             }
  924.         }
  925.  
  926.         private void CreateAccount_Click(object sender, RoutedEventArgs e)
  927.         {
  928.             if (!SignUpGrid.Equals(CurrentScene))
  929.             {
  930.                 ChangeColor("Blue");
  931.                 ChangeScene(SignUpGrid, CurrentScene);
  932.             }
  933.         }
  934.  
  935.         private void SignUpPanelButton_Click(object sender, RoutedEventArgs e)
  936.         {
  937.             if (!SignUpGrid.Equals(CurrentScene))
  938.             {
  939.                 ChangeColor("Blue");
  940.                 ChangeScene(SignUpGrid, CurrentScene);
  941.             }
  942.         }
  943.  
  944.         private void IconButton_Click(object sender, RoutedEventArgs e)
  945.         {
  946.             if (!ChooseSeatsGrid.Equals(CurrentScene))
  947.             {
  948.                 ChangeColor("Gray");
  949.                 ChangeScene(ChooseSeatsGrid, CurrentScene);
  950.             }
  951.         }
  952.  
  953.  
  954.  
  955.         private void LogInButton_Click(object sender, RoutedEventArgs e)
  956.         {
  957.             isLogged.Content = "";
  958.             string sql = "select ID_KLIENTA from KLIENCI where HASLO = " + toSQLString(WatermarkPassword.Password) + "and EMAIL = " + toSQLString(WatermarkEmail.Text);
  959.             OracleCommand cmd = new OracleCommand(sql, conn);
  960.             cmd.CommandType = CommandType.Text;
  961.  
  962.             OracleDataReader dr = cmd.ExecuteReader();
  963.             if(dr.Read())
  964.             {
  965.                 int userID = Convert.ToInt32(dr["ID_KLIENTA"].ToString());
  966.                 isLogged.Foreground = Brushes.DarkGreen;
  967.                 isLogged.Content = "Correct password";
  968.                 sql = "select EMAIL, IMIE, NAZWISKO, NUMER_TEL from DANE_OSOBOWE " +
  969.                       "WHERE EMAIL = " + toSQLString(WatermarkEmail.Text);
  970.                 cmd = new OracleCommand(sql, conn);
  971.                 cmd.CommandType = CommandType.Text;
  972.  
  973.                 dr = cmd.ExecuteReader();
  974.                 if(dr.Read())
  975.                 {
  976.                     user = new User
  977.                     {
  978.                         IDUser = userID,
  979.                         Email = dr["EMAIL"].ToString(),
  980.                         Name = dr["IMIE"].ToString(),
  981.                         Surname = dr["NAZWISKO"].ToString(),
  982.                         PhoneNumber = dr["NUMER_TEL"].ToString()
  983.                     };
  984.                     LabelAccountName.Content = user.Name + " " + user.Surname;
  985.                     isUserLogged = true;
  986.                     WatermarkEmail.Text = "";
  987.                     WatermarkPassword.Password = "";
  988.                     if (!Carousel.Equals(CurrentScene))
  989.                     {
  990.                         ChangeColor("Blue");
  991.                         ChangeScene(Carousel, CurrentScene);
  992.                     }
  993.                 }
  994.                 else
  995.                 {
  996.                     isLogged.Foreground = Brushes.DarkRed;
  997.                     isLogged.Content = "Cannot get user data";
  998.                 }
  999.             }
  1000.             else
  1001.             {
  1002.                 isLogged.Foreground = Brushes.DarkRed;
  1003.                 isLogged.Content = "Invalid password or email";
  1004.                
  1005.             }
  1006.            
  1007.  
  1008.         }
  1009.  
  1010.        
  1011.  
  1012.         private void SignUpButton_Click(object sender, RoutedEventArgs e)
  1013.         {
  1014.             isSignedUp.Content = "";
  1015.             if(SignUpPassword.Password.Equals(SignUpConfirmPassword.Password))
  1016.             {
  1017.                 if(SignUpEmail.Text.Contains("@") && SignUpEmail.Text.Substring(SignUpEmail.Text.Length - 4).Contains("."))
  1018.                 {
  1019.                     string sql = "insert into DANE_OSOBOWE(EMAIL,IMIE,NAZWISKO,NUMER_TEL) VALUES(:param1, :param2, :param3, :param4)";
  1020.                     OracleCommand cmd = new OracleCommand(sql, conn);
  1021.                     cmd.Parameters.Add("@param1", OracleDbType.Varchar2).Value = SignUpEmail.Text;
  1022.                     cmd.Parameters.Add("@param2", OracleDbType.Varchar2).Value = SignUpName.Text;
  1023.                     cmd.Parameters.Add("@param3", OracleDbType.Varchar2).Value = SignUpSurname.Text;
  1024.                     cmd.Parameters.Add("@param4", OracleDbType.Decimal).Value = Convert.ToDecimal(SignUpPhoneNumber.Text);
  1025.                     cmd.CommandType = CommandType.Text;
  1026.                     cmd.ExecuteNonQuery();
  1027.  
  1028.                     cmd.Parameters.Clear();
  1029.                     sql = "insert into KLIENCI (ID_KLIENTA, EMAIL, HASLO) VALUES (KlienciIDSequence.nextval, :param1, :param2)";
  1030.                     cmd = new OracleCommand(sql, conn);
  1031.                     cmd.Parameters.Add("@param1", OracleDbType.Varchar2).Value = SignUpEmail.Text;
  1032.                     cmd.Parameters.Add("@param2", OracleDbType.Varchar2).Value = SignUpPassword.Password;
  1033.                     cmd.CommandType = CommandType.Text;
  1034.                     cmd.ExecuteNonQuery();
  1035.  
  1036.                     isSignedUp.Foreground = Brushes.DarkGreen;
  1037.                     isSignedUp.Content = "Signed up!";
  1038.  
  1039.                     SignUpEmail.Text = "";
  1040.                     SignUpConfirmPassword.Password = "";
  1041.                     SignUpPassword.Password = "";
  1042.                     SignUpEmail.Text = "";
  1043.                     SignUpName.Text = "";
  1044.                     SignUpSurname.Text = "";
  1045.                     if (!LogInGrid.Equals(CurrentScene))
  1046.                     {
  1047.                         ChangeColor("Blue");
  1048.                         ChangeScene(LogInGrid, CurrentScene);
  1049.                     }
  1050.                 }
  1051.                 else
  1052.                 {
  1053.                     isSignedUp.Foreground = Brushes.DarkRed;
  1054.                     isSignedUp.Content = "Please insert correct email";
  1055.                 }
  1056.             }
  1057.             else
  1058.             {
  1059.                 isSignedUp.Foreground = Brushes.DarkRed;
  1060.                 isSignedUp.Content = "Password must be the same!";
  1061.             }
  1062.            
  1063.         }
  1064.  
  1065.         private void LogOut_Click(object sender, RoutedEventArgs e)
  1066.         {
  1067.             if (!LogInGrid.Equals(CurrentScene))
  1068.             {
  1069.                 user = new User();
  1070.                 isUserLogged = false;
  1071.                 LabelAccountName.Content = "";
  1072.                 ChangeColor("Blue");
  1073.                 ChangeScene(LogInGrid, CurrentScene);
  1074.             }
  1075.         }
  1076.     }
  1077. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement