public ActionResult Edit(SubjectModel model, FormCollection frm, bool continueEditing) { if (!_permissionService.Authorize("ManageSubject")) { return(AccessDeniedView()); } var user = _userContext.CurrentUser; // Check for duplicate classroom, if any var checkSubject = _smsService.CheckSubjectExists(model.Name, model.Id); if (checkSubject) { ModelState.AddModelError("Name", "A Subject with the same name already exists. Please choose a different name."); } if (ModelState.IsValid) { var objSubject = _smsService.GetSubjectById(model.Id); if (objSubject != null) { model.CreatedOn = objSubject.CreatedOn; objSubject = model.ToEntity(objSubject); objSubject.ModifiedOn = DateTime.Now; _smsService.UpdateSubject(objSubject); } } else { model.AvailableAcadmicYears = _smsService.GetAllAcadmicYears().Select(x => new SelectListItem() { Text = x.Name.Trim(), Value = x.Id.ToString(), Selected = x.IsActive }).ToList(); return(View(model)); } SuccessNotification("Subject updated successfully."); if (continueEditing) { return(RedirectToAction("Edit", new { id = model.Id })); } return(RedirectToAction("List")); }
public ActionResult Create(SubjectModel model, bool continueEditing) { if (!_permissionService.Authorize("ManageSubject")) { return(AccessDeniedView()); } // Check for duplicate classroom, if any var checkSubject = _smsService.CheckSubjectExists(model.Name, model.Id); if (checkSubject) { ModelState.AddModelError("Name", "A Subject with the same name already exists. Please choose a different name."); } if (ModelState.IsValid) { var objSubject = model.ToEntity(); objSubject.CreatedOn = objSubject.ModifiedOn = DateTime.Now; objSubject.UserId = _userContext.CurrentUser.Id; objSubject.Code = EF.Services.CodeHelper.GenerateRandomSubjectCode(); objSubject.SubjectUniqueId = Guid.NewGuid(); _smsService.InsertSubject(objSubject); SuccessNotification("Subject created successfully."); if (continueEditing) { return(RedirectToAction("Edit", new { id = objSubject.Id })); } } else { model.AvailableAcadmicYears = _smsService.GetAllAcadmicYears().Select(x => new SelectListItem() { Text = x.Name.Trim(), Value = x.Id.ToString(), Selected = x.IsActive }).ToList(); return(View(model)); } return(RedirectToAction("List")); }