private void DeleteHall() { Hall s = db.HallSet.Find(dgvList.SelectedRows[0].Cells[0].Value); if (!s.Deleted) { DialogResult dialogResult = MessageBox.Show("Зал будет помечен, как удаленный, пользователи не смогут его увидеть. Вы сможете вернуть его в любое время. Однако все сеансы будут удалены безвозвратно. Возможно, на них были куплены билеты! Вы действительно хотите удалить зал? ", "Удаление зала", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { HallWork.Delete(s.ID); } } else { if (!s.Cinema.Deleted) { DialogResult dialogResult = MessageBox.Show("Зал будет восстановлен. Пользователи смогут его увидеть. Вы уверены, что хотите восстановить зал?", "Восстановление зала", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { HallWork.Restore(s.ID); } } else { MessageBox.Show("Зал не может быть восстановлен, так как удален кинотеатр. Сначала восстановите кинотеатр!"); } } db.SaveChanges(); UpdateHall(); Information(); }
/// <summary> /// Удаление кинотеатра /// </summary> /// <param name="ID"></param> public static void Delete(int ID) { List <Hall> h = (db.CinemaSet.Find(ID)).Hall.ToList(); foreach (Hall x in h) {//удаляем все кинотеатры данного фильма HallWork.Delete(x.ID); } List <Сashier> c = (db.CinemaSet.Find(ID)).Сashier.ToList(); foreach (Сashier x in c) { db.СashierSet.Remove(x); } db.CinemaSet.Find(ID).Deleted = true; db.SaveChanges(); }