private void datePicker1_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { try { if (datePicker1.SelectedDate == null || datePicker1.SelectedDate == null) { throw new Exception("Не введены даты"); } DateTime DT1 = (DateTime)datePicker1.SelectedDate; DateTime DT2 = (DateTime)datePicker2.SelectedDate; CinemaDataContext Context = new CinemaDataContext(); tbPeriod.Text = Context.CountCashPeriod(DT1, DT2).ToString(); } catch (Exception E) { } }
private void button4_Click(object sender, RoutedEventArgs e) { if (cmbFilm3.SelectedItem != null) { if (MessageBox.Show("Вы действительно хотите удалить этот фиильм?", "", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { try { CinemaDataContext Context = new CinemaDataContext(); int MovieID = (from M in Context.tblMovies where M.MovieName == (string)cmbFilm3.SelectedItem select M.MovieID).ToArray()[0]; if (Context.HasShows(MovieID) == 1) { throw new Exception("На данный фильм есть сеансы"); } Context.ExecuteCommand("delete from tblMovie where MovieID = " + MovieID.ToString()); } catch (Exception E) { MessageBox.Show("Ошибка: " + E.Message); } } } }
private void button2_Click(object sender, RoutedEventArgs e) { CinemaDataContext Context = new CinemaDataContext(); Context.ExecuteCommand("delete from tblSeat"); List <tblRoom> Rooms = Context.tblRooms.ToList(); int c = 0; foreach (tblRoom R in Rooms) { for (int i = 0; i < R.RowNumber; i++) { for (int j = 0; j < R.SeatsNumber; j++) { tblSeat Seat = new tblSeat(); Seat.RoomID = R.RoomID; Seat.Row = i + 1; Seat.Seat = j + 1; if (j > R.SeatsNumber / 5 && j < R.SeatsNumber * 4 / 5 && i > R.RowNumber / 3 && i < R.RowNumber * 4 / 5) { Seat.Vip = 0; } else { Seat.Vip = 1; } // Seat.Vip = 0; c++; Context.tblSeats.InsertOnSubmit(Seat); } } } Context.SubmitChanges(); }
private void cmbShow_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (cmbShow.SelectedIndex != -1) { try { gridBook.Visibility = System.Windows.Visibility.Visible; CinemaDataContext Context = new CinemaDataContext(); string MovieName = (string)cmbFilms.SelectedItem; DateTime Date = (DateTime)cmbDate.SelectedItem; var ShowQuery = (from S in Context.tblShows join M in Context.tblMovies on S.MovieID equals M.MovieID where M.MovieName == MovieName && S.Date == Date && S.Session == Times[cmbShow.SelectedIndex] select S).Distinct(); Show = ShowQuery.First(); lblNotVip.Content = " - Эконом (" + Show.NotVipPrice.ToString() + ")"; lblVip.Content = " - VIP (" + Show.VipPrice.ToString() + ")"; RedrawRoom((from R in Context.tblRooms where R.RoomID == Show.RoomID select R).First()); } catch (Exception E) { MessageBox.Show("Ошибка: " + E.Message); } } else { gridBook.Visibility = System.Windows.Visibility.Collapsed; } }
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e) { CinemaDataContext Context; try { Context = new CinemaDataContext(); } catch { MessageBox.Show("Невозможно подсоединиться к базе данных"); return; } try { DateTime DT1, DT2; if (datePicker1.SelectedDate == null) { DT1 = new DateTime(DateTime.Now.Year, 01, 01); } else { DT1 = (DateTime)datePicker1.SelectedDate; } if (datePicker2.SelectedDate == null) { DT2 = new DateTime(2012, 01, 01); } else { DT2 = (DateTime)datePicker2.SelectedDate; } int MovieID = (from M in Context.tblMovies where M.MovieName == (string)comboBox1.SelectedItem select M.MovieID).ToArray()[0]; List <int> FilmsID; GetID(Context, tbFilms.Text, out FilmsID); if (FilmsID.Count == 0) { FilmsID.AddRange((from M in Context.tblMovies select M.MovieID).ToArray()); } dataGrid1.ItemsSource = from S in Context.tblShows join M in Context.tblMovies on S.MovieID equals M.MovieID where S.Date >= DT1 && S.Date <= DT2 && FilmsID.Contains(M.MovieID) select new { ID = S.ShowID, Дата = S.Date.ToShortDateString(), Время = S.Session.ToShortTimeString(), Фильм = M.MovieName, Зал = S.RoomID, Свободных_мест = Context.FreePlaces(S.ShowID) }; } catch { MessageBox.Show("Ошибка формирования запроса"); } }
private void btnOrder_Click(object sender, RoutedEventArgs e) { try { CinemaDataContext Context = new CinemaDataContext(); List <tblTicket> TempSeats = new List <tblTicket>(); int Sum = 0; for (int i = 0; i < Seats.GetLength(0); i++) { for (int j = 0; j < Seats.GetLength(1); j++) { if (Seats[i, j].IsSelected) { if ((from T in Context.tblTickets where T.ShowID == Show.ShowID && T.Row == i + 1 && T.Seat == j + 1 && T.Status == 1 select T).Count() != 0) { throw new Exception("Место " + (j + 1).ToString() + " в ряду " + (i + 1).ToString() + " уже занято" + Environment.NewLine + "Заказ будет отменен"); } tblTicket Ticket = (from T in Context.tblTickets where T.Row == i + 1 && T.Seat == j + 1 && T.ShowID == Show.ShowID select T).First(); TempSeats.Add(Ticket); if (Seats[i, j].IsVip) { Sum += Show.VipPrice; } else { Sum += Show.NotVipPrice; } } } } foreach (var T in TempSeats) { tblSoldTicket SoldTicket = new tblSoldTicket(); SoldTicket.UserID = (int)Settings.UserID; SoldTicket.TicketID = T.TicketID; T.Status = 1; Context.tblSoldTickets.InsertOnSubmit(SoldTicket); } try { Context.SubmitChanges(); MessageBox.Show("Вы заказали " + TempSeats.Count + " билет(а/ов)" + Environment.NewLine + "на сумму " + Sum + " руб."); foreach (var T in TempSeats) { Ticket TicketWindow = new Ticket(MovieName, Show.Date, Show.Session, Show.RoomID, (int)T.Row, (int)T.Seat, Seats[(int)T.Row - 1, (int)T.Seat - 1].IsVip ? Show.VipPrice : Show.NotVipPrice); TicketWindow.ShowDialog(); } } catch (Exception E) { MessageBox.Show("Невозможно сделать заказ: " + E.Message); } } catch (Exception E) { MessageBox.Show("Ошибка: " + E.Message); } button2_Click(sender, e); }
void RedrawRoom(tblRoom Room) { CinemaDataContext Context = new CinemaDataContext(); tbRoomID.Text = Room.RoomID.ToString(); wrapPanel1.Children.Clear(); double SeatWidth = wrapPanel1.ActualWidth / (Room.SeatsNumber + 1); double SeatHeight = wrapPanel1.ActualHeight / (Room.RowNumber + 1); Seats = new Seat[Room.RowNumber, Room.SeatsNumber]; TextBlock TB = new TextBlock(); TB.Text = ""; TB.Width = SeatWidth; TB.Height = SeatHeight; TB.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; TB.VerticalAlignment = System.Windows.VerticalAlignment.Center; TB.Background = new SolidColorBrush(Colors.AntiqueWhite); wrapPanel1.Children.Add(TB); for (int j = 0; j < Room.SeatsNumber; j++) { TB = new TextBlock(); TB.Text = (j + 1).ToString(); TB.Width = SeatWidth; TB.Height = SeatHeight; TB.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; TB.VerticalAlignment = System.Windows.VerticalAlignment.Center; TB.Background = new SolidColorBrush(Colors.AntiqueWhite); wrapPanel1.Children.Add(TB); } for (int i = 0; i < Room.RowNumber; i++) { TB = new TextBlock(); TB.Text = (i + 1).ToString(); TB.Width = SeatWidth; TB.Height = SeatHeight; TB.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; TB.VerticalAlignment = System.Windows.VerticalAlignment.Center; TB.Background = new SolidColorBrush(Colors.AntiqueWhite); wrapPanel1.Children.Add(TB); for (int j = 0; j < Room.SeatsNumber; j++) { Button B = new Button(); SolidColorBrush Brush = new SolidColorBrush(); int Vip = (from S in Context.tblSeats where S.RoomID == Room.RoomID && S.Row == i + 1 && S.Seat == j + 1 select S.Vip).ToArray()[0]; if (Vip == 0) { Brush = (SolidColorBrush)borderVIP.Background; Seats[i, j].IsVip = true; } else { Brush = (SolidColorBrush)borderFree.Background; Seats[i, j].IsVip = false; } if ((from T in Context.tblTickets where T.ShowID == Show.ShowID && T.Row == i + 1 && T.Seat == j + 1 && T.Status == 1 select T).Count() != 0) { Brush = (SolidColorBrush)borderBusy.Background; Seats[i, j].IsFree = false; } else { Seats[i, j].IsFree = true; } Seats[i, j].IsSelected = false; B.Tag = i.ToString() + " " + j.ToString(); B.Background = Brush; B.Width = SeatWidth; B.Height = SeatHeight; B.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; B.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; B.Click += btnSeat_Click; wrapPanel1.Children.Add(B); } } }
private void button7_Click(object sender, RoutedEventArgs e) { try { if (cmbFilm2.SelectedValue == null) { throw new Exception("Не выбран фильм"); } if (cmbRoom.SelectedValue == null) { throw new Exception("Не выбран зал"); } if (datePicker1.SelectedDate == null || datePicker2.SelectedDate == null) { throw new Exception("Не выбрана дата"); } DateTime DT1 = (DateTime)datePicker1.SelectedDate; DateTime DT2 = (DateTime)datePicker2.SelectedDate; if (DT2.DayOfYear - DT1.DayOfYear > 7) { throw new Exception("Максимальная количество дней - 7"); } CinemaDataContext Context = new CinemaDataContext(); int MovieID = (from M in Context.tblMovies where M.MovieName == (string)cmbFilm2.SelectedValue select M.MovieID).ToArray()[0]; int RoomID = (int)cmbRoom.SelectedValue; for (DateTime DT = DT1; DT <= DT2; DT = DT.Date.AddDays(1)) { DateTime NewSession = new DateTime(2011, 01, 01, Convert.ToInt32(udHour.Value), Convert.ToInt32(udMinute.Value), 0); int? S = Context.IsShowCorrect(RoomID, MovieID, DT, NewSession); if (DT <= DateTime.Now) { MessageBox.Show("Сеанс " + DT.ToShortDateString() + " " + NewSession.Hour.ToString() + ":" + NewSession.Minute.ToString() + " раньше текущего времени"); continue; } if (S == 0 || S == null) { tblShow Show = new tblShow(); Show.MovieID = (from M in Context.tblMovies where M.MovieName == (string)cmbFilm2.SelectedItem select M.MovieID).ToArray()[0]; Show.RoomID = (int)cmbRoom.SelectedItem; Show.Date = DT; Show.Session = NewSession; Show.VipPrice = 0; Show.NotVipPrice = 0; Context.tblShows.InsertOnSubmit(Show); Context.SubmitChanges(); } else { MessageBox.Show("Сеанс с ID = " + S.ToString() + " пересекается с уже имеющимся сеансом в этом зале"); } } MessageBox.Show("Сеансы успешно добавлены"); } catch (Exception E) { MessageBox.Show("Ошибка: " + E.Message); } }
private void button3_Click(object sender, RoutedEventArgs e) { try { tblMovie Movie = new tblMovie(); if (string.IsNullOrWhiteSpace(tbFilmName.Text)) { throw new Exception("Не введено название фильма"); } Movie.MovieName = tbFilmName.Text; if (string.IsNullOrWhiteSpace(tbDirector.Text)) { throw new Exception("Не введено имя режиссера"); } Movie.MovieDirector = tbDirector.Text; Movie.MovieDuration = Convert.ToInt32(udDuration.Value); Movie.MovieYear = Convert.ToInt32(udYear.Value); Movie.MinAge = Convert.ToInt32(udMinAge.Value); if (string.IsNullOrWhiteSpace(tbMainHero.Text)) { throw new Exception("Не введено имя главного актера"); } Movie.MainActor = tbMainHero.Text; if (string.IsNullOrWhiteSpace(tbGenres.Text)) { throw new Exception("Не выбран хотя бы один жанр"); } if (string.IsNullOrWhiteSpace(tbCountries.Text)) { throw new Exception("Не выбран хотя бы одна страна"); } CinemaDataContext Context = new CinemaDataContext(); Context.tblMovies.InsertOnSubmit(Movie); Context.SubmitChanges(); int MovieID = (from M in Context.tblMovies where M.MovieName == tbFilmName.Text select M.MovieID).ToArray()[0]; List <int> GenresID; List <int> CountriesID; GetID(tbGenres.Text, tbCountries.Text, out GenresID, out CountriesID); foreach (int ID in GenresID) { tblMovieGenre MovieGenre = new tblMovieGenre(); MovieGenre.MovieID = MovieID; MovieGenre.GenreID = ID; Context.tblMovieGenres.InsertOnSubmit(MovieGenre); } foreach (int ID in CountriesID) { tblMovieCountry MovieCountry = new tblMovieCountry(); MovieCountry.MovieID = MovieID; MovieCountry.CountryID = ID; Context.tblMovieCountries.InsertOnSubmit(MovieCountry); } Context.SubmitChanges(); ReloadFilmsRooms(); MessageBox.Show("Фильм " + Movie.MovieName + " успешно добавлен"); } catch (Exception Ex) { MessageBox.Show("Ошибка: " + Ex.Message); } }
public CinemaLogic(CinemaDataContext data) { _cinema = data; }