public async Task <ActionResult> Edit(Keyword keyword) { for (var i = 0; i < keyword.Translations.Count; i++) { var pt = keyword.Translations[i]; if (DoesKeywordExist(pt)) { ModelState.AddModelError("Translations[" + i + "].Value", KeywordStrings.Validation_AlreadyExists); } } if (ModelState.IsValid) { foreach (var t in keyword.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(keyword)); }
public async Task <ActionResult> Edit(BannerPhotographEditViewModel model) { ModelState.Remove("Image"); if (ModelState.IsValid) { db.Update(model.Banner); db.ExcludeFromUpdate(model.Banner, b => new { b.UriPath }); if (model.Image != null) { var fileName = db.GetValueFromDb(model.Banner, b => b.UriPath); FileUploadHelper.SaveImage( model.Image.InputStream, 1024, 500, Path.Combine(Server.MapPath("~/Public/Banners"), fileName), FitMode.Crop); } foreach (var item in model.Banner.Translations) { db.UpdateTranslation(item); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <ActionResult> Edit(Classification classification) { for (var i = 0; i < classification.Translations.Count; i++) { var pt = classification.Translations[i]; if (DoesClassificationExist(pt)) { ModelState.AddModelError("Translations[" + i + "].Value", ClassificationStrings.ValError_AlreadyExists); } } if (ModelState.IsValid) { foreach (var t in classification.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(classification)); }
public async Task <ActionResult> Edit(Process process) { for (var i = 0; i < process.Translations.Count; i++) { var pt = process.Translations[i]; if (DoesProcessExist(pt)) { ModelState.AddModelError("Translations[" + i + "].Value", ProcessStrings.Validation_AlreadyExists); } } if (ModelState.IsValid) { foreach (var translation in process.Translations) { db.UpdateTranslation(translation); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(process)); }
public async Task <ActionResult> Edit(Document document) { if (DoesCodeAlreadyExist(document)) { ModelState.AddModelError("CatalogCode", DocumentStrings.CodeAlreadyExists); } if (ModelState.IsValid) { foreach (var t in document.Translations) { db.UpdateTranslation(t); } db.Update(document); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } var model = new DocumentEditViewModel(document); await model.PopulateDropDownLists(db.Set <Author>(), db.Set <Collection>()); 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> Edit(ReferencedLink referencedlink) { if (ModelState.IsValid) { db.Update(referencedlink); foreach (var t in referencedlink.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(referencedlink)); }
public async Task <ActionResult> Edit(ShowcasePhoto showcasePhoto) { if (ModelState.IsValid) { db.Update(showcasePhoto); foreach (var item in showcasePhoto.Translations) { db.UpdateTranslation(item); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(GenerateViewModel(showcasePhoto))); }
public async Task <ActionResult> Edit(Event @event) { if (ModelState.IsValid) { db.Update(@event); foreach (var t in @event.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(GenerateViewModel(@event))); }
public async Task <ActionResult> Edit(Archive model) { if (ModelState.IsValid) { db.Update(model); foreach (var t in model.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <ActionResult> Edit(AuthorEditViewModel model) { if (ModelState.IsValid) { db.Update(model.Author); if (model.ImageUpload != null) { var logo = db.GetValueFromDb(model.Author, c => c.PictureFileName); if (logo == null) { model.Author.PictureFileName = Guid.NewGuid().ToString() + ".jpg"; logo = model.Author.PictureFileName; } FileUploadHelper.SaveImage(model.ImageUpload.InputStream, 400, 400, Server.MapPath("~/Public/Authors/") + logo, FitMode.Crop); } else { db.ExcludeFromUpdate(model.Author, c => new { c.PictureFileName }); } // Update each translation. foreach (var t in model.Author.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <ActionResult> Edit(Specimen specimen) { if (DoesCodeAlreadyExist(specimen)) { ModelState.AddModelError("ReferenceCode", SpecimenStrings.CodeAlreadyExists); } if (ModelState.IsValid) { db.Update(specimen); foreach (var t in specimen.Translations) { db.UpdateTranslation(t); } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(GenerateViewModel(specimen))); }
public async Task <ActionResult> Edit(CollectionEditViewModel model) { if (DoesCodeAlreadyExist(model.Collection)) { ModelState.AddModelError("Collection.CatalogCode", CollectionStrings.Validation_CodeAlreadyExists); } if (ModelState.IsValid) { // Force-update the collection's author list. await db.ForceLoadAsync(model.Collection, c => c.Authors); model.Collection.Authors = db.Set <Author>() .Where(a => model.AuthorIds.Contains(a.Id)).ToList(); foreach (var t in model.Collection.Translations) { db.UpdateTranslation(t); } // Update the logo if a new one is supplied. Don't allow property value changes if // the logo doesn't exist. if (model.Logo != null) { var logo = db.GetValueFromDb(model.Collection, c => c.LogoLocation); if (logo == null) { model.Collection.LogoLocation = Guid.NewGuid().ToString() + ".jpg"; logo = model.Collection.LogoLocation; } FileUploadHelper.SaveImage(model.Logo.InputStream, 400, 400, Server.MapPath("~/Public/Collections/") + logo, FitMode.Crop); } else { db.ExcludeFromUpdate(model.Collection, c => new { c.LogoLocation }); } db.Update(model.Collection); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } model.AvailableAuthors = db.Set <Author>() .Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.LastName + ", " + a.FirstName, Selected = model.AuthorIds.Contains(a.Id) }) .ToList(); return(View(model)); }