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");
            }
        }
示例#3
0
        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;
            }
        }
示例#4
0
        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);
            }
        }