public GetAvailableTableReservationsResponse GetAvailableTableReservations(GetAvailableTableReservationsRequest request)
        {
            var response = new GetAvailableTableReservationsResponse
            {
                IsSuccessful = false,
                Message      = ""
            };

            try
            {
                AllocateNewTables();

                int partySize = 0;

                if (request.PartySize == 2)
                {
                    partySize = 2;
                }
                else if (request.PartySize >= 2 && request.PartySize <= 4)
                {
                    partySize = 4;
                }
                else if (request.PartySize >= 4 && request.PartySize <= 6)
                {
                    partySize = 6;
                }

                var reservations = _context.TableReservations
                                   .Include(x => x.Customer)
                                   .Where(x => x.Customer == null)
                                   .Where(x => x.TableSize == partySize)
                                   .Where(x => x.ReservationDate == request.ReservationDate)
                                   .Where(x => x.TimeSlot == request.TimeSlot)
                                   .ToList();

                response.Reservations = reservations;
                response.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                response.Message = ex.ToString();
            }

            return(response);
        }
Exemple #2
0
        public IActionResult GetAvailableTables(TableBody body)
        {
            var request = new GetAvailableTableReservationsRequest
            {
                PartySize       = body.PartySize,
                ReservationDate = body.ReservationDate,
                TimeSlot        = body.TimeSlot
            };

            var response = _tableService.GetAvailableTableReservations(request);

            if (response.IsSuccessful)
            {
                return(Ok(response.Reservations));
            }
            else
            {
                return(BadRequest());
            }
        }