⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usergroups.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.UserManage
{
    using PowerEasy.AccessManage;
    using PowerEasy.Common;
    using PowerEasy.Components;
    using PowerEasy.Enumerations;
    using PowerEasy.IDal.UserManage;
    using PowerEasy.Model.UserManage;
    using System;
    using System.Collections.Generic;

    public sealed class UserGroups
    {
        private static readonly IUserGroups dal = DataAccess.CreateUserGroups();
        private static Serialize<UserPurviewInfo> ser = new Serialize<UserPurviewInfo>();

        private UserGroups()
        {
        }

        public static DataActionState Add(UserGroupsInfo userGroupsInfo)
        {
            if (!RolePermissions.AccessCheck(OperateCode.UserGroupManage))
            {
                throw new CustomException(PEExceptionType.ExceedAuthority);
            }
            DataActionState unknown = DataActionState.Unknown;
            EncodeUserGroup(userGroupsInfo);
            if (GroupNameIsExist(userGroupsInfo.GroupName))
            {
                return DataActionState.Exist;
            }
            if (dal.Add(userGroupsInfo))
            {
                unknown = DataActionState.Successed;
            }
            return unknown;
        }

        private static void CountUserNumber(IList<UserGroupsInfo> userGroupsList)
        {
            for (int i = 0; i < userGroupsList.Count; i++)
            {
                userGroupsList[i].UserInGroupNumber = GetUserInGroupNumber(userGroupsList[i].GroupId);
            }
        }

        private static void DecodeUserGroup(UserGroupsInfo userGroupInfo)
        {
            userGroupInfo.Description = DataSecurity.HtmlDecode(userGroupInfo.Description);
        }

        public static bool Delete(int id)
        {
            RolePermissions.BusinessAccessCheck(OperateCode.UserGroupManage);
            if (dal.Delete(id))
            {
                DeleteUserGroupRelation(id);
            }
            foreach (UserInfo info in Users.GetUsersByGroupId(id.ToString()))
            {
                info.GroupId = 1;
                Users.Update(info);
            }
            return true;
        }

        private static void DeleteUserGroupRelation(int id)
        {
            UserPermissions.DeleteFieldPermissions(id, 1);
            UserPermissions.DeleteNodePermissions(id, -2);
            UserPermissions.DeleteSpecialPermissions(id);
        }

        private static void EncodeUserGroup(UserGroupsInfo userGroupInfo)
        {
            userGroupInfo.Description = DataSecurity.HtmlEncode(userGroupInfo.Description);
        }

        public static string GetGroupName(int groupId)
        {
            return GetUserGroupById(groupId).GroupName;
        }

        public static UserPurviewInfo GetGroupSetting(string groupSetting)
        {
            return ser.DeserializeField(groupSetting);
        }

        public static IList<UserGroupsInfo> GetGroupTable(GroupType groupType)
        {
            return dal.GetUserGroupList(groupType);
        }

        public static int GetNumberUserGroups()
        {
            return dal.GetNumberUserGroups();
        }

        public static UserGroupsInfo GetUserGroupById(int id)
        {
            UserGroupsInfo userGroupById = dal.GetUserGroupById(id);
            DecodeUserGroup(userGroupById);
            return userGroupById;
        }

        public static IList<UserGroupsInfo> GetUserGroupList(int startRowIndexId, int maxNumberRows)
        {
            return GetUserGroupList(startRowIndexId, maxNumberRows, false);
        }

        public static IList<UserGroupsInfo> GetUserGroupList(int startRowIndexId, int maxNumberRows, bool isNeedUserNumber)
        {
            IList<UserGroupsInfo> userGroupList = dal.GetUserGroupList(startRowIndexId, maxNumberRows);
            if (isNeedUserNumber)
            {
                CountUserNumber(userGroupList);
            }
            return userGroupList;
        }

        private static int GetUserInGroupNumber(int groupId)
        {
            return dal.GetUserInGroupNumber(groupId);
        }

        public static bool GroupNameIsExist(string groupName)
        {
            return dal.UserGroupIsExist(groupName);
        }

        public static DataActionState Update(UserGroupsInfo userGroupsInfo)
        {
            DataActionState unknown = DataActionState.Unknown;
            if (!RolePermissions.AccessCheck(OperateCode.UserGroupManage))
            {
                throw new CustomException(PEExceptionType.ExceedAuthority);
            }
            EncodeUserGroup(userGroupsInfo);
            if (dal.Update(userGroupsInfo))
            {
                unknown = DataActionState.Successed;
            }
            return unknown;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -