// GET: Edit existing fact public async Task <IActionResult> EditFact(Guid?id) { if (id == null) { return(NotFound()); } var fact = await _context.Facts.Include(f => f.Dykimage).Where(f => f.Dykid.Equals(id)).FirstOrDefaultAsync(); if (fact == null) { return(NotFound()); } FactCategories factCategory = new FactCategories { Dykid = fact.Dykid, Dyktitle = fact.Dyktitle, Dyktext = fact.Dyktext, DykimageId = fact.DykimageId, Dykcategory = fact.Dykcategory }; if (fact.DykimageId != null) { ViewData["ImagePath"] = fact.Dykimage.ImagePath; } ViewData["Categories"] = TTLCategoryList(factCategory.Dykcategory); return(View(factCategory)); }
public async Task <IActionResult> CreateFact([Bind("Dyktitle,Dyktext,Dykcategory,CategoryName")] FactCategories fact, IFormFile file, string factStatus) { if (factStatus == "CreateFact") { if (fact.Dykcategory == Guid.Empty) { ModelState.AddModelError("CategoryName", "Add or select a category before creating a Did You Know"); } //check if image is valid ValidImageUpload(file, "Dyk"); if (ModelState.IsValid) { //create new fact object Facts newFact = new Facts(); //give new Did You Know? a unique id newFact.Dykid = Guid.NewGuid(); newFact.Dyktitle = fact.Dyktitle; newFact.Dyktext = fact.Dyktext; newFact.Dykcategory = fact.Dykcategory; //add image to image folder if employee uploaded one if (file != null) { //Add to Database Images image = await TTLAddImage(file); _context.Add(image); await _context.SaveChangesAsync(); newFact.DykimageId = image.ImageId; } //set DYK upload date newFact.DykuploadDate = DateTime.Now; newFact.DykeditDate = DateTime.Now; _context.Add(newFact); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(AllFacts))); } } //Add New Category else { if (ModelState.IsValid) { Categories category = new Categories(); category.CategoryId = Guid.NewGuid(); category.CategoryName = fact.CategoryName; _context.Add(category); await _context.SaveChangesAsync(); fact.Dykcategory = category.CategoryId; } } ViewData["Categories"] = TTLCategoryList(fact.Dykcategory); return(View(fact)); }
public async Task <IActionResult> EditFact(Guid id, [Bind("Dykid,Dyktitle,Dyktext,Dykcategory,CategoryName,DykimageId")] FactCategories fact, IFormFile file, string factStatus) { if (id != fact.Dykid) { return(NotFound()); } if (factStatus == "EditFact") { if (fact.Dykcategory == Guid.Empty) { ModelState.AddModelError("CategoryName", "Add or select a category before creating a Did You Know"); } //check if image is valid ValidImageUpload(file, "Dyk"); if (ModelState.IsValid) { var editFact = await _context.Facts.Where(f => f.Dykid.Equals(id)).FirstOrDefaultAsync(); Images oldImage = await _context.Images.Where(i => i.ImageId.Equals(editFact.DykimageId)).FirstOrDefaultAsync(); editFact.Dyktitle = fact.Dyktitle; editFact.Dyktext = fact.Dyktext; editFact.Dykcategory = fact.Dykcategory; editFact.DykimageId = null; //add image to image folder if employee uploaded one if (file != null) { //Add to Database Images image = await TTLAddImage(file); _context.Add(image); await _context.SaveChangesAsync(); editFact.DykimageId = image.ImageId; } //set DYK edit date editFact.DykeditDate = DateTime.Now; try { _context.Update(editFact); if (oldImage != null) { TTLRemoveUnusedImage(editFact.DykimageId, oldImage); } await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FactExists(editFact.Dykid)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(AllFacts))); } } //Add New Category else if (factStatus == "AddCategory") { if (ModelState.IsValid) { Categories category = new Categories(); category.CategoryId = Guid.NewGuid(); category.CategoryName = fact.CategoryName; _context.Add(category); await _context.SaveChangesAsync(); fact.Dykcategory = category.CategoryId; } } //Remove Image From Fact else { fact.DykimageId = null; } if (fact.DykimageId != null) { ViewData["ImagePath"] = _context.Images.Where(i => i.ImageId.Equals(fact.DykimageId)).FirstOrDefault().ImagePath; } ViewData["Categories"] = TTLCategoryList(fact.Dykcategory); return(View(fact)); }