Exemplo n.º 1
0
        /// <summary>
        /// 修改角色
        /// </summary>
        /// <returns>true|false</returns>
        public static bool Update(RoleModel dto)
        {
            var engine = PermissionDb.CreateEngine();

            var role = engine.Esmart_Sys_Roles.Find(dto.Id);

            if (role.IsBuiltin)
            {
                throw new TpoBaseException("系统角色不允许修改");
            }

            if (engine.Esmart_Sys_Roles.Any(n => n.RoleId != role.RoleId && n.RoleName == dto.Name))
            {
                throw new TpoBaseException("角色名称已经存在");
            }

            role.RoleName  = dto.Name.Trim();
            role.Remark    = dto.Remark;
            role.StartTime = dto.StartDate ?? DateTime.Now;
            role.EndTime   = dto.EndDate ?? role.StartTime.Value.AddYears(99);
            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = dto.CreatorId, CreateTime = System.DateTime.Now, EventType = "update", OprTbName = "Esmart_Sys_Roles", OprUserId = dto.CreatorId, OptDescription = string.Format(logFormat, dto.CreatorId, "更新", dto.Id), Remark = JsonConvert.SerializeObject(role)
            });
            CommonAction.ClearCache();
            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static bool Add(Esmart_Sys_Functions model)
        {
            var engine = PermissionDb.CreateEngine();

            //appid相同key不能重复
            if (engine.Esmart_Sys_Functions.Any(m => m.AppId == model.AppId && m.FunctionKey == model.FunctionKey))
            {
                throw new TpoBaseException("功能key已存在,请重新输入");
            }

            model.FunctionId = 1;
            if (engine.Esmart_Sys_Functions.Any())
            {
                model.FunctionId = engine.Esmart_Sys_Functions.Max(m => m.FunctionId) + 1;
            }

            engine.Esmart_Sys_Functions.Add(model);
            var count = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_Functions", OprUserId = model.CreateId, OptDescription = string.Format("用户:{0}添加了功能,ID:{1}", model.CreateId, model.FunctionId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();
            return(count > 0);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static bool Update(Esmart_Sys_Functions model)
        {
            var engine = PermissionDb.CreateEngine();

            if (engine.Esmart_Sys_Functions.Any(m => m.FunctionId != model.FunctionId && m.FunctionKey == model.FunctionKey && m.AppId == model.AppId))
            {
                throw new TpoBaseException("功能key已存在,请重新输入");
            }

            var functions = engine.Esmart_Sys_Functions.Find(model.FunctionId);

            if (functions != null)
            {
                functions.AppId        = model.AppId;
                functions.CreateId     = model.CreateId;
                functions.FunctionKey  = model.FunctionKey;
                functions.FunctionName = model.FunctionName;
                functions.Remark       = model.Remark;
                engine.SaveChanges();
                RightLogDb.AddLog(new Esmart_Right_Log {
                    CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "update", OprTbName = "Esmart_Sys_Functions", OprUserId = model.CreateId, OptDescription = string.Format("用户:{0}修改了功能,ID:{1}", model.CreateId, model.FunctionId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(functions)
                });
                return(true);
            }

            CommonAction.ClearCache();
            return(false);
        }
Exemplo n.º 5
0
        public static int Add(Esmart_Sys_Navigations model)
        {
            var engine = PermissionDb.CreateEngine();
            int max;

            try
            {
                max = engine.Esmart_Sys_Navigations.Max(a => a.NavigationId);
            }
            catch
            {
                max = 0;
            }
            model.NavigationId = max + 1;

            model.CreateTime = DateTime.Now;

            engine.Esmart_Sys_Navigations.Add(model);

            int code = engine.SaveChanges();

            if (code <= 0)
            {
                throw new TpoBaseException("新增异常");
            }
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_Navigations", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, "添加", model.NavigationId), Remark = JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();

            return(model.NavigationId);
        }
Exemplo n.º 6
0
        public static bool ModifyPassword(string userAccount, string password, string newPassword, int optUserId = 0)
        {
            var engine = PermissionDb.CreateEngine();
            var user   = engine.Esmart_Sys_Users.FirstOrDefault(m => m.Isleave != 1 && m.IsDelete != 1 && (m.Email == userAccount || m.Mobile == userAccount));

            if (user == null)
            {
                throw new TpoBaseException("用户帐号不存在");
            }

            if (user.PassWord != CommonFunction.GetMD5String(password))
            {
                throw new TpoBaseException("用户密码错误");
            }

            if (password == newPassword)
            {
                throw new TpoBaseException("新密码不能与旧密码相同!");
            }

            user.PassWord = CommonFunction.GetMD5String(newPassword);
            engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "update", OprTbName = "Esmart_Sys_Users", OprUserId = optUserId, OptDescription = string.Format("用户:{0}修改了用户{1}密码,账号为:{2}", optUserId, user.UserID, userAccount), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(user)
            });
            return(true);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static bool Add(Esmart_Sys_Department_User model)
        {
            var engine = PermissionDb.CreateEngine();

            engine.Esmart_Sys_Department_User.Add(model);
            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = model.CreateTime, EventType = "add", OprTbName = "Esmart_Sys_Department_User", OprUserId = model.CreateId, OptDescription = string.Format("用户:{0}添加了部门关系用户,用户ID:{1},部门ID:{2}", model.CreateId, model.UserId, model.DeparentId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();
            return(true);
        }
Exemplo n.º 8
0
        public static void Add(Esmart_Sys_Departments model)
        {
            var engine = PermissionDb.CreateEngine();

            model.DeparentId = (engine.Esmart_Sys_Departments.Max(n => (int?)n.DeparentId) ?? 0) + 1;
            engine.Esmart_Sys_Departments.Add(model);
            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_Departments", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, System.DateTime.Now, "添加", model.DeparentId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();
        }
Exemplo n.º 9
0
        /// <summary>
        /// 给角色添加菜单和功能
        /// </summary>
        /// <returns></returns>
        public static bool AssignPermissionRole(int roleId, int appId, List <Esmart_Sys_Role_Navigations> roleNavigationses, List <Esmart_Sys_Role_Navigation_Function> roleNavigationFunctions)
        {
            var engine = PermissionDb.CreateEngine();

            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            //获取要删除的Esmart_Sys_Role_Navigations集合
            var navigations = (from a in engine.Esmart_Sys_Role_Navigations.ToList()
                               join b in engine.Esmart_Sys_Navigations.ToList()
                               on a.NavigationId equals b.NavigationId
                               where a.RoleId == roleId && b.AppId == appId
                               select a).ToList();

            //获取要删除的Esmart_Sys_Role_Navigation_Function集合
            var functions = (from a in engine.Esmart_Sys_Role_Navigation_Function.ToList()
                             join b in engine.Esmart_Sys_Functions.Where(a => a.AppId == appId).ToList()
                             on a.FunctionId equals b.FunctionId
                             where a.RoleId == roleId
                             select a).ToList();

            //删除Esmart_Sys_Role_Navigations
            engine.Esmart_Sys_Role_Navigations.RemoveRange(navigations);

            //删除Esmart_Sys_Role_Navigation_Function
            engine.Esmart_Sys_Role_Navigation_Function.RemoveRange(functions);

            if (roleNavigationses.Count > 0)
            {
                //批量添加Esmart_Sys_Role_Navigations
                engine.Esmart_Sys_Role_Navigations.AddRange(roleNavigationses);

                //批量添加Esmart_Sys_Role_Navigation_Function
                engine.Esmart_Sys_Role_Navigation_Function.AddRange(roleNavigationFunctions);
            }
            else if (roleNavigationFunctions.Count > 0)
            {
                //批量添加Esmart_Sys_Role_Navigation_Function
                engine.Esmart_Sys_Role_Navigation_Function.AddRange(roleNavigationFunctions);
            }

            //一起提交到数据库  事务
            engine.SaveChanges();
            int createId = roleNavigationses.First().CreateId;

            sb.Append(JsonConvert.SerializeObject(navigations)).Append(";").Append(JsonConvert.SerializeObject(functions)).Append(";").Append(JsonConvert.SerializeObject(roleNavigationses)).Append(";").Append(JsonConvert.SerializeObject(roleNavigationFunctions));
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = createId, CreateTime = System.DateTime.Now, EventType = "add&delete", OprTbName = "Esmart_Sys_Role_Navigations,Esmart_Sys_Role_Navigation_Function", OprUserId = createId, OptDescription = string.Format("用户:{0}修改了角色菜单关系,其中删除角色菜单关系表ID:{1},删除角色菜单功能关系表ID:{2},添加角色菜单关系表ID:{3},添加角色菜单功能关系表ID:{4}", createId, string.Join(",", navigations.Select(s => s.Id)), string.Join(",", functions.Select(s => s.Id)), string.Join(",", roleNavigationses.Select(s => s.Id)), roleNavigationFunctions.Select(s => s.Id)), Remark = sb.ToString()
            });
            CommonAction.ClearCache();
            sb.Length = 0;
            return(true);
        }
