Example #1
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();
        }
Example #2
0
        /// <summary>
        /// 获取部门所有下级部门Id哈希集合
        /// </summary>
        private static void GetAllChildId(Esmart_Sys_Departments department, HashSet <int> resultSet)
        {
            if (department.Children == null || department.Children.Count == 0)
            {
                return;
            }

            foreach (var child in department.Children)
            {
                resultSet.Add(child.DeparentId);
                GetAllChildId(child, resultSet);
            }
        }
Example #3
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);
        }
Example #4
0
        /// <summary>
        /// 删除部门及所有下级部门 -- 软删除
        /// </summary>
        private static void DeleteDepartment(PermissionContext dbContext, Esmart_Sys_Departments department, ref Dictionary <string, List <object> > dctDel)
        {
            department.IsDelete = 1;
            //删除部门-角色关联
            var deparentRoles = dbContext.Esmart_Sys_Deparent_Role.Where(a => a.DeparentId == department.DeparentId).ToArray();

            dbContext.Esmart_Sys_Deparent_Role.RemoveRange(deparentRoles);
            if (!dctDel.ContainsKey("role"))
            {
                dctDel.Add("role", new List <object> {
                });
            }
            if (deparentRoles.Count() > 0)
            {
                dctDel["role"].Add(deparentRoles);
            }
            //删除部门-用户关联
            var deparentUsers = dbContext.Esmart_Sys_Department_User.Where(a => a.DeparentId == department.DeparentId).ToArray();

            dbContext.Esmart_Sys_Department_User.RemoveRange(deparentUsers);
            if (!dctDel.ContainsKey("user"))
            {
                dctDel.Add("user", new List <object> {
                });
            }
            if (deparentUsers.Count() > 0)
            {
                dctDel["user"].Add(deparentUsers);
            }
            if (!dctDel.ContainsKey("department"))
            {
                dctDel.Add("department", new List <object> {
                });
            }
            dctDel["department"].Add(department);
            if (department.Children == null || department.Children.Count == 0)
            {
                return;
            }

            foreach (var child in department.Children)
            {
                DeleteDepartment(dbContext, child, ref dctDel);
            }
        }
Example #5
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <returns>返回值</returns>
        public int Update(DepartmentRequest request)
        {
            var result = 0;
            var model  = new Esmart_Sys_Departments();

            if (request != null)
            {
                model.DeparentId = request.DeparentId;
                model.CreateId   = request.CreateId;
                model.CreateTime = request.CreateTime;
                model.Name       = request.Name;
                model.ParentId   = request.ParentId;
                model.Remark     = request.Remark;
                model.SortNo     = request.SortNo;
                model.IsDelete   = request.IsDelete;
                result           = DepartmentDbAction.Update(model);
            }
            return(result);
        }
Example #6
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <returns>返回值</returns>
        public int Add(DepartmentRequest request)
        {
            var model = new Esmart_Sys_Departments();

            if (request != null)
            {
                model.DeparentId = request.DeparentId;
                model.CreateId   = request.CreateId;
                model.CreateTime = request.CreateTime;
                model.Name       = request.Name;
                model.ParentId   = request.ParentId;
                model.Remark     = request.Remark;
                model.SortNo     = request.SortNo;
                model.IsDelete   = request.IsDelete;
                DepartmentDbAction.Add(model);
                return(model.DeparentId);
            }
            return(-1);
        }