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)); }
// GET: BackOffice/Documents/Create public async Task <ActionResult> Create(int?collectionId, int?authorId) { var doc = new Document(); doc.Translations.Add(new DocumentTranslation { LanguageCode = LanguageDefinitions.DefaultLanguage }); // Check for a collection. if (collectionId != null && db.Set <Collection>().Any(c => c.Id == collectionId)) { doc.CatalogCode = CodeGenerator.SuggestDocumentCode(collectionId.Value); doc.CollectionId = collectionId.Value; } // Check for an author. if (authorId != null && db.Set <Author>().Any(a => a.Id == authorId)) { doc.AuthorId = authorId.Value; } var model = new DocumentEditViewModel(doc); await model.PopulateDropDownLists(db.Set <Author>(), db.Set <Collection>()); return(View(model)); }
// GET: BackOffice/Documents/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Document document = await db.GetByIdAsync(id); if (document == null) { return(HttpNotFound()); } document.Translations = document.Translations.ToList(); var model = new DocumentEditViewModel(document); await model.PopulateDropDownLists(db.Set <Author>(), db.Set <Collection>()); return(View(model)); }