private bool ValidateBookingTable(BookingTable bookingTable)
        {
            bool isValid = true;

            // Check if from date is after To date
            if (bookingTable.From > bookingTable.To)
            {
                ModelState.AddModelError("Booking.From", "Start date cannot be after end date");
                var createBookingTableViewModel = new CreateBookingTableViewModel()
                {
                    Tables = DbContext.Tables,
                };
                isValid = false;
            }

            //1. Hämta ut alla bokning som har samma tableId som den nya bokningen
            List <BookingTable> bookingsFromDb = DbContext.BookingTables.Where(b => b.TableId == bookingTable.TableId).ToList();

            //2. Kolla om något av dessa bokningar har överlappande datum
            foreach (var oldBooking in bookingsFromDb)
            {
                if (DateHelpers.HasSharedDateIntervals(bookingTable.From, bookingTable.To, oldBooking.From, oldBooking.To))
                {
                    ModelState.AddModelError("Booking.From", "Date already occupied.");
                    var createBookingTableViewModel = new CreateBookingTableViewModel()
                    {
                        Tables = DbContext.Tables
                    };
                    isValid = false;
                }
            }

            return(isValid);
        }
        // GET: Bookings/Create
        public IActionResult Create()
        {
            var createBookingTableViewModel = new CreateBookingTableViewModel()
            {
                Tables = DbContext.Tables
            };

            return(View(createBookingTableViewModel));
        }
        // från vyn till metoden i controllen
        public IActionResult Create(BookingTable bookingTable)
        {
            if (!ValidateBookingTable(bookingTable))
            {
                var createBookingTableViewModel = new CreateBookingTableViewModel()
                {
                    Tables = DbContext.Tables, BookingTable = bookingTable
                };
                return(View(createBookingTableViewModel));
            }

            var tabelName = DbContext.Tables.FirstOrDefault(r => r.Id == bookingTable.TableId).Name;

            bookingTable.Id        = Guid.NewGuid();
            bookingTable.TableName = tabelName;


            DbContext.BookingTables.Add(bookingTable);

            return(RedirectToAction("Index"));
        }