예제 #1
0
        private static int AddUser(Esmart_Sys_Users model)
        {
            var engine = PermissionDb.CreateEngine();

            CheckUser(engine, model);

            model.UserID = (engine.Esmart_Sys_Users.Max(m => (int?)m.UserID) ?? 0) + 1;

            var password = "******"; //RandomString.Generate(8);

            // new MailService().SendRegisterInfo(model.Email, model.UserID, password);

            model.PassWord = CommonFunction.GetMD5String(password);
            model.Isleave  = 0;

            engine.Esmart_Sys_Users.Add(model);

            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_Users", OprUserId = model.CreateId, OptDescription = string.Format("用户:{0}添加了用户信息,用户ID:{1}", model.CreateId, model.UserID), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache(model.UserID);

            return(model.UserID);
        }
예제 #2
0
 /// <summary>
 /// 添加用户,返回用户ID
 /// </summary>
 public static int Add(Esmart_Sys_Users model)
 {
     lock (lockObj)
     {
         return(AddUser(model));
     }
 }
예제 #3
0
        public bool UpdateUser2(Esmart_Sys_Users user)
        {
            UserManagerDb.Update2(user);

            CommonAction.ClearCache(user.UserID);

            return(true);
        }
예제 #4
0
 public int CreateUserWithDepartmentId(Esmart_Sys_Users user, int departMentId)
 {
     try
     {
         return(_userManager.CreateUserWithDepartmentId(user, departMentId));
     }
     catch (Exception ex)
     {
         throw new TpoBaseException(ex.Message);
     }
 }
예제 #5
0
 public bool UpdateUser(Esmart_Sys_Users user)
 {
     try
     {
         return(_userManager.UpdateUser2(user));
     }
     catch (Exception ex)
     {
         throw new TpoBaseException(ex.Message);
     }
 }
예제 #6
0
 public List <Esmart_Sys_Users> GetUsers(Esmart_Sys_Users condition)
 {
     try
     {
         return(_userManager.GetUsers(condition));
     }
     catch (Exception ex)
     {
         throw new TpoBaseException(ex.Message);
     }
 }
예제 #7
0
        private static void CheckUser(PermissionContext dbContext, Esmart_Sys_Users user)
        {
            //说明:用户已经离职,此用户的状态相当于被彻底删除,故其手机号和邮箱可以被重新启用

            //-------------------------------------------------
            // 工号检查
            //-------------------------------------------------

            if (string.IsNullOrWhiteSpace(user.WorkNo))
            {
                throw new TpoBaseException("工号不能为空!");
            }
            else
            {
                user.WorkNo = user.WorkNo.Trim();
                if (dbContext.Esmart_Sys_Users.Any(n => n.UserID != user.UserID && n.WorkNo == user.WorkNo))
                {
                    throw new TpoBaseException("工号已被其它员工占用!");
                }
            }

            //-------------------------------------------------
            // 邮箱检查
            //-------------------------------------------------

            if (string.IsNullOrWhiteSpace(user.Email))
            {
                throw new TpoBaseException("邮箱不能为空!");
            }

            user.Email = user.Email.Trim();

            if (dbContext.Esmart_Sys_Users.Any(n => n.UserID != user.UserID && n.Email == user.Email && n.Isleave != 1))
            {
                throw new TpoBaseException("邮箱已被其它员工占用,如果需要在部门中添加此用户,可以使用调入用户功能!");
            }

            //-------------------------------------------------
            // 手机号码检查
            //-------------------------------------------------

            if (string.IsNullOrWhiteSpace(user.Mobile))
            {
                throw new TpoBaseException("手机号码不能为空!");
            }

            user.Mobile = user.Mobile.Trim();

            if (dbContext.Esmart_Sys_Users.Any(n => n.UserID != user.UserID && n.Mobile == user.Mobile && n.Isleave != 1))
            {
                throw new TpoBaseException("手机号码已被其它员工占用,如果需要在部门中添加此用户,可以使用调入用户功能!");
            }
        }
예제 #8
0
        public static bool Update2(Esmart_Sys_Users model)
        {
            try
            {
                var engine = PermissionDb.CreateEngine();

                //CheckUser(engine, model);

                var user = engine.Esmart_Sys_Users.Find(model.UserID);

                if (user == null)
                {
                    throw new TpoBaseException("用户不存在,请刷新后重试");
                }

                Mapper.Map(model, user);

                engine.SaveChanges();
                RightLogDb.AddLog(new Esmart_Right_Log {
                    CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "update", OprTbName = "Esmart_Sys_Users", OprUserId = model.CreateId, OptDescription = string.Format("用户:{0}更新了用户{1}信息", model.CreateId, model.UserID), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(model)
                });
            }
            catch (DbEntityValidationException e)
            {
                var sb = new StringBuilder(200);
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        sb.AppendFormat("[{0}:{1}] ", ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw new TpoBaseException(sb.ToString());
            }
            catch (Exception e)
            {
                var message = e.Message;
                if (e.InnerException != null)
                {
                    message += e.InnerException.Message;
                }
                throw new TpoBaseException(message);
            }
            return(true);
        }
예제 #9
0
        public int CreateUserWithDepartmentId(Esmart_Sys_Users user, int departMentId)
        {
            if (user.UserID == 0)
            {
                user.CreateTime = DateTime.Now;
                UserManagerDb.Add(user);
            }

            Esmart_Sys_Department_User departUser = new Esmart_Sys_Department_User
            {
                DeparentId = departMentId,
                UserId     = user.UserID,
                CreateTime = DateTime.Now,
                CreateId   = user.CreateId
            };

            DepartmentUserDbAction.Add(departUser);

            CommonAction.ClearCache(user.UserID);

            return(user.UserID);
        }
예제 #10
0
        public static List <Esmart_Sys_Users> GetSysUsers(Esmart_Sys_Users condition)
        {
            var engine = PermissionDb.CreateEngine();

            return(engine.Esmart_Sys_Users.Where(u => u.UserName.Contains(condition.UserName)).ToList());
        }
예제 #11
0
 public List <Esmart_Sys_Users> GetUsers(Esmart_Sys_Users condition)
 {
     return(UserManagerDb.GetSysUsers(condition));
 }