private async void RefreshReservations() { using (var svc = new ReservationServiceClient()) { Reservations = new BindableCollection<ReservationDto>((await svc.GetForPlaceAsync(SelectedPlace.Id)).ToList()); var lastPlace = (from p in Places where p.To == null select p).SingleOrDefault(); FromDate = lastPlace?.From.AddDays(1) ?? DateTime.Now; ToDate = FromDate.AddHours(2); } }
private async void RefreshReservations() { using (var svc = new ReservationServiceClient()) { Reservations = new BindableCollection<ReservationDto>(await svc.GetForPlaceAsync(SelectedPlace.Id)); } }
private async void InitGrid() { _seats = new List<Tuple<int, int>>(); ConvertPlace(SelectedPlace.Seats); ReservationDto[] reservations; using (var svc = new ReservationServiceClient()) { reservations = (await svc.GetForPlaceAsync(SelectedPlace.Id)).Where(r => r.From >= FromDate && r.From <= ToDate || r.To >= FromDate && r.To <= ToDate || r.From <= FromDate && r.To >= ToDate ).ToArray(); } foreach (var reservation in reservations) { foreach (var seat in reservation.Seats) { _place[seat.Item1, seat.Item2] = 3; } } var first = true; _gridPlace.ColumnDefinitions.Clear(); _gridPlace.RowDefinitions.Clear(); _gridPlace.Width = _place.GetLength(0)*10; _gridPlace.Height = _place.GetLength(1)*10; for (var i = 0; i < _place.GetLength(0); i++) { _gridPlace.ColumnDefinitions.Add(new ColumnDefinition()); for (var j = 0; j < _place.GetLength(1); j++) { if (first) _gridPlace.RowDefinitions.Add(new RowDefinition()); var border = new Border(); border.SetValue(Grid.RowProperty, i); border.SetValue(Grid.ColumnProperty, j); border.MouseLeftButtonUp += ReserveSeat; ; var style = _place[i, j] == 0 ? "Empty" : _place[i, j] == 1 ? "Seat" : _place[i, j] == 2 ? "Table" : "Reserved"; border.Style = _gridPlace.FindResource(style) as Style; _gridPlace.Children.Add(border); } first = false; } }