예제 #1
0
        public ActionResult Create(RegisterFoodViewModel food)
        {
            if (food.UploadedFile == null)
            {
                ModelState.AddModelError("UploadedFile", "El campo Imagen es requerido.");
            }
            else if (!FileManager.FileHasValidTypeForImages(food.UploadedFile))
            {
                ModelState.AddModelError("UploadedFile", "El campo Imagen permite archivos únicamente con formato JPG y PNG.");
            }

            if (ModelState.IsValid)
            {
                food.ImagePath = FileManager.SaveFoodImage(food.FoodName, food.UploadedFile);
                Food dbFood = ConvertViewModelToFood(food);
                db.Food.Add(dbFood);
                db.SaveChanges();

                db.FoodHistory.Add(new FoodHistory {
                    Description      = "Se crea un nuevo registro",
                    FoodId           = dbFood.FoodId,
                    ModificationDate = DateTime.Now,
                    UserName         = User.Identity.GetUserName()
                });
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(food));
        }
예제 #2
0
        // GET: Foods/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Food food = db.Food.Find(id);

            if (food == null)
            {
                return(HttpNotFound());
            }
            RegisterFoodViewModel foodViewModel = ConvertFoodToViewModel(food);

            return(View(foodViewModel));
        }
예제 #3
0
        public ActionResult Edit(RegisterFoodViewModel food)
        {
            if (food.UploadedFile != null && !FileManager.FileHasValidTypeForImages(food.UploadedFile))
            {
                ModelState.AddModelError("UploadedFile", "El campo Imagen permite archivos únicamente con formato JPG y PNG.");
            }

            if (ModelState.IsValid)
            {
                if (food.UploadedFile != null)
                {
                    food.ImagePath = FileManager.ReplaceFoodImage(food.FoodName, food.UploadedFile, food.ImagePath);
                }
                Food dbFood = ConvertViewModelToFood(food);

                db.Entry(dbFood).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(food));
        }
예제 #4
0
        private Food ConvertViewModelToFood(RegisterFoodViewModel foodViewModel)
        {
            Food food = db.Food.Find(foodViewModel.FoodId);

            if (food == null)
            {
                food = new Food
                {
                    Description = foodViewModel.Description,
                    FoodId      = foodViewModel.FoodId,
                    FoodName    = foodViewModel.FoodName,
                    ImagePath   = foodViewModel.ImagePath
                };
            }
            else
            {
                food.Description = foodViewModel.Description;
                food.FoodId      = foodViewModel.FoodId;
                food.FoodName    = foodViewModel.FoodName;
                food.ImagePath   = foodViewModel.ImagePath;
            }

            return(food);
        }