public void AddOrUpdate(UserView view) { if (string.IsNullOrEmpty(view.OrganizationIds)) { throw new Exception("请为用户分配机构"); } User user = view; if (string.IsNullOrEmpty(view.Id)) { if (Repository.IsExist(u => u.Account == view.Account)) { throw new Exception("用户账号已存在"); } if (string.IsNullOrWhiteSpace(user.Password) || user.Password.Length < 6) { throw new Exception("密码长度要大于6"); } user.Password = StringExtensions.ToMd5(user.Password); //加密密码 user.CreateTime = DateTime.Now; Repository.Add(user); view.Id = user.Id; //要把保存后的ID存入view } else { if (string.IsNullOrWhiteSpace(user.Password)) { Repository.Update(u => u.Id == view.Id, u => new User { BizCode = user.BizCode, Name = user.Name, Sex = user.Sex, Status = user.Status, IsMaster = user.IsMaster }); } else { if (user.Password.Length > 0 && user.Password.Length < 6) { throw new Exception("密码长度要大于6"); } Repository.Update(u => u.Id == view.Id, u => new User { BizCode = user.BizCode, Password = StringExtensions.ToMd5(user.Password), //加密密码 Name = user.Name, Sex = user.Sex, Status = user.Status, IsMaster = user.IsMaster }); } } UnitWork.Save(); string[] orgIds = view.OrganizationIds.Split(',').ToArray(); _revelanceApp.DeleteBy(Define.USERORG, user.Id); _revelanceApp.Assign(Define.USERORG, orgIds.ToLookup(u => user.Id)); }
/// <summary> /// 更新相应的多对多关系 /// </summary> /// <param name="view"></param> private void UpdateRele(RoleView view) { string[] orgIds = view.OrganizationIds.Split(',').ToArray(); _revelanceApp.DeleteBy(Define.ROLEORG, view.Id); _revelanceApp.Assign(Define.ROLEORG, orgIds.ToLookup(u => view.Id)); }