protected void btnSave_OnClick(object sender, EventArgs e)
        {
            var dataManager = new RestaurantManager();
            var hallManager = new HallManager();
            var tableManager = new DinnerTableManager();
            var restManager = new RestaurantManager();
            if(fvTable.CurrentMode == FormViewMode.Insert)
            {
                var ddlHall = fvTable.FindControl("ddlHall") as DropDownList;
                var hallId = Convert.ToInt32(ddlHall.SelectedValue);

                var element = (fvTable.FindControl("ddlRestaurant") as DropDownList).SelectedValue;
                int Id = Convert.ToInt32(element);
                var dinnerTable = new DataModel.Model.DinnerTable();

                dinnerTable.Restaurant = dataManager.Get(Id);
                dinnerTable.Number = Convert.ToInt32(GetValueFromTextbox("txtNumber"));
                dinnerTable.Hall = hallManager.GetById(new Hall() { Id = hallId });

                tableManager.Add(dinnerTable);
                HideModal();
            }
            if (fvTable.CurrentMode == FormViewMode.Edit)
            {
                var table = tableManager.Get(currentId);
                table.Number = Convert.ToInt32(GetValueFromTextbox("txtNumber"));
                table.Restaurant = restManager.Get(GetDdlValue(fvTable, "ddlRestaurant"));
                table.Hall = hallManager.Get(GetDdlValue(fvTable, "ddlHall"));
                tableManager.Update(table);
            }
            gvTables.DataBind();
            HideModal();
        }
 protected void gvTables_OnRowCommand(object sender, GridViewCommandEventArgs e)
 {
     if(e.CommandName == "Modify")
     {
         currentId = Convert.ToInt32(e.CommandArgument);
         var tableManager = new DinnerTableManager();
         fvTable.ChangeMode(FormViewMode.Edit);
         var lst = new List<DinnerTable>();
         lst.Add(tableManager.Get(currentId));
         fvTable.DataSource = lst;
         fvTable.DataBind();
         ShowModal();
     }
 }
        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);
                }
            }
        }