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