public async Task <ActionResult> Create(ImageEditViewModel model) { if (DoesCodeAlreadyExist(model.Image)) { ModelState.AddModelError("Image.ImageCode", ImageStrings.CodeAlreadyExists); } if (ModelState.IsValid) { if (model.ImageUpload != null) { var fileName = Guid.NewGuid().ToString(); var path = Server.MapPath("~/Public/Images/"); FileUploadHelper.GenerateVersions(model.ImageUpload.InputStream, path + fileName); model.Image.ImageUrl = fileName; } model.Image.Keywords = db.Set <Keyword>() .Where(kw => model.KeywordIds.Contains(kw.Id)) .ToList(); db.Add(model.Image); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } model.PopulateDropDownLists(db.Set <Document>(), db.Set <Classification>(), db.Set <Keyword>()); return(View(model)); }
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))); }
public async Task <ActionResult> Edit(ImageEditViewModel model) { if (DoesCodeAlreadyExist(model.Image)) { ModelState.AddModelError("Image.ImageCode", ImageStrings.CodeAlreadyExists); } if (ModelState.IsValid) { // "Force-load" the image and the keywords. await db.ForceLoadAsync(model.Image, i => i.Keywords); db.Update(model.Image); model.Image.Keywords = db.Set <Keyword>() .Where(k => model.KeywordIds.Contains(k.Id)).ToList(); foreach (var t in model.Image.Translations) { db.UpdateTranslation(t); } if (model.ImageUpload != null) { var fileName = db.GetValueFromDb(model.Image, i => i.ImageUrl) ?? Guid.NewGuid().ToString(); var path = Server.MapPath("~/Public/Images/"); Directory.CreateDirectory(path); FileUploadHelper.GenerateVersions(model.ImageUpload.InputStream, path + fileName); model.Image.ImageUrl = fileName; } else { db.ExcludeFromUpdate(model.Image, i => new { i.ImageUrl }); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } model.PopulateDropDownLists(db.Set <Document>(), db.Set <Classification>(), db.Set <Keyword>()); return(View(model)); }
public async Task <ActionResult> Create(SpecimenPhotoUploadModel model) { if (ModelState.IsValid) { var returnModel = new DigitalPhotographPostUploadModel(); foreach (var photo in model.Photos) { var fileName = Guid.NewGuid().ToString() + "_" + photo.FileName; var dPhoto = new DigitalPhotograph { SpecimenId = model.SpecimenId, FileName = fileName }; // Save the file and the smaller versions. var completePath = Server.MapPath("~/App_Data/Uploads/Photos/"); Directory.CreateDirectory(completePath); photo.SaveAs(completePath + fileName); FileUploadHelper.GenerateVersions(completePath + fileName); returnModel.UploadedItems.Add(new DigitalPhotographUploadItem { DigitalPhotograph = dPhoto }); db.DigitalPhotographs.Add(dPhoto); } await db.SaveChangesAsync(); if (Request.IsAjaxRequest()) { return(PartialView("PostUpload", returnModel)); } return(View("PostUpload", returnModel)); } return(View(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))); }