public ActionResult GetSchemaPartail(string reservdate)
        {
            int restId = Convert.ToInt32(TempData["RestId"]);

            ViewData["ReservDateStr"] = reservdate;
            ViewData["ReservDate"]    = DateTime.Parse(reservdate.Replace('.', '/'));
            TempData["ReservDate"]    = DateTime.Parse(reservdate.Replace('.', '/'));
            DataManagerCreator factory = new DefaultDataManagerCreator();
            IBaseDataManager   manager = factory.GetBaseDataManager();
            RestaurantSchema   Schema  = manager.GetRestaurantSchema(restId);

            for (int i = 0; i < Schema.Tables.Count(); i++)
            {
                for (int j = 0; j < Schema.Tables[i].TableReservation.Count(); j++)
                {
                    var reserv = Schema.Tables[i].TableReservation[j];
                    if (reservdate != reserv.Date.Date.ToString("dd.MM.yyyy"))
                    {
                        Schema.Tables[i].TableReservation.Remove(reserv);
                    }
                }
            }
            TempData["RestId"] = restId;
            return(PartialView("_SchemaReservedTablesPartial", Schema));
        }
        public ActionResult _ReservedTablesPartial(RestaurantSchema model)
        {
            DataManagerCreator factory = new DefaultDataManagerCreator();
            IBaseDataManager   manager = factory.GetBaseDataManager();
            var addReservs             = (from x in model.Tables
                                          from r in x.TableReservation
                                          where r.Reserved == true && r.ReservedAndConfirmed == false && r.Id == 0
                                          select r).ToList();
            string   userId             = manager.GetCurrectUserId();
            DateTime reservDateFromTemp = Convert.ToDateTime(TempData["ReservDate"]);

            foreach (var item in addReservs)
            {
                item.User = manager.GetUser(userId);
                item.Date = reservDateFromTemp;
            }
            TempData["ReservDate"] = reservDateFromTemp;
            ViewData["ReservDate"] = reservDateFromTemp;
            manager.ReservTables(addReservs);

            var removeReserv = (from x in model.Tables
                                from r in x.TableReservation
                                where r.Reserved == false && r.ReservedAndConfirmed == false && r.Id > 0
                                select r).ToList();

            manager.RemoveReserv(removeReserv);

            Restaurant Rest = manager.GetRestaurant(model.Restaurant.Id);

            ViewBag.UserId   = userId;
            ViewBag.SchemaId = Rest.RestaurantSchemas.FirstOrDefault().Id;
            return(PartialView("~/Views/Restaurant/_ReservedTablesPartial.cshtml", Rest));
        }
        public RestaurantShemaViewModel GetRestaurantViewModelSchema(int?id)
        {
            using (GoodTasteContext context = new GoodTasteContext())
            {
                try
                {
                    Restaurant       Rest   = context.Restaurants.Find(id);
                    RestaurantSchema Schema = Rest.RestaurantSchemas.FirstOrDefault();
                    Schema = context.RestaurantSchemas.Include(t => t.Restaurant).FirstOrDefault(t => t.Id == id);
                    Schema = context.RestaurantSchemas.Include(t => t.Tables).FirstOrDefault();
                    RestaurantShemaViewModel vmSchema = new RestaurantShemaViewModel();
                    vmSchema.Id           = Schema.Id;
                    vmSchema.Name         = Schema.Name;
                    vmSchema.RestaurantId = Convert.ToInt32(id);
                    List <TableViewModel> vmTables = new List <TableViewModel>();

                    foreach (var table in Schema.Tables)
                    {
                        TableViewModel vmTable = new TableViewModel {
                            Id = table.Id, X = table.X, Y = table.Y, Seats = table.Seats, ReservedAndConfirmed = false, Reserved = false
                        };
                        foreach (var reserv in table.TableReservation)
                        {
                            if (reserv.Date.Date == DateTime.Now.Date && reserv.ReservedAndConfirmed == true)
                            {
                                vmTable.ReservedAndConfirmed = true;
                                break;
                            }
                            else if (reserv.Date.Date == DateTime.Now.Date && reserv.Reserved == true)
                            {
                                vmTable.Reserved = true;
                                break;
                            }
                        }
                        vmTables.Add(vmTable);
                    }

                    vmSchema.Tables  = vmTables;
                    vmSchema.XLength = Schema.XLength;
                    vmSchema.YLength = Schema.YLength;
                    return(vmSchema);
                }
                catch
                {
                    throw new Exception("Restaurant not found");
                }
            }
        }
        // GET: Restaurant/SchemaReservedTables
        public ActionResult SchemaReservedTables(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DataManagerCreator factory = new DefaultDataManagerCreator();
            IBaseDataManager   manager = factory.GetBaseDataManager();
            RestaurantSchema   Schema  = manager.GetRestaurantSchema(id);

            if (Schema == null)
            {
                return(HttpNotFound());
            }

            return(PartialView(Schema));
        }
        public async Task <ActionResult> Schema(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DataManagerCreator       factory = new DefaultDataManagerCreator();
            IBaseDataManager         manager = factory.GetBaseDataManager();
            RestaurantSchema         Schema  = manager.GetRestaurantSchema(id);
            RestaurantShemaViewModel schema  = manager.GetRestaurantViewModelSchema(id);

            if (Schema == null)
            {
                return(HttpNotFound());
            }

            return(View(schema));
        }
 public RestaurantSchema GetRestaurantSchema(int?id)
 {
     using (GoodTasteContext context = new GoodTasteContext())
     {
         try
         {
             Restaurant       Rest   = context.Restaurants.Find(id);
             RestaurantSchema Schema = Rest.RestaurantSchemas.FirstOrDefault();
             Schema        = context.RestaurantSchemas.Include(t => t.Restaurant).FirstOrDefault(t => t.Id == id);
             Schema        = context.RestaurantSchemas.Include(t => t.Tables).FirstOrDefault();
             Schema.Tables = context.Tables.Include(t => t.TableReservation.Select(x => x.User)).ToList();
             Schema.Tables = context.Tables.Include(t => t.Orders).ToList();
             return(Schema);
         }
         catch
         {
             throw new Exception("Restaurant not found");
         }
     }
 }
