//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();
            }
        }
示例#2
0
        //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();
                }
            }
        }