public ActionResult Create(MealItemViewModel mtvms, HttpPostedFileBase[] Photos) { try { if (ModelState.IsValid) { MealItem mealitem = Mapper.Map <MealItemViewModel, MealItem>(mtvms); foreach (var fileBase in Photos) { if (fileBase != null) { if (fileBase.ContentLength > 0) { var path = Path.Combine(Server.MapPath("~/MealPhotos"), WebSecurity.CurrentUserId + '-' + Path.GetRandomFileName().Replace(".", "").Substring(0, 8) + '-' + Path.GetFileName(fileBase.FileName)); fileBase.SaveAs(path); MealItems_Photos mp = new MealItems_Photos(); mp.Photo = path; mealitem.MealItems_Photos.Add(mp); } } } foreach (var mealaller in mtvms.AllergenDD) { if (mealaller.Selected) { MealItems_AllergenicFoods aller = new MealItems_AllergenicFoods(); aller.AllergenicFoodID = mealaller.AllergenID; mealitem.MealItems_AllergenicFoods.Add(aller); } } mealitem.MealItemId = _service.AddAndReturnID(mealitem); return(RedirectToAction("Details", "MealItem", new { id = mealitem.MealItemId })); } } catch (Exception ex) { //Log the error (uncomment dex variable name after DataException and add a line here to write a log.) ModelState.AddModelError("", "Unable to save changes." + ex.Message.ToString()); } mtvms = PopulateDropDown(mtvms); return(View(mtvms)); }
public ActionResult Create(MealItemViewModel mtvms) { try { if (ModelState.IsValid) { // string json = JsonConvert.SerializeObject(mtvms); MealItem mealitem = Mapper.Map <MealItemViewModel, MealItem>(mtvms); if (mtvms.Imagelist != null) { foreach (var fileBase in mtvms.Imagelist) { if (fileBase != null) { List <MealItems_Photos> lstMealItems_Photos = new List <MealItems_Photos>(); foreach (var photo in mealitem.MealItems_Photos) { lstMealItems_Photos.Add(photo); } //foreach (var photo in lstMealItems_Photos) //{ // db.MealItems_Photos.Remove(photo); // db.Entry(mealitem).State = EntityState.Modified; // db.SaveChanges(); //} if (fileBase.ContentLength > 0) { var path = Path.Combine(Server.MapPath("~/MealPhotos"), WebSecurity.CurrentUserId + '-' + Path.GetRandomFileName().Replace(".", "").Substring(0, 8) + '-' + Path.GetFileName(fileBase.FileName)); fileBase.SaveAs(path); MealItems_Photos mp = new MealItems_Photos(); mp.Photo = path; mealitem.MealItems_Photos.Add(mp); } } } } foreach (var mealaller in mtvms.AllergenDD) { if (mealaller.Selected) { MealItems_AllergenicFoods aller = new MealItems_AllergenicFoods(); aller.AllergenicFoodID = mealaller.AllergenID; mealitem.MealItems_AllergenicFoods.Add(aller); } } mealitem.ApprovalStatus = 0; mealitem.MealItemId = _service.AddAndReturnID(mealitem); return(RedirectToAction("Details", "MealItem", new { id = mealitem.MealItemId })); } } catch (Exception ex) { //Log the error (uncomment dex variable name after DataException and add a line here to write a log.) ModelState.AddModelError("", "Unable to save changes." + ex.Message.ToString()); } mtvms = PopulateDropDown(mtvms, null); return(View(mtvms)); }