public ActionResult Edit(Guid id, SubjectViewModel viewModel) { var knowledgeAreaRepository = new KnowledgeAreaRepository(_context); var subjectRepository = new SubjectRepository(_context); if (ModelState.IsValid) { try { var knowledgeArea = knowledgeAreaRepository.GetById(id); subjectRepository.Update(SubjectViewModel.ToEntity(viewModel, knowledgeArea)); _context.Save(_loggedUser); TempData["MessageType"] = "success"; TempData["MessageTitle"] = Resource.ContentManagementToastrTitle; TempData["Message"] = "Subject updated"; return(Redirect(TempData["BackURL"].ToString())); } catch (Exception ex) { TempData["MessageType"] = "error"; TempData["MessageTitle"] = Resource.ContentManagementToastrTitle; TempData["Message"] = ex.Message; } } var knowledgeAreas = knowledgeAreaRepository.ListActiveKnowledgeAreas(); ViewBag.KnowledgeAreas = new SelectList(knowledgeAreas, "Id", "Name"); return(View(viewModel)); }
/// <summary> /// The create subject. /// </summary> /// <param name="sub"> /// The sub. /// </param> /// <returns> /// The <see cref="JsonResult"/>. /// </returns> public JsonResult CreateSubject(SubjectViewModel sub) { ModelState.Remove("Id"); TryValidateModel(sub); if (sub.PhoneTypeId == 0) { sub.PhoneTypeId = 1; } if (ModelState.IsValid) { var siteId = CurrentAppUser.SiteId; var curUser = Thread.CurrentPrincipal.Identity.Name; var subject = sub.ToEntity(); subject.Status = (int)EntityStatusType.Current; subject.SiteId = siteId; subject.StudyId = DefaultStudyId; subject.IsActive = sub.IsActive; subject.Contact = Contact(sub, curUser, null); subject.SSN = sub.SSN; subject.DateOfBirth = sub.DateOfBirth; subject.YearBorn = DateTime.Parse(sub.DateOfBirth).Year; using (var adminUow = DependencyResolver.Current.GetService <IAdminUnitOfWork>()) { if (sub.Id > 0) { adminUow.SubjectRepository.Update(subject); } else { adminUow.SubjectRepository.Insert(subject); } adminUow.Commit(); } if (sub.Id > 0) { using (var adminUow = DependencyResolver.Current.GetService <IAdminUnitOfWork>()) { var updateContact = adminUow.SubjectRepository.GetSubjectContact(sub.Id); updateContact = Contact(sub, curUser, updateContact); updateContact.UpdatedBy = User.Identity.Name; adminUow.SubjectRepository.UpdateSubjectContactInfo(updateContact); adminUow.Commit(); } } return(Json(string.Format("sub.vm.getSubjects({0})", siteId), JsonRequestBehavior.AllowGet)); } return(Json("toastr.error('Missing Required Fields')", JsonRequestBehavior.DenyGet)); }