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

📄 administrators.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.SqlServerDal.UserManage
{
    using Microsoft.Practices.EnterpriseLibrary.Data;
    using PowerEasy.Common;
    using PowerEasy.IDal.UserManage;
    using PowerEasy.Model.UserManage;
    using PowerEasy.SqlServerDal;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Common;
    using System.Text;

    public class Administrators : IAdministrator
    {
        private int m_TotalOfAdmins;

        public bool Add(AdministratorInfo administratorInfo)
        {
            string strSql = "INSERT INTO PE_Admin(AdminId,AdminName,AdminPassword,UserName,EnableMultiLogin,RndPassword,LoginTimes,LastLoginIP,LastLoginTime,LastLogoutTime,LastModifyPasswordTime,IsLock,EnableModifyPassword)VALUES(@AdminId,@AdminName,@AdminPassword,@UserName,@EnableMultiLogin,@RndPassword,@LoginTimes,@LastLoginIp,@LastLoginTime,@LastLogoutTime,@LastModifyPasswordTime,@IsLock,@EnableModifyPassword)";
            administratorInfo.AdminId = GetNewId();
            Parameters cmdParams = GetParameters(administratorInfo);
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }

        public IList<AdministratorInfo> AdminList(int startRowIndexId, int maxNumberRows, int roleId)
        {
            string str = string.Empty;
            if (roleId > -1)
            {
                str = " AdminID IN (SELECT PEAR.AdminID FROM PE_Admin_Roles AS PEAR WHERE (PEAR.RoleID = " + roleId + "))";
            }
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
            database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId);
            database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxNumberRows);
            database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, "AdminId");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "DESC");
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String, str);
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_Admin");
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows);
            IList<AdministratorInfo> list = new List<AdministratorInfo>();
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    AdministratorInfo rAdminInfoFromrdr = GetRAdminInfoFromrdr(reader);
                    rAdminInfoFromrdr.RoleList = GetRoleNameListByAdminId(rAdminInfoFromrdr.AdminId);
                    list.Add(rAdminInfoFromrdr);
                }
            }
            this.m_TotalOfAdmins = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        public IList<AdministratorInfo> AdminList(int startRowIndexId, int maxNumberRows, string userName)
        {
            return this.AdminList(startRowIndexId, maxNumberRows, 1, userName);
        }

        public IList<AdministratorInfo> AdminList(int startRowIndexId, int maxNumberRows, int searchType, string keyword)
        {
            string filter = string.Empty;
            switch (searchType)
            {
                case 0:
                    filter = filter + "AdminName like '%" + keyword + "%'";
                    break;

                case 1:
                    filter = filter + "UserName like '%" + keyword + "%'";
                    break;
            }
            return this.GetList(startRowIndexId, maxNumberRows, filter);
        }

        public bool Delete(int adminId)
        {
            string strSql = "DELETE FROM PE_Admin WHERE AdminId=@AdminId";
            Parameters cmdParams = new Parameters("@AdminId", DbType.Int32, adminId);
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }

        public AdministratorInfo GetAdministrator(int adminId, string adminName, string userName)
        {
            string strSql = "SELECT * FROM PE_Admin WHERE 1=1 ";
            Parameters cmdParams = new Parameters();
            if (adminId > 0)
            {
                strSql = strSql + " AND AdminId=@AdminId ";
                cmdParams.AddInParameter("@AdminId", DbType.Int32, adminId);
            }
            if (!string.IsNullOrEmpty(adminName))
            {
                strSql = strSql + " AND AdminName=@AdminName ";
                cmdParams.AddInParameter("@AdminName", DbType.String, adminName);
            }
            if (!string.IsNullOrEmpty(userName))
            {
                strSql = strSql + " AND UserName=@UserName ";
                cmdParams.AddInParameter("@UserName", DbType.String, userName);
            }
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql(strSql, cmdParams))
            {
                if (reader.Read())
                {
                    return GetRAdminInfoFromrdr(reader);
                }
                return new AdministratorInfo(true);
            }
        }

        public IList<AdministratorInfo> GetAdminList(int startRowIndexId, int maxNumberRows, string adminName)
        {
            string filter = string.Empty;
            if (!string.IsNullOrEmpty(adminName))
            {
                filter = "AdminName like '%" + adminName + "%'";
            }
            return this.GetList(startRowIndexId, maxNumberRows, filter);
        }

        public IList<AdministratorInfo> GetAdminListByOperateCode(int startRowIndexId, int maxNumberRows, int operateCode)
        {
            string filter = string.Empty;
            filter = " AdminID IN (SELECT distinct(PEAR.AdminID) FROM PE_Admin_Roles AS PEAR WHERE PEAR.RoleID IN (SELECT RoleID FROM PE_Roles_Permissions WHERE OperateCode=" + operateCode + "))";
            return this.GetList(startRowIndexId, maxNumberRows, filter);
        }

        private IList<AdministratorInfo> GetList(int startRowIndexId, int maxNumberRows, string filter)
        {
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
            database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId);
            database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxNumberRows);
            database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, "AdminId");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "DESC");
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String, filter);
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_Admin");
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows);
            IList<AdministratorInfo> list = new List<AdministratorInfo>();
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    AdministratorInfo rAdminInfoFromrdr = GetRAdminInfoFromrdr(reader);
                    rAdminInfoFromrdr.RoleList = GetRoleNameListByAdminId(rAdminInfoFromrdr.AdminId);
                    list.Add(rAdminInfoFromrdr);
                }
            }
            this.m_TotalOfAdmins = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        private static int GetNewId()
        {
            return (DBHelper.GetMaxId("PE_Admin", "AdminId") + 1);
        }

        private static Parameters GetParameters(AdministratorInfo administratorInfo)
        {
            Parameters parameters = new Parameters();
            parameters.AddInParameter("@AdminId", DbType.Int32, administratorInfo.AdminId);
            parameters.AddInParameter("@AdminName", DbType.String, administratorInfo.AdminName);
            parameters.AddInParameter("@AdminPassword", DbType.String, administratorInfo.AdminPassword);
            parameters.AddInParameter("@UserName", DbType.String, administratorInfo.UserName);
            parameters.AddInParameter("@EnableMultiLogin", DbType.Boolean, administratorInfo.EnableMultiLogin);
            parameters.AddInParameter("@RndPassword", DbType.String, administratorInfo.RndPassword);
            parameters.AddInParameter("@LoginTimes", DbType.Int32, administratorInfo.LoginTimes);
            parameters.AddInParameter("@LastLoginIp", DbType.String, administratorInfo.LastLoginIP);
            parameters.AddInParameter("@LastLoginTime", DbType.DateTime, administratorInfo.LastLoginTime);
            parameters.AddInParameter("@LastLogoutTime", DbType.DateTime, administratorInfo.LastLogoutTime);
            parameters.AddInParameter("@LastModifyPasswordTime", DbType.DateTime, administratorInfo.LastModifyPasswordTime);
            parameters.AddInParameter("@IsLock", DbType.Boolean, administratorInfo.IsLock);
            parameters.AddInParameter("@EnableModifyPassword", DbType.Boolean, administratorInfo.EnableModifyPassword);
            return parameters;
        }

        private static AdministratorInfo GetRAdminInfoFromrdr(NullableDataReader rdr)
        {
            AdministratorInfo info = new AdministratorInfo();
            info.AdminId = rdr.GetInt32("AdminId");
            info.AdminName = rdr.GetString("AdminName");
            info.AdminPassword = rdr.GetString("AdminPassword");
            info.UserName = rdr.GetString("UserName");
            info.EnableMultiLogin = rdr.GetBoolean("EnableMultilogin");
            info.RndPassword = rdr.GetString("RndPassword");
            info.LoginTimes = rdr.GetInt32("LoginTimes");
            info.LastLoginIP = rdr.GetString("LastLoginIp");
            info.LastLoginTime = rdr.GetNullableDateTime("LastLoginTime");
            info.LastLogoutTime = rdr.GetNullableDateTime("LastLogoutTime");
            info.LastModifyPasswordTime = rdr.GetNullableDateTime("LastModifyPasswordTime");
            info.IsLock = rdr.GetBoolean("IsLock");
            info.EnableModifyPassword = rdr.GetBoolean("EnableModifyPassword");
            return info;
        }

        private static string GetRoleNameListByAdminId(int adminId)
        {
            string strSql = "SELECT RoleName FROM PE_Roles WHERE RoleId IN(SELECT RoleId FROM PE_Admin_Roles WHERE AdminId=@AdminId)";
            Parameters cmdParams = new Parameters("@AdminId", DbType.Int32, adminId);
            StringBuilder sb = new StringBuilder();
            if (DBHelper.ExistsSql("SELECT Count(*) FROM PE_Admin_Roles WHERE AdminId=@AdminId AND RoleId=0", cmdParams))
            {
                sb.Append("超级管理员");
            }
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql(strSql, cmdParams))
            {
                while (reader.Read())
                {
                    StringHelper.AppendString(sb, reader.GetString("RoleName"));
                }
            }
            return sb.ToString();
        }

        public int GetTotalOfAdmin()
        {
            return this.m_TotalOfAdmins;
        }

        public bool IsExist(string adminName)
        {
            string strSql = "SELECT COUNT(*) FROM PE_Admin WHERE AdminName=@AdminName";
            Parameters cmdParams = new Parameters("@AdminName", DbType.String, adminName);
            return DBHelper.ExistsSql(strSql, cmdParams);
        }

        public bool Update(AdministratorInfo administratorInfo)
        {
            string strSql = "UPDATE PE_Admin SET AdminName=@AdminName,AdminPassword=@AdminPassword,UserName=@UserName,EnableMultilogin=@EnableMultilogin,RndPassword=@RndPassword,LoginTimes=@LoginTimes,LastLoginIp=@LastLoginIp,LastLoginTime=@LastLoginTime,LastLogoutTime=@LastLogoutTime,LastModifyPasswordTime=@LastModifyPasswordTime,IsLock=@IsLock,EnableModifyPassword=@EnableModifyPassword WHERE AdminId=@AdminId";
            Parameters cmdParams = GetParameters(administratorInfo);
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }
    }
}

⌨️ 快捷键说明

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