Exemple #1
0
        private async void saveBtn_Click(object sender, EventArgs e)
        {
            var movieId = (select.SelectedItem as dynamic).Value;
            var Object  = new Model.CinemaDayMovie()
            {
                AiringDaysOfCinemaId = _airingDayId,
                MovieId = movieId
            };
            APIService cdmService = new APIService("cinemaDayMovie");
            await cdmService.Insert <Model.CinemaDayMovie>(Object);

            this.Close();
            _scheduleForm.Close();
            ScheduleForm sch = new ScheduleForm(_schedule.Cinema.CinemaId, _menuForm)
            {
                MdiParent = _menuForm,
                Dock      = DockStyle.Fill
            };

            var schedule = await _apiService.CustomGet <Model.Requests.CinemasScheduleRequest>("GetCinemasSchedule", _schedule.Cinema.CinemaId);

            CinemaDayMovieForm form = new CinemaDayMovieForm(sch, schedule, _menuForm, _airingDayId, _date, _day);

            sch.Show();
            _helper.ShowForm(form, 15);
            var messageBox = new CustomMessageBox();

            messageBox.Show("Movie added successfully", "success");
        }
Exemple #2
0
        private async void dgvScheduledMovies_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                var cinemaDayMovieId = dgvScheduledMovies.Rows[e.RowIndex].Cells["CinemaDayMovieId"].Value;
                var movieId          = dgvScheduledMovies.Rows[e.RowIndex].Cells["MovieId"].Value;
                var action           = dgvScheduledMovies.Columns[e.ColumnIndex].Name;
                var cdmApi           = new APIService("cinemaDayMovie");
                var movieApi         = new APIService("movies");
                var cdm = await cdmApi.GetById <Model.CinemaDayMovie>(cinemaDayMovieId);

                var movie = await movieApi.GetById <Model.Movie>(cdm.MovieId);

                CustomMessageBox messageBox = new CustomMessageBox();

                if (action == "Delete")
                {
                    DialogResult dialogResult = MessageBox.Show($"Are you sure you want to permanently delete '{movie.Title}' on the {DateTime.Parse(_date.ToString()).ToShortDateString()}, {_day}?", "Delete movie?", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        await cdmApi.Delete <Model.CinemaDayMovie>(cinemaDayMovieId);

                        this.Close();
                        _scheduleForm.Close();
                        ScheduleForm sch = new ScheduleForm(_schedule.Cinema.CinemaId, _menuForm)
                        {
                            MdiParent = _menuForm,
                            Dock      = DockStyle.Fill
                        };

                        var schedule = await _apiService.CustomGet <Model.Requests.CinemasScheduleRequest>("GetCinemasSchedule", _schedule.Cinema.CinemaId);

                        CinemaDayMovieForm form = new CinemaDayMovieForm(sch, schedule, _menuForm, _airingDayId, _date, _day);
                        sch.Show();
                        _helper.ShowForm(form, 15);

                        messageBox.Show("Movie deleted successfully", "success");
                    }
                }
                else if (action == "Apps")
                {
                    AppointmentsForm form = new AppointmentsForm(_scheduleForm, _schedule, _menuForm, _airingDayId, _date, _day, int.Parse(cinemaDayMovieId.ToString()), int.Parse(movieId.ToString()), this);
                    _helper.CloseForm(this, 15);
                    _helper.ShowForm(form, 15);
                }
            }
        }
        private async void saveBtn_Click(object sender, EventArgs e)
        {
            var daysApi    = new APIService("AiringDaysOfCinema");
            var messageBox = new CustomMessageBox();
            var allDays    = await daysApi.Get <List <Model.AiringDaysOfCinema> >(null);

            foreach (var day in allDays)
            {
                if (day.Date.Date == datePicker.Value.Date && day.CinemaId == _schedule.Cinema.CinemaId)
                {
                    messageBox.Show("Day already generated!", "error");
                    return;
                }
            }
            var Object = new Model.Requests.InserAiringDayOfCinemaRequest()
            {
                Date     = datePicker.Value,
                CinemaId = _schedule.Cinema.CinemaId
            };

            if (_airingDayId.HasValue)
            {
                await _apiService.Update <Model.AiringDaysOfCinema>(_airingDayId, Object);

                messageBox.Show("Airing day updated successfully", "success");
            }
            else
            {
                await _apiService.Insert <Model.AiringDaysOfCinema>(Object);

                messageBox.Show("Airing day added successfully", "success");
            }
            this.Close();
            _scheduleForm.Close();
            ScheduleForm form = new ScheduleForm(_schedule.Cinema.CinemaId, _menuForm)
            {
                MdiParent = _menuForm,
                Dock      = DockStyle.Fill
            };

            form.Show();
        }
        private async void dgvSchedule_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                var airingDayOfCinemaId = dgvSchedule.Rows[e.RowIndex].Cells["AiringDaysOfCinemasId"].Value;
                var action = dgvSchedule.Columns[e.ColumnIndex].Name;
                var date   = dgvSchedule.Rows[e.RowIndex].Cells["Date"].Value;
                var day    = dgvSchedule.Rows[e.RowIndex].Cells["Day"].Value;
                CustomMessageBox messageBox = new CustomMessageBox();
                var adocApi = new APIService("airingdaysofcinema");
                if (action == "Edit")
                {
                    var form = new AddEditDayOfCinemaForm(this, _schedule, _menuForm, int.Parse(airingDayOfCinemaId.ToString()));
                    _helper.ShowForm(form, 15);
                }
                else if (action == "Delete")
                {
                    DialogResult dialogResult = MessageBox.Show($"Are you sure you want to permanently delete {day} on the {DateTime.Parse(date.ToString()).ToShortDateString()}?", "Delete day?", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        await adocApi.Delete <Model.AiringDaysOfCinema>(airingDayOfCinemaId);

                        this.Close();
                        ScheduleForm form = new ScheduleForm(_schedule.Cinema.CinemaId, _menuForm)
                        {
                            MdiParent = _menuForm,
                            Dock      = DockStyle.Fill
                        };
                        form.Show();
                        messageBox.Show("Day deleted successfully", "success");
                    }
                }
                else if (action == "MoviesBtn")
                {
                    var form = new CinemaDayMovieForm(this, _schedule, _menuForm, int.Parse(airingDayOfCinemaId.ToString()), (DateTime)date, day.ToString());
                    _helper.ShowForm(form, 15);
                }
            }
        }
