public ActionResult PersonalInfo(Guid id) { try { var model = new MembershipUserPersonalInfoViewModel(); var user = _membershipService.GetUser(id); model.Id = user.Id; var defaultCompany = user.Company; if (defaultCompany != null) { model.DefaultCompanyId = user.Company.Id; } model.Email = user.Email; model.SelectedEmailTaskTypeIds = (user.EmailTaskTypes != null && user.EmailTaskTypes.Count > 0) ? user.EmailTaskTypes.Select(e => e.Id).ToList() : new List <int>(); model.AvailableCompanies = new List <Company> { WorkContext.CurrentMembershipUser.Company }; model.AvailableEmailTaskTypes = _categoryService.GetByParentName("EmailTaskType"); return(View(model)); } catch (Exception e) { ErrorNotification(new Exception(e.Message)); return(View(new MembershipUserPersonalInfoViewModel())); } }
public ActionResult PersonalInfo(MembershipUserPersonalInfoViewModel model) { if (ModelState.IsValid) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { var user = _membershipService.GetUser(model.Id); //foreach (var co in user.Companies) //{ // if (co.Id == model.DefaultCompanyId) // { // co.IsDefault = true; // } // else // { // co.IsDefault = false; // } //} user.Email = model.Email; user.EmailTaskTypes.Clear(); var allEmailTaskTypes = _categoryService.GetByParentName("EmailTaskType"); foreach (var type in allEmailTaskTypes) { if (model.SelectedEmailTaskTypeIds.Contains(type.Id)) { user.EmailTaskTypes.Add(type); } } unitOfWork.Commit(); model.AvailableCompanies = new List <Company> { WorkContext.CurrentMembershipUser.Company }; model.AvailableEmailTaskTypes = allEmailTaskTypes; SuccessNotification("修改成功"); return(View(model)); } } else { ErrorNotification(new Exception("无效的模型状态")); return(RedirectToAction("PersonalInfo", new { @id = model.Id })); } }