public OknoRezerwacji(MainWindow parent, SeanceData dane) : this() { this.parent = parent; DaneSeansu = dane; TytulLabel.Content = DaneSeansu.Title; DataLabel.Content = DaneSeansu.SeanceDate; SalaLabel.Content = "Sala nr " + DaneSeansu.SalaID; using (ClientServiceClient cs = new ClientServiceClient()) { DaneSali = cs.GetCinemaHall(DaneSeansu.SalaID); } List <int> numeryRzedow = new List <int>(); for (int i = 1; i <= DaneSali.Rows; i++) { numeryRzedow.Add(i); } List <int> numeryMiejsc = new List <int>(); for (int i = 1; i <= DaneSali.Positions; i++) { numeryMiejsc.Add(i); } RządComboBox.ItemsSource = numeryRzedow; MiejsceComboBox.ItemsSource = numeryMiejsc; MiejscaDoZarezerwowania = new ObservableCollection <PositionData>(); Rezerwacje.ItemsSource = MiejscaDoZarezerwowania; }
public async Task <string> Post([FromBody] SeanceData value) { Seance seance = new Seance(); Guid guid = Guid.NewGuid(); DateTime startDate = DateTime.ParseExact(value.StartTime.Replace(' ', 'T'), "yyyy-MM-ddTHH:mm:ss", null); DateTime endDate = DateTime.ParseExact(value.EndTime.Replace(' ', 'T'), "yyyy-MM-ddTHH:mm:ss", null); using var db = new CinemaContext(); { if ((await db.Seance.Where(x => x.HallId == value.HallId).ToListAsync())?.All(x => startDate.CompareTo(x.StartTime) == -1 && endDate.CompareTo(x.StartTime) == -1 || startDate.CompareTo(x.EndTime) == 1) == true) //&& !db.Seance.Any(u=>u.HallId.Equals(value.HallId))) { seance.StartTime = DateTime.ParseExact(value.StartTime, "yyyy-MM-dd HH:mm:ss", null); seance.EndTime = DateTime.ParseExact(value.EndTime, "yyyy-MM-dd HH:mm:ss", null); seance.HallId = value.HallId; seance.FilmId = value.FilmId; seance.Id = guid; seance.TicketPrice = value.TicketPrice; try { cinemaContext.Add(seance); await cinemaContext.SaveChangesAsync(); return(guid.ToString()); } catch (Exception ex) { return(JsonConvert.SerializeObject(ex.Message)); } } else { return("Сеанс уже существует"); } } }