コード例 #1
0
ファイル: AdminService.cs プロジェクト: MagicalBottle/HbCrm
        /// <summary>
        ///  更新一个账号
        /// </summary>
        /// <param name="admin">账号实体</param>
        /// <param name="roleIds">账号分配了的角色id</param>
        /// <returns></returns>
        public int UpdateAdmin(SysAdmin admin, List <int> roleIds)
        {
            int result = -1;

            result = _adminRepository.BeginTransaction(() =>
            {
                result = _adminRepository.Update(admin,
                                                 m => m.UserName, m => m.NickName, m => m.Password, m => m.Email, m => m.MobilePhone, m => m.QQ, m => m.WeChar, m => m.LastUpdateBy, m => m.LastUpdateByName, m => m.LastUpdateDate);

                var adminRoles = _adminRoleRepository.Table.Where(m => m.AdminId == admin.Id).ToList();

                #region  除
                //没有设置 全部删除
                if (roleIds == null || roleIds.Count <= 0)
                {
                    _adminRoleRepository.Delete(adminRoles);
                }
                else
                {
                    List <SysAdminRole> remveadminRoles = new List <SysAdminRole>();
                    foreach (var adminRole in adminRoles)
                    {
                        //没有包含,删除数据库
                        if (!roleIds.Any(id => id == adminRole.RoleId))
                        {
                            remveadminRoles.Add(adminRole);
                        }
                    }
                    _adminRoleRepository.Delete(remveadminRoles);
                }
                #endregion

                #region 插入
                if (roleIds != null && roleIds.Count > 0)
                {
                    foreach (var id in roleIds)
                    {
                        if (!adminRoles.Any(m => m.RoleId == id))
                        {
                            //不存在新增
                            var ar = new SysAdminRole()
                            {
                                AdminId          = admin.Id,
                                RoleId           = id,
                                LastUpdateBy     = admin.LastUpdateBy,
                                LastUpdateByName = admin.LastUpdateByName,
                                LastUpdateDate   = admin.LastUpdateDate,
                                CreateBy         = admin.LastUpdateBy,
                                CreatebyName     = admin.LastUpdateByName,
                                CreateDate       = admin.LastUpdateDate
                            };
                            admin.AdminRoles.Add(ar);
                        }
                    }
                    result = _adminRoleRepository.Insert(admin.AdminRoles);
                }
                #endregion
            });
            return(result);
        }
コード例 #2
0
ファイル: RoleService.cs プロジェクト: MagicalBottle/HbCrm
        /// <summary>
        ///  更新一个角色
        /// </summary>
        /// <param name="role">角色实体</param>
        /// <param name="adminIds">包含的人员id</param>
        /// <returns></returns>
        public int UpdateRole(SysRole role, List <int> adminIds)
        {
            int result = -1;

            result = _roleRepository.BeginTransaction(() =>
            {
                result = _roleRepository.Update(role,
                                                m => m.RoleName, m => m.Status, m => m.RoleRemark, m => m.LastUpdateBy, m => m.LastUpdateByName, m => m.LastUpdateDate);

                var adminRoles = _adminRoleRepository.Table.Where(m => m.RoleId == role.Id).ToList();

                #region  除
                //没有设置 全部删除
                if (adminIds == null || adminIds.Count <= 0)
                {
                    _adminRoleRepository.Delete(adminRoles);
                }
                else
                {
                    List <SysAdminRole> remveadminRoles = new List <SysAdminRole>();
                    foreach (var adminRole in adminRoles)
                    {
                        //没有包含,删除数据库
                        if (!adminIds.Any(id => id == adminRole.AdminId))
                        {
                            remveadminRoles.Add(adminRole);
                        }
                    }
                    _adminRoleRepository.Delete(remveadminRoles);
                }
                #endregion

                #region 插入
                if (adminIds != null && adminIds.Count > 0)
                {
                    foreach (var id in adminIds)
                    {
                        if (!adminRoles.Any(m => m.AdminId == id))
                        {
                            //不存在新增
                            var ar = new SysAdminRole()
                            {
                                AdminId          = id,
                                RoleId           = role.Id,
                                LastUpdateBy     = role.LastUpdateBy,
                                LastUpdateByName = role.LastUpdateByName,
                                LastUpdateDate   = role.LastUpdateDate,
                                CreateBy         = role.LastUpdateBy,
                                CreatebyName     = role.LastUpdateByName,
                                CreateDate       = role.LastUpdateDate
                            };
                            role.AdminRoles.Add(ar);
                        }
                    }
                    result = _adminRoleRepository.Insert(role.AdminRoles);
                }
                #endregion
            });
            return(result);
        }
コード例 #3
0
ファイル: AdminService.cs プロジェクト: MagicalBottle/HbCrm
        /// <summary>
        ///  新增一个账号
        /// </summary>
        /// <param name="admin">账号实体</param>
        /// <param name="roleIds">账号分配了的角色id</param>
        /// <returns>-1,实体插入失败,-2角色关系插入失败</returns>
        public int AddAdmin(SysAdmin admin, List <int> roleIds)
        {
            int result = -1;

            result = _adminRepository.BeginTransaction(() =>
            {
                result = _adminRepository.Insert(admin);
                if (roleIds != null && roleIds.Count > 0)
                {
                    foreach (var id in roleIds)
                    {
                        var ar = new SysAdminRole()
                        {
                            AdminId          = admin.Id,
                            RoleId           = id,
                            CreateBy         = admin.CreateBy,
                            CreatebyName     = admin.CreatebyName,
                            CreateDate       = admin.CreateDate,
                            LastUpdateBy     = admin.LastUpdateBy,
                            LastUpdateByName = admin.LastUpdateByName,
                            LastUpdateDate   = admin.LastUpdateDate
                        };
                        admin.AdminRoles.Add(ar);
                    }
                    result = _adminRoleRepository.Insert(admin.AdminRoles);
                }
            });
            return(result);
        }
コード例 #4
0
ファイル: RoleService.cs プロジェクト: MagicalBottle/HbCrm
        /// <summary>
        ///  新增
        /// </summary>
        /// <param name="admin">角色实体</param>
        /// <param name="roleIds">角色包含了账号id</param>
        /// <returns>-1,实体插入失败,-2角色关系插入失败</returns>
        public int AddRole(SysRole role, List <int> adminIds)
        {
            int result = -1;

            result = _roleRepository.BeginTransaction(() =>
            {
                result = _roleRepository.Insert(role);
                if (adminIds != null && adminIds.Count > 0)
                {
                    foreach (var id in adminIds)
                    {
                        var ar = new SysAdminRole()
                        {
                            AdminId          = id,
                            RoleId           = role.Id,
                            CreateBy         = role.CreateBy,
                            CreatebyName     = role.CreatebyName,
                            CreateDate       = role.CreateDate,
                            LastUpdateBy     = role.LastUpdateBy,
                            LastUpdateByName = role.LastUpdateByName,
                            LastUpdateDate   = role.LastUpdateDate
                        };
                        role.AdminRoles.Add(ar);
                    }
                    result = _adminRoleRepository.Insert(role.AdminRoles);
                }
            });
            return(result);
        }