public async Task<ActionResult> Create(YearTerm yearTerm) { if (ModelState.IsValid) { if (yearTerm.IsDefault == true) { var formerActiveYearTerm = (_context.YearTerms .Where(t => t.IsDefault == true) .Select(t => t)).First(); formerActiveYearTerm.IsDefault = false; await _context.SaveChangesAsync(); } var test = _context.YearTerms.Where(i => i.Year == yearTerm.Year && i.Term == yearTerm.Term).Any(); if (test) { ModelState.AddModelError("", "Duplicate YearTerm."); ViewBag.yearForms = new SelectList(new List<Object> { new { value = 10, text = "Spring" }, new { value = 20, text = "Summer/Fall" }, new { value = 30, text = "Winter" } }, "value", "text", 2); return View(yearTerm); } _context.YearTerms.Add(yearTerm); await _context.SaveChangesAsync(); return RedirectToAction("Index"); } return View(yearTerm); }
public async Task<ActionResult> Edit(int id, YearTerm yearTerm) { try { yearTerm.YearTermId = id; _context.YearTerms.Attach(yearTerm); _context.Entry(yearTerm).State = EntityState.Modified; var test = _context.YearTerms.Where(i => i.Year == yearTerm.Year && i.Term == yearTerm.Term); if (test.Any() && test.FirstOrDefault().YearTermId != yearTerm.YearTermId) { ModelState.AddModelError("", "Duplicate YearTerm."); ViewBag.yearForms = new SelectList(new List<Object> { new { value = 10, text = "Spring" }, new { value = 20, text = "Summer/Fall" }, new { value = 30, text = "Winter" } }, "value", "text", 2); return View(yearTerm); } if (yearTerm.IsDefault == true) { var formerActiveYearTerm = (_context.YearTerms .Where(t => t.IsDefault == true) .Select(t => t)).First(); if (formerActiveYearTerm != yearTerm) { formerActiveYearTerm.IsDefault = false; _context.YearTerms.Attach(formerActiveYearTerm); _context.Entry(formerActiveYearTerm).State = EntityState.Modified; await _context.SaveChangesAsync(); } } await _context.SaveChangesAsync(); return RedirectToAction("Index"); } catch (Exception) { ModelState.AddModelError(string.Empty, "Unable to save changes."); } ViewBag.yearForms = new SelectList(new List<Object> { new { value = 10, text = "Spring" }, new { value = 20, text = "Summer/Fall" }, new { value = 30, text = "Winter" } }, "value", "text", 2); return View(yearTerm); }