//dodaje nowe rekordy do tabel "rezerwacje" i "zarezerwowane miejsca" private void MakeReservation() { var list = MiejscaList.SelectedItems; var curItem = SeanseList.SelectedItem.ToString().Split(' '); using (KinoRezerwacjeEntities context = new KinoRezerwacjeEntities()) { var reservation = new rezerwacje() { id_seansu = Int32.Parse(curItem[2].ToString()), typ_rezerwacji = "internetowa", imie_klienta = NameText.Text, nazwisko_klienta = SurnameText.Text, nr_telefonu = NumberText.Text, czy_oplacone = false, data_dokonania_rezerwacji = DateTime.Now }; context.rezerwacje.Add(reservation); context.SaveChanges(); var id_reservation = context.rezerwacje.Max(r => r.id_rezerwacji); int i = 0; foreach (var l in list) { var reservationSeats = new zarezerwowane_miejsca() { id_rezerwacji = id_reservation, id_seansu = Int32.Parse(curItem[2].ToString()), id_miejsca = sits.FirstOrDefault(s => s.Value.Contains(l.ToString())).Key }; context.zarezerwowane_miejsca.Add(reservationSeats); i++; } context.SaveChanges(); } }
//metoda usuwająca rekordy z tabel "rezerwacje" i "zarezerwowane miejsca" private void DeleteReservation(int iD, int number) { using (KinoRezerwacjeEntities context = new KinoRezerwacjeEntities()) { var reservation = context.rezerwacje.Where(r => r.id_rezerwacji == iD).Single(); if (Int32.Parse(reservation.nr_telefonu) == number) { context.zarezerwowane_miejsca.RemoveRange(context.zarezerwowane_miejsca.Where(z => z.id_rezerwacji == iD)); context.rezerwacje.Remove(reservation); context.SaveChanges(); } else { throw new Exception(); } } }