Exemple #5
0
        private async void saveBtn_Click(object sender, EventArgs e)
        {
            var messageBox = new CustomMessageBox();

            if (!_helper.ValidateDecimalString(Price.Text, 1, 100))
            {
                messageBox.Show("Enter a valid price (1-100)!", "error");
                return;
            }
            if (HallsBox.SelectedIndex == -1)
            {
                messageBox.Show("Select a hall!", "error");
                return;
            }

            var appApi  = new APIService("Appointments");
            var allApps = await appApi.Get <List <Model.Appointments> >(null);

            allApps.RemoveAll(a => a.HallId != (HallsBox.SelectedItem as dynamic).Value);

            var cdmApi  = new APIService("CinemaDayMovie");
            var allCdms = await cdmApi.Get <List <Model.CinemaDayMovie> >(null);

            var finalApps = new List <Model.Appointments>();

            foreach (var app in allApps)
            {
                foreach (var cdm in allCdms)
                {
                    if (app.CinemaDayMovieId == cdm.CinemaDayMovieId && cdm.AiringDaysOfCinemaId == _airingDayId)
                    {
                        finalApps.Add(app);
                        break;
                    }
                }
            }

            var moviesApi = new APIService("movies");
            var movie     = await moviesApi.GetById <Model.Movie>(_movieId);



            if (_appointmentId.HasValue)
            {
                var app = await appApi.GetById <Model.Appointments>(_appointmentId);

                finalApps.RemoveAll(a => a.AppointmentId == app.AppointmentId);
            }

            bool valid = true;

            foreach (var app in finalApps)
            {
                DateTime newBegins = new DateTime();
                DateTime newEnds   = new DateTime();
                newBegins = DateTime.Parse(StartsAt.Text);
                newEnds   = DateTime.Parse(StartsAt.Text).AddMinutes(TimeSpan.Parse(movie.Duration).TotalMinutes);


                var cdm = await cdmApi.GetById <Model.CinemaDayMovie>(app.CinemaDayMovieId);

                var thisMovie = await moviesApi.GetById <Model.Movie>(cdm.MovieId);

                DateTime begins = new DateTime();
                DateTime ends   = new DateTime();
                begins = DateTime.Parse(app.StartsAt);
                ends   = DateTime.Parse(app.StartsAt).AddMinutes(TimeSpan.Parse(thisMovie.Duration).TotalMinutes);

                bool overlap = begins < newEnds && newBegins < ends;
                if (overlap)
                {
                    valid = false;
                    break;
                }
            }
            if (!valid)
            {
                messageBox.Show("The appointment is overlaping!", "error");
                return;
            }

            Model.Requests.InsertAppointmentRequest Object = new Model.Requests.InsertAppointmentRequest()
            {
                Price            = decimal.Parse(Price.Text),
                CinemaDayMovieId = _cinemaDayMovieId,
                HallId           = (HallsBox.SelectedItem as dynamic).Value,
                SoldSeats        = 0,
                StartsAt         = StartsAt.Value.ToString("HH:mm")
            };

            if (_appointmentId.HasValue)
            {
                await appApi.Update <Model.Appointments>(_appointmentId, Object);

                messageBox.Show("Appointment updated succesfully", "Success");
            }
            else
            {
                await appApi.Insert <Model.Appointments>(Object);

                messageBox.Show("Appointment added succesfully", "Success");
            }

            this.Close();
            _appointmentsForm.Close();
            _cinemaDayMovieForm.Close();
            _scheduleForm.Close();
            ScheduleForm sch = new ScheduleForm(_schedule.Cinema.CinemaId, _menuForm)
            {
                MdiParent = _menuForm,
                Dock      = DockStyle.Fill
            };
            var schedule = await _apiService.CustomGet <Model.Requests.CinemasScheduleRequest>("GetCinemasSchedule", _schedule.Cinema.CinemaId);

            AppointmentsForm form = new AppointmentsForm(sch, schedule, _menuForm, _airingDayId, _date, _day, _cinemaDayMovieId, _movieId, _cinemaDayMovieForm);

            sch.Show();
            _helper.ShowForm(form, 15);
        }