예제 #1
0
        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);
        }
예제 #2
0
        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);
        }