private void AddMovieClick(object data = null) { ObservableCollection <CinemaHall> cinemaHalls; try { cinemaHalls = JsonFileHelper.JsonDeserialization <CinemaHall>("Database of Cinemas/cinemas"); } catch (Exception) { cinemaHalls = new ObservableCollection <CinemaHall>(); } if (cinemaHalls.FirstOrDefault(ch => ch.Movie.ImdbID == Movie.ImdbID) != null) { System.Windows.MessageBox.Show("This movie already exists.", "Mosaviena"); return; } cinemaHalls.Add(new CinemaHall { Movie = this.Movie }); JsonFileHelper.JsonSerialization(cinemaHalls, "Database of Cinemas/cinemas"); System.Windows.MessageBox.Show($"Movie \"{Movie.Title}\" added to cinema successfully.", "Mosaviena"); }
private void PutMovieToCinemaButtonClick(object data) { if (data is Movie movie) { System.Windows.MessageBoxResult result = System.Windows.MessageBox.Show($"Do you want to add \"{movie.Title}\" to cinema ?", "Mosaviena", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Question); if (result == System.Windows.MessageBoxResult.Yes) { try { CinemaHalls = JsonFileHelper.JsonDeserialization <CinemaHall>("Database of Cinemas/cinemas"); } catch (Exception) { CinemaHalls = new ObservableCollection <CinemaHall>(); } if (CinemaHalls.FirstOrDefault(cm => cm.Movie.ImdbID == movie.ImdbID) != null) { System.Windows.MessageBox.Show($"You already add this movie to cinema.", "Mosaviena"); return; } CinemaHalls.Add(new CinemaHall { Movie = movie }); JsonFileHelper.JsonSerialization <CinemaHall>(CinemaHalls, "Database of Cinemas/cinemas"); } System.Windows.MessageBox.Show($"Operation {result} done successfully.", "Mosaviena"); } }
private void BuyClick(object data = null) { int allFullSitsCount = CinemaHall.Sits.Count(sit => sit.IsFull); int guestBuyTicketCount = allFullSitsCount - FullSitsCount; if (guestBuyTicketCount == 0) { MessageBox.Show("You didn't choose any sit.", "Mosaviena"); return; } MessageBoxResult result = MessageBox.Show($"Do You want to buy cinema ticket(s) to {CinemaHall.Movie.Title} ?\nYour payment equals to {CinemaHall.Movie.ImdbRating * guestBuyTicketCount} $", "Mosaviena", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { CinemaHall.FullSitsCount = allFullSitsCount; MessageBox.Show($"Operation {result} done successfully.", "Mosaviena"); decimal totalBudget = BinaryFileHelper.BinaryDeserialization("Total Budget"); totalBudget = totalBudget + (decimal)(CinemaHall.Movie.ImdbRating * guestBuyTicketCount); BinaryFileHelper.BinarySerialization(totalBudget, "Total Budget"); StarViewModel starViewModel = new StarViewModel(); StarWindow starView = new StarWindow { DataContext = starViewModel }; starView.ShowDialog(); JsonFileHelper.JsonSerialization <CinemaHall>(CinemaHalls, "Database of Cinemas/cinemas"); PdfFileHelper.WritePaymentToFile( Tuple.Create(CinemaHall.Movie, CinemaHall.Movie.ImdbRating * guestBuyTicketCount, starViewModel.RatingNumber), $"{PdfFileHelper.ConvertFileNameToAcceptableFileName(CinemaHall.Movie.Title)}"); GuestBuyTicketViewModel guestBuyTicketViewModel = new GuestBuyTicketViewModel(CinemaHalls); GuestBuyTicketView guestBuyTicketView = new GuestBuyTicketView { DataContext = guestBuyTicketViewModel }; ViewController.SecondView.Content = guestBuyTicketView; } }
private void LikeClick(object data = null) { if (Movie != null && LikedMoviesImdbIdsForOneGuest?.Contains(Movie.ImdbID) == false) { Movie movie = Movies.FirstOrDefault(m => m.ImdbID == Movie.ImdbID); if (movie != null) { movie.LikeCount = movie.LikeCount + 1; Movie.LikeCount = movie.LikeCount; } else { Movie.LikeCount = Movie.LikeCount + 1; Movies.Add(Movie); } JsonFileHelper.JsonSerialization <Movie>(Movies, "Database of Liked Movies/movies"); LikedMoviesImdbIdsForOneGuest?.Add(Movie.ImdbID); } }