private NewsItemViewModel GenerateViewModel(NewsItem item) { var model = new NewsItemViewModel { NewsItem = item }; return model; }
public async Task<ActionResult> Create(NewsItemViewModel model) { if (ModelState.IsValid) { if (model.HeaderImageUpload != null) { var fileName = Guid.NewGuid().ToString(); var path = Server.MapPath("~/Public/News/"); FileUploadHelper.GenerateVersions(model.HeaderImageUpload.InputStream, path + fileName); model.NewsItem.HeaderImage = fileName; } db.Add(model.NewsItem); await db.SaveChangesAsync(); return RedirectToAction("Index"); } return View(GenerateViewModel(model.NewsItem)); }
public async Task<ActionResult> Edit(NewsItemViewModel model) { if (ModelState.IsValid) { db.Update(model.NewsItem); if (model.HeaderImageUpload != null) { var fileName = db.GetValueFromDb(model.NewsItem, i => i.HeaderImage) ?? Guid.NewGuid().ToString(); var path = Server.MapPath("~/Public/News/"); Directory.CreateDirectory(path); FileUploadHelper.GenerateVersions(model.HeaderImageUpload.InputStream, path + fileName); model.NewsItem.HeaderImage = fileName; } else { db.ExcludeFromUpdate(model.NewsItem, i => new { i.HeaderImage }); } foreach (var t in model.NewsItem.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return RedirectToAction("Index"); } return View(GenerateViewModel(model.NewsItem)); }