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