public List<ReservedTable> GetByRestaurant(int Id, int day, int month, int year) { var date = new DateTime(year, month, day); var rstManager = new RestaurantManager(); List<ReservedTable> lstReservation = rstManager.GetAllTable(Id) ?.Select(t => new ReservedTable(){ Id = t.Id, Num = t.Number, Reservations = GetReservationByTable(t.Id, date) }) .ToList(); return lstReservation; }
public void ReserveTable(BookingModel model) { if (ModelState.IsValid) { var rstManager = new RestaurantManager(); var tblManager = new DinnerTableManager(); var reservations = rsvManager.Get().Where(x => x.Table.Restaurant.Id == model.RestaurantId); var table = rstManager.GetAllTable(model.RestaurantId) .FirstOrDefault(x => reservations.FirstOrDefault(r => r.Table == x && r.From <= model.From && r.To >= model.From) == null); if (table != null) { tblManager.Update(table); var reservation = new Reservation(); reservation.User = GetUserByLogin(); reservation.PeopleCount = model.PeopleNum; reservation.From = model.From; reservation.To = model.To; reservation.SpecialRequest = model.Msg; reservation.Table = table; rsvManager.Add(reservation); } } }