Esempio 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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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);
        }
Esempio 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);
        }
        public static List <Esmart_Sys_Navigation_Function> GetListByNavigationId(int navigationId)
        {
            var engine = PermissionDb.CreateEngine();
            var list   = engine.Esmart_Sys_Navigation_Function.Where(a => a.NavigationId == navigationId).ToList();

            CommonAction.ClearCache();
            return(list);
        }
Esempio 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);
        }
Esempio 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();
        }
Esempio n. 9
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);
        }
Esempio n. 10
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);
        }
Esempio n. 11
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);
        }
Esempio n. 12
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);
        }
Esempio n. 13
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);
        }
Esempio n. 14
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);
        }
Esempio n. 15
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);
        }
Esempio n. 16
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);
        }
Esempio n. 17
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);
        }
Esempio n. 18
0
        public int DeleteAll(int menuId)
        {
            var listId = new List <int>()
            {
                menuId
            };
            var list = GetList(menuId);

            if (list != null && list.Any())
            {
                listId.AddRange(list.Select(li => li.NavigationId));
            }
            var returnInt = Data.MenuManager.DelByList(listId);

            CommonAction.ClearCache();
            return(returnInt);
        }
Esempio n. 19
0
        public int UpdateUserRole(int userId, int creatId, List <int> listRole)
        {
            UserRolesDbAction.DeleteUserRoles(userId);

            var list = new List <Esmart_Sys_User_Roles>();

            if (listRole.Any())
            {
                list.AddRange(listRole.Select(lr => new Esmart_Sys_User_Roles()
                {
                    CreateId = creatId, CreateTime = DateTime.Now, RoleId = lr, UserId = userId
                }));
            }

            var result = UserRolesDbAction.AddList(list);

            CommonAction.ClearCache();
            return(result);
        }
Esempio n. 20
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);
        }
Esempio n. 21
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);
        }
Esempio n. 22
0
        public static bool Update(List <Esmart_Sys_Navigation_Function> listModel, int navigationId)
        {
            var engine = PermissionDb.CreateEngine();
            //删除
            var navigationFunction = engine.Esmart_Sys_Navigation_Function.Where(m => m.NavigationId == navigationId);

            if (navigationFunction.Any())
            {
                engine.Esmart_Sys_Navigation_Function.RemoveRange(navigationFunction);
            }
            if (listModel != null && listModel.Any())
            {
                engine.Esmart_Sys_Navigation_Function.AddRange(listModel);
            }
            int reInt    = engine.SaveChanges();
            int createId = listModel.First().CreateId;

            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = createId, CreateTime = System.DateTime.Now, EventType = "update", OprTbName = "Esmart_Sys_Navigation_Function", OprUserId = createId, OptDescription = string.Format("用户:{0}修改了菜单功能关系,其中删除关系表ID:{1},添加关系表ID:{2}", createId, string.Join(",", navigationFunction.Select(s => s.NavigationId)), string.Join(",", listModel)), Remark = Newtonsoft.Json.JsonConvert.SerializeObject(navigationFunction) + ";" + Newtonsoft.Json.JsonConvert.SerializeObject(listModel)
            });
            CommonAction.ClearCache();
            return(reInt > 0);
        }
Esempio n. 23
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);
        }