Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        /// <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));
        }