Exemplo n.º 10
0
        public static int AssignDepartmentRoles(int departmentId, int creatId, List <int> roleIds)
        {
            var engine = PermissionDb.CreateEngine();

            System.Text.StringBuilder sb = new System.Text.StringBuilder(), sbDesc = new System.Text.StringBuilder();
            //-----------------------------------------
            // 保存部门角色
            //-----------------------------------------
            var entities = engine.Esmart_Sys_Deparent_Role.Where(a => a.DeparentId == departmentId).ToList();

            engine.Esmart_Sys_Deparent_Role.RemoveRange(entities);
            sb.Append("删除部门角色:").Append(JsonConvert.SerializeObject(entities)).Append(";");
            foreach (var item in roleIds)
            {
                engine.Esmart_Sys_Deparent_Role.Add(new Esmart_Sys_Deparent_Role()
                {
                    CreateId = creatId, CreateTime = DateTime.Now, RoleId = item, DeparentId = departmentId
                });
            }
            sb.Append("添加部门角色:").Append(JsonConvert.SerializeObject(engine.Esmart_Sys_Deparent_Role.ToList())).Append(";");
            //-----------------------------------------
            // 注入部门角色到用户角色列表中
            //-----------------------------------------
            var query = from user in engine.Esmart_Sys_Users
                        join dep_user in engine.Esmart_Sys_Department_User on user.UserID equals dep_user.UserId
                        where dep_user.DeparentId == departmentId
                        select user.UserID;

            foreach (var userId in query.ToArray())
            {
                var userRoleIds   = engine.Esmart_Sys_User_Roles.Where(n => n.UserId == userId).Select(n => n.RoleId).ToArray();
                var exceptRoleIds = roleIds.Except(userRoleIds);
                foreach (var roleId in exceptRoleIds)
                {
                    engine.Esmart_Sys_User_Roles.Add(new Esmart_Sys_User_Roles()
                    {
                        CreateId = creatId, CreateTime = DateTime.Now, RoleId = roleId, UserId = userId
                    });
                }
            }
            sb.Append("删除用户角色:").Append(JsonConvert.SerializeObject(engine.Esmart_Sys_User_Roles.ToList()));
            //-----------------------------------------
            // 保存并清空缓存
            //-----------------------------------------
            var result = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = creatId, CreateTime = System.DateTime.Now, EventType = "add&delete", OprTbName = "Esmart_Sys_Deparent_Role,Esmart_Sys_User_Roles", OprUserId = creatId, OptDescription = string.Format("用户:{0}修改了部门角色、用户角色关系", creatId), Remark = sb.ToString()
            });
            CommonAction.ClearCache();
            return(result);
        }
        /// <summary>
        /// 删除当前角色Id对应的数据
        /// </summary>
        /// <param name="roleId">角色Id</param>
        /// <returns></returns>
        public static bool Del(int roleId, int optUserId = 0)
        {
            var engine   = PermissionDb.CreateEngine();
            var entities = engine.Esmart_Sys_Role_Navigation_Function.Where(a => a.RoleId == roleId).ToList();

            engine.Esmart_Sys_Role_Navigation_Function.RemoveRange(entities);
            var result = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Role_Navigation_Function", OprUserId = optUserId, OptDescription = string.Format("用户:{0}{1}了角色菜单功能关系,角色ID:{2}", optUserId, "删除", roleId), Remark = JsonConvert.SerializeObject(entities)
            });
            return(result > 0);
        }
