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));
        }