示例#7
0
        public ActionResult GetSchemaPartail(string reservdate)
        {
            int restId = Convert.ToInt32(TempData["RestId"]);
            DataManagerCreator factory = new DefaultDataManagerCreator();
            IBaseDataManager   manager = factory.GetBaseDataManager();
            RestaurantSchema   Schema  = manager.GetRestaurantSchema(restId);

            for (int i = 0; i < Schema.Tables.Count(); i++)
            {
                for (int j = 0; j < Schema.Tables[i].TableReservation.Count(); j++)
                {
                    var reserv = Schema.Tables[i].TableReservation[j];
                    if (reservdate != reserv.Date.Date.ToString("dd.MM.yyyy"))
                    {
                        Schema.Tables[i].TableReservation.Remove(reserv);
                    }
                }
            }
            TempData["RestId"] = restId;
            return(PartialView("~/Views/Administration/_SchemaAndInfoPartial.cshtml", Schema));
        }
        public ActionResult ConfirmReserv(string restId, string schemaId, string date, string time, string name, string phone)
        {
            if (restId == null || schemaId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            DataManagerCreator factory = new DefaultDataManagerCreator();
            IBaseDataManager   manager = factory.GetBaseDataManager();
            string             userId  = manager.GetCurrectUserId();

            List <int> tablesIds = new List <int>();

            foreach (string key in Request.Form.AllKeys)
            {
                if (key.StartsWith("tableId"))
                {
                    tablesIds.Add(Convert.ToInt32(Request.Form[key]));
                }
            }
            DateTime d = DateTime.Parse(date + " " + time);

            TempData["ReservDate"] = d;
            manager.ConfirmReservTables(Convert.ToInt32(restId), Convert.ToInt32(schemaId), userId, tablesIds, d, name, phone);


            //if (model == null)
            //{
            //    return HttpNotFound();
            //}
            //return PartialView(model);

            RestaurantSchema Schema = manager.GetRestaurantSchema(Convert.ToInt32(restId));

            TempData["RestId"] = restId;
            return(PartialView("_SchemaReservedTablesPartial", Schema));
        }