Exemplo n.º 12
0
        public static bool DeleteUserRoles(int userId, int optUserId = 0)
        {
            var engine   = PermissionDb.CreateEngine();
            var entities = engine.Esmart_Sys_User_Roles.Where(m => m.UserId == userId).ToList();

            engine.Esmart_Sys_User_Roles.RemoveRange(entities);
            var result = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_User_Roles", OprUserId = optUserId, OptDescription = string.Format("用户:{0}删除了用户ID对应的角色关系,用户ID:{1}", optUserId, userId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(entities)
            });
            return(result > 0);
        }
Exemplo n.º 13
0
        /// <summary>
        /// 删除当前角色Id对应的数据
        /// </summary>
        /// <param name="roleId">角色Id</param>
        /// <returns></returns>
        public static bool Del(int userId, int optUserId)
        {
            var engine  = PermissionDb.CreateEngine();
            var entitys = engine.Esmart_Sys_User_Navigations.Where(a => a.UserId == userId).ToList();

            engine.Esmart_Sys_User_Navigations.RemoveRange(entitys);
            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_User_Navigations", OprUserId = optUserId, OptDescription = string.Format("用户:{0}删除了用户菜单关系,用户ID:{1}", optUserId, userId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(entitys)
            });
            CommonAction.ClearCache();
            return(true);
        }
Exemplo n.º 14
0
        public static int RemoveUserRole(int userId, int roleId, int optUserId = 0)
        {
            var engine = PermissionDb.CreateEngine();
            var items  = engine.Esmart_Sys_User_Roles.Where(n => n.UserId == userId && n.RoleId == roleId).ToArray();

            engine.Esmart_Sys_User_Roles.RemoveRange(items);
            int updateCount = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_User_Roles", OprUserId = optUserId, OptDescription = string.Format("用户:{0}删除了用户角色关系,用户ID:{1},角色ID{2}", optUserId, userId, roleId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(items)
            });
            return(updateCount);
        }
Exemplo n.º 15
0
        public static bool DelDepartmentRelation(int userId, int departMentId, int currUser = 0)
        {
            var engine      = PermissionDb.CreateEngine();
            var departUsers = engine.Esmart_Sys_Department_User.Where(a => a.UserId == userId && a.DeparentId == departMentId).ToList();

            engine.Esmart_Sys_Department_User.RemoveRange(departUsers);
            bool isDelSuccess = engine.SaveChanges() > 0;

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = currUser, CreateTime = DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Department_User", OprUserId = currUser, OptDescription = string.Format("用户:{0}删除了部门关系用户,用户ID:{1},部门ID:{2}", currUser, userId, departMentId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(departUsers)
            });
            return(isDelSuccess);
        }
Exemplo n.º 16
0
        public static int Update(Esmart_Sys_Departments model)
        {
            var engine = PermissionDb.CreateEngine();

            DbEntityEntry <Esmart_Sys_Departments> entry = engine.Entry(model);

            entry.State = EntityState.Modified;
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = DateTime.Now, EventType = "update", OprTbName = "Esmart_Sys_Departments", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, System.DateTime.Now, "修改", model.DeparentId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(model)
            });
            int result = engine.SaveChanges();

            CommonAction.ClearCache();
            return(result);
        }
Exemplo n.º 17
0
        public static int Delete(Esmart_Sys_Navigations model)
        {
            var engine = PermissionDb.CreateEngine();

            engine.Esmart_Sys_Navigations.Remove(model);

            int reInt = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Navigations", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, "删除", model.NavigationId), Remark = JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();

            return(reInt);
        }
Exemplo n.º 18
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="functionId"></param>
        /// <returns></returns>
        public static bool Del(int functionId, int optUserId = 0)
        {
            var engine    = PermissionDb.CreateEngine();
            var functions = engine.Esmart_Sys_Functions.Find(functionId);

            if (functions == null)
            {
                return(false);
            }
            functions.IsDelete = 1;
            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Functions", OprUserId = optUserId, OptDescription = string.Format("用户:{0}删除了功能,ID:{1}", optUserId, functionId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(functions)
            });
            CommonAction.ClearCache();
            return(true);
        }
Exemplo n.º 19
0
        /// <summary>
        /// 删除角色
        /// </summary>
        /// <param name="roleId">角色Id</param>
        /// <returns>true|false</returns>
        public static bool Delete(int roleId, int optUserId = 0)
        {
            var engine   = PermissionDb.CreateEngine();
            var entities = engine.Esmart_Sys_Roles.Where(a => a.RoleId == roleId).ToList();

            if (entities.Any(n => n.IsBuiltin))
            {
                throw new TpoBaseException("系统角色不允许删除");
            }
            engine.Esmart_Sys_Roles.RemoveRange(entities);
            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Roles", OprUserId = optUserId, OptDescription = string.Format(logFormat, optUserId, "删除", roleId), Remark = JsonConvert.SerializeObject(entities)
            });
            CommonAction.ClearCache();
            return(true);
        }
Exemplo n.º 20
0
        /// <summary>
        /// 删除角色Id对应的数据
        /// </summary>
        public static bool DeleteByRoleId(int roleId)
        {
            var engine   = PermissionDb.CreateEngine();
            var entities = engine.Esmart_Sys_Deparent_Role.Where(a => a.RoleId == roleId).ToList();

            engine.Esmart_Sys_Deparent_Role.RemoveRange(entities);
            engine.SaveChanges();
            LogHelper <RoleModel> .LogInstance(guid, new Action <UserLiteDto, RoleModel>((users, depart) =>
            {
                RightLogDb.AddLog(new Esmart_Right_Log {
                    CreateBy = users.UserID, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Deparent_Role", OprUserId = users.UserID, Remark = Newtonsoft.Json.JsonConvert.SerializeObject(entities), OptDescription = string.Format("用户:{0}{1}了部门角色,ID:{2}", users.UserID, "删除", roleId)
                });
            }));

            CommonAction.ClearCache();
            return(true);
        }
Exemplo n.º 21
0
        public static int Update(Esmart_Sys_Navigations model)
        {
            var engine = PermissionDb.CreateEngine();

            engine.Esmart_Sys_Navigations.Attach(model);

            engine.Entry(model).State = EntityState.Modified;

            var code = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "update", OprTbName = "Esmart_Sys_Navigations", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, "修改", model.NavigationId), Remark = JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();

            return(code);
        }
Exemplo n.º 22
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);
        }
Exemplo n.º 23
0
        public static int DelByList(List <int> list, int optUserId = 0)
        {
            var engine = PermissionDb.CreateEngine();

            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            var navigation = engine.Esmart_Sys_Navigations.Where(m => list.Contains(m.NavigationId));

            engine.Esmart_Sys_Navigations.RemoveRange(navigation);
            sb.Append(JsonConvert.SerializeObject(navigation)).Append(";");

            var navigationFunction = engine.Esmart_Sys_Navigation_Function.Where(m => list.Contains(m.NavigationId));

            engine.Esmart_Sys_Navigation_Function.RemoveRange(navigationFunction);
            sb.Append(JsonConvert.SerializeObject(navigationFunction)).Append(";");

            var role_navs = engine.Esmart_Sys_Role_Navigations.Where(n => list.Contains(n.NavigationId));

            engine.Esmart_Sys_Role_Navigations.RemoveRange(role_navs);
            sb.Append(JsonConvert.SerializeObject(role_navs)).Append(";");

            var role_nav_functions = engine.Esmart_Sys_Role_Navigation_Function.Where(n => list.Contains(n.NavigationId));

            engine.Esmart_Sys_Role_Navigation_Function.RemoveRange(role_nav_functions);
            sb.Append(JsonConvert.SerializeObject(role_nav_functions)).Append(";");

            var user_navs = engine.Esmart_Sys_User_Navigations.Where(n => list.Contains(n.NavigationId));

            engine.Esmart_Sys_User_Navigations.RemoveRange(user_navs);
            sb.Append(JsonConvert.SerializeObject(user_navs)).Append(";");

            var user_nav_functions = engine.Esmart_Sys_User_Navigation_Function.Where(n => list.Contains(n.NavigationId));

            engine.Esmart_Sys_User_Navigation_Function.RemoveRange(user_nav_functions);
            sb.Append(JsonConvert.SerializeObject(user_nav_functions)).Append(";");
            int count = engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Navigations,Esmart_Sys_Navigation_Function,Esmart_Sys_Role_Navigations,Esmart_Sys_Role_Navigation_Function,Esmart_Sys_User_Navigations,Esmart_Sys_User_Navigation_Function", OprUserId = optUserId, OptDescription = string.Format("用户:{0}批量删除了菜单及其关系表,菜单ID:{1}", optUserId, string.Join(",", navigation.Select(s => s.NavigationId))), Remark = sb.ToString()
            });

            return(count);
        }
Exemplo n.º 24
0
        public static int AddList(List <Esmart_Sys_User_Roles> list)
        {
            var engine = PermissionDb.CreateEngine();

            if (list != null && list.Any())
            {
                foreach (var lt in list)
                {
                    engine.Esmart_Sys_User_Roles.Add(lt);
                }
            }
            int updateCount = engine.SaveChanges();
            int optUserId   = list.First().Id;

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_User_Roles", OprUserId = optUserId, OptDescription = string.Format("用户:{0}新建了用户角色关系", optUserId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(list)
            });
            return(updateCount);
        }
Exemplo n.º 25
0
        /// <summary>
        /// 添加角色
        /// </summary>
        /// <param name="model">角色entity</param>
        /// <returns>true|false</returns>
        public static Esmart_Sys_Roles Add(Esmart_Sys_Roles model)
        {
            var engine = PermissionDb.CreateEngine();

            model.RoleName = model.RoleName.Trim();

            if (engine.Esmart_Sys_Roles.Any(n => n.RoleName == model.RoleName))
            {
                throw new TpoBaseException("角色名称已经存在");
            }

            model.RoleId = (engine.Esmart_Sys_Roles.Max(m => (int?)m.RoleId) ?? 0) + 1;
            var entity = engine.Esmart_Sys_Roles.Add(model);

            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_Roles", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, "添加", model.RoleId), Remark = JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();
            return(entity);
        }
Exemplo n.º 26
0
        public static int ChangeDepartmentOfUser(List <int> userIds, int newDepartmentId, int createId)
        {
            var engine = PermissionDb.CreateEngine();

            if (!engine.Esmart_Sys_Departments.Any(n => n.DeparentId == newDepartmentId))
            {
                throw new TpoBaseException("调入部门已不存在,请刷新后重试");
            }
            List <Esmart_Sys_Department_User> delDepartUser = new List <Esmart_Sys_Department_User>(), addDepartUser = new List <Esmart_Sys_Department_User>();

            foreach (var userId in userIds)
            {
                if (!engine.Esmart_Sys_Users.Any(n => n.UserID == userId))
                {
                    throw new TpoBaseException("用户已不存在,请刷新后重试");
                }

                var depUsers = engine.Esmart_Sys_Department_User.Where(n => n.UserId == userId).ToArray();
                engine.Esmart_Sys_Department_User.RemoveRange(depUsers);
                delDepartUser.AddRange(depUsers);
                var newModel = new Esmart_Sys_Department_User
                {
                    UserId     = userId,
                    DeparentId = newDepartmentId,
                    CreateId   = createId,
                    CreateTime = DateTime.Now
                };
                engine.Esmart_Sys_Department_User.Add(newModel);
                addDepartUser.Add(newModel);
            }
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = createId, CreateTime = DateTime.Now, EventType = "add&delete", OprTbName = "Esmart_Sys_Department_User", OprUserId = createId, OptDescription = string.Format("用户:{0}更新了部门用户关系,更新的用户ID:{1},原部门ID{2},新部门ID:{3}", createId, string.Join(",", userIds), string.Join(",", delDepartUser.Select(s => s.DeparentId)), string.Join(",", addDepartUser.Select(s => s.DeparentId))), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(delDepartUser) + ";" + Newtonsoft.Json.JsonConvert.SerializeObject(addDepartUser)
            });
            var result = engine.SaveChanges();

            CommonAction.ClearCache();
            return(result);
        }
Exemplo n.º 27
0
        public static bool ResetPwd(int userId, int optUserId = 0)
        {
            var engine = PermissionDb.CreateEngine();

            var user = engine.Esmart_Sys_Users.FirstOrDefault(u => u.UserID == userId);

            if (user == null)
            {
                throw new TpoBaseException("用户不存在");
            }

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

            //new MailService().SendPasswordReseted(user.Email, user.UserID, password);

            user.PassWord = CommonFunction.GetMD5String(password);

            engine.SaveChanges();

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "resetpwd", OprTbName = "Esmart_Sys_Users", OprUserId = optUserId, OptDescription = string.Format("用户:{0}重置了用户{1}密码", optUserId, userId), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(user)
            });
            return(true);
        }
Exemplo n.º 28
0
        /// <summary>
        /// 设置用户的离职状态  1:离职  0:未离职
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public static bool UpdateLeaveStatus(int userId, int optUserId = 0)
        {
            //更新BaseManager库中的数据
            StringBuilder sb = new StringBuilder();
            //更新SysManager库中的数据
            var engine = PermissionDb.CreateEngine();
            var user   = engine.Esmart_Sys_Users.FirstOrDefault(n => n.UserID == userId);

            if (user != null)
            {
                user.Isleave = 1;
            }
            sb.Append("用户状态更新:").Append(Newtonsoft.Json.JsonConvert.SerializeObject(user)).Append(";");
            var roles = engine.Esmart_Sys_User_Roles.Where(n => n.UserId == userId).ToArray();

            engine.Esmart_Sys_User_Roles.RemoveRange(roles);
            sb.Append("用户离职后删除其角色:").Append(Newtonsoft.Json.JsonConvert.SerializeObject(roles)).Append(";");
            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = optUserId, CreateTime = System.DateTime.Now, EventType = "update&delete", OprTbName = "Esmart_Teacher_Info,Esmart_Sys_Users,Esmart_Sys_User_Roles", OprUserId = optUserId, OptDescription = string.Format("用户:{0}更新了用户{1}离职状态信息,,角色ID{2}", optUserId, userId, string.Join(",", roles.Select(s => s.Id))), Remark = sb.ToString()
            });
            sb.Length = 0;
            return(true);
        }
Exemplo n.º 29
0
        public static int Delete(int deparentId)
        {
            int result = -1;
            var engine = PermissionDb.CreateEngine();
            Dictionary <string, List <object> > dctTemp = new Dictionary <string, List <object> >();

            if (engine.Esmart_Sys_Departments.Any(n => n.DeparentId == deparentId))
            {
                var all        = engine.Esmart_Sys_Departments.Where(n => n.IsDelete == 0).OrderBy(n => n.ParentId).ToArray();
                var department = all.FirstOrDefault(n => n.DeparentId == deparentId);
                var dic        = new Dictionary <int, Esmart_Sys_Departments>(all.Length);

                //构建部门树形结构

                Esmart_Sys_Departments department2;
                foreach (var item in all)
                {
                    dic[item.DeparentId] = item;
                    if (dic.TryGetValue(item.ParentId, out department2))
                    {
                        if (department2.Children == null)
                        {
                            department2.Children = new List <Esmart_Sys_Departments>(20);
                        }
                        department2.Children.Add(item);
                    }
                }

                //删除部门及所有下级部门
                DeleteDepartment(engine, department, ref dctTemp);

                result = engine.SaveChanges();
                if (dctTemp.Count > 0)
                {
                    System.Text.StringBuilder sbRemark = new System.Text.StringBuilder();
                    foreach (string key in dctTemp.Keys)
                    {
                        switch (key)
                        {
                        case "role":
                            sbRemark.Append("删除的角色:").Append(JsonConvert.SerializeObject(dctTemp[key])).Append(";");
                            break;

                        case "user":
                            sbRemark.Append("删除的用户:").Append(JsonConvert.SerializeObject(dctTemp[key])).Append(";");
                            break;

                        case "department":
                            sbRemark.Append("删除的部门:").Append(JsonConvert.SerializeObject(dctTemp[key])).Append(";");
                            break;
                        }
                    }


                    LogHelper <DepartmentRequest> .LogInstance(guid, new Action <UserLiteDto, DepartmentRequest>((users, depart) =>
                    {
                        RightLogDb.AddLog(new Esmart_Right_Log {
                            CreateBy = users.UserID, CreateTime = DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Departments,Esmart_Sys_Deparent_Role,Esmart_Sys_Department_User", OprUserId = users.UserID, OptDescription = string.Format(logFormat, users.UserID, System.DateTime.Now, "删除", deparentId) + ";其中包括部门角色、部门用户、部门信息", Remark = sbRemark.ToString()
                        });
                    }));

                    //RightLogDb.AddLog(new Esmart_Right_Log { CreateBy = userId, CreateTime = DateTime.Now, EventType = "delete", OprTbName = "Esmart_Sys_Departments,Esmart_Sys_Deparent_Role,Esmart_Sys_Department_User", OprUserId = userId, OptDescription = string.Format(logFormat, userId, System.DateTime.Now, "删除", deparentId) + ";其中包括部门角色、部门用户、部门信息", Remark = sbRemark.ToString() });
                }
                CommonAction.ClearCache();
            }


            return(result);
        }