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"); }
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); } } }
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); }