public async Task <IActionResult> Index() { CustomerBookingVM objCB = new CustomerBookingVM { TableTracks = null, ChosenTableId = 0, Quantity = 0 }; var TableObj = await _db.Table.AnyAsync(); if (TableObj) { objCB.TableList = await _db.Table.Where(t => t.Active == true).OrderBy(t => t.SeatingName).Select(t => new SelectListItem { Text = t.SeatingName, Value = t.Id.ToString() }).ToListAsync(); } else { objCB.TableList = new List <SelectListItem>(); } return(View(objCB)); }
public async Task <IActionResult> Index(CustomerBookingVM objCB) { if (objCB.ChosenTableId <= 0 || objCB.DateChosen == null || objCB.TimeChosen == null) { return(RedirectToAction(nameof(Index))); } var FindIdInTableTrack = _db.TableTrack.Include(t => t.Table).Where(t => t.TableId == objCB.ChosenTableId && t.DateTable.Date == objCB.DateChosen.Value.Date && t.TimeTable == objCB.TimeChosen.Value.TimeOfDay); objCB.TableTracks = new TableTrack(); if (FindIdInTableTrack.Any()) { objCB.TableTracks = await FindIdInTableTrack.FirstAsync(); } else { var GetTable = await _db.Table.FindAsync(objCB.ChosenTableId); int MaxQuan = GetTable.MaxTables; TableTrack tableTrack = new TableTrack { TableId = objCB.ChosenTableId, AmtAva = MaxQuan, DateTable = objCB.DateChosen.Value.Date, TimeTable = objCB.TimeChosen.Value.TimeOfDay }; _db.TableTrack.Add(tableTrack); await _db.SaveChangesAsync(); objCB.TableTracks = await _db.TableTrack.Include(t => t.Table).Where(t => t.Id == tableTrack.Id).Select(t => t).FirstAsync(); } var TableObj = await _db.Table.AnyAsync(); if (TableObj) { objCB.TableList = await _db.Table.Where(t => t.Active == true).OrderBy(t => t.SeatingName).Select(t => new SelectListItem { Text = t.SeatingName, Value = t.Id.ToString() }).ToListAsync(); } else { objCB.TableList = new List <SelectListItem>(); } objCB.Quantity = 0; return(View(objCB)); }