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

📄 admin.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
字号:
//======================================================
//==     (c)2008 aspxcms inc by NeTCMS v1.0              ==
//==          Forum:bbs.aspxcms.com                   ==
//==         Website:www.aspxcms.com                  ==
//======================================================
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using NetCMS.Model;
using NetCMS.DALFactory;
using NetCMS.DALProfile;
using NetCMS.Config;

namespace NetCMS.DALSQLServer
{
    public class Admin : DbBase, IAdmin
    {
        //private string SiteID;

        /// <summary>
        /// 锁定管理员
        /// </summary>
        /// <param name="id">管理员用户编号</param>
        public void Lock(string id)
        {
            SqlParameter param = new SqlParameter("@UserNum", id);
            string str_sql = "Update " + Pre + "sys_admin Set isLock=1 where UserNum=@UserNum";
            DbHelper.ExecuteNonQuery(CommandType.Text, str_sql, param);
        }
        /// <summary>
        /// 解锁管理员
        /// </summary>
        /// <param name="id">管理员用户编号</param>
        public void UnLock(string id)
        {
            SqlParameter param = new SqlParameter("@UserNum", id);
            string str_sql = "Update " + Pre + "sys_admin Set isLock=0 where UserNum=@UserNum";
            DbHelper.ExecuteNonQuery(CommandType.Text, str_sql, param);
        }

        /// <summary>
        /// 删除管理员
        /// </summary>
        /// <param name="id">管理员编号</param>
        public void Del(string id)
        {
            SqlParameter param = new SqlParameter("@UserNum", id);
            string str_Admin = "Delete From  " + Pre + "sys_admin where UserNum=@UserNum";
            DbHelper.ExecuteNonQuery(CommandType.Text, str_Admin, param);
            string str_User = "Update " + Pre + "sys_User Set isAdmin=0 where UserNum=@UserNum";
            DbHelper.ExecuteNonQuery(CommandType.Text, str_User, param);
        }

        /// <summary>
        /// 得到管理员组列表
        /// </summary>
        /// <returns>返回的Table</returns>
        public DataTable GetAdminGroupList()
        {
            string str_Sql = "Select adminGroupNumber,GroupName From " + Pre + "sys_AdminGroup where SiteID='" + NetCMS.Global.Current.SiteID + "'";
            return DbHelper.ExecuteTable(CommandType.Text, str_Sql, null);
        }

        /// <summary>
        /// 得到管理员的权限列表
        /// </summary>
        /// <param name="UserNum">用户编号</param>
        /// <param name="Id">管理员ID</param>
        /// <returns></returns>
        public string GetAdminPopList(string UserNum, int Id)
        {
            SqlParameter[] param = new SqlParameter[] { new SqlParameter("@UserNum", UserNum), new SqlParameter("@Id", Id) };
            string str = "0|";
            string str_Sql = "Select isSuper,PopList From " + Pre + "sys_Admin where ID=@Id and UserNum=@UserNum";
            DataTable dt = DbHelper.ExecuteTable(CommandType.Text, str_Sql, param);
            if (dt != null && dt.Rows.Count > 0)
            {
                str = dt.Rows[0]["isSuper"].ToString() + "|" + dt.Rows[0]["PopList"].ToString();
                dt.Clear(); dt.Dispose();
            }
            return str;
        }

        /// <summary>
        /// 得到站点列表
        /// </summary>
        /// <returns>返回DataTable</returns>
        public DataTable GetSiteList()
        {
            string str_Sql = "";
            if (NetCMS.Global.Current.SiteID == "0")
                str_Sql = "Select ChannelID,CName From " + Pre + "news_site Where isRecyle=0 And IsURL=0 and islock=0";
            else
                str_Sql = "Select ChannelID,CName From " + Pre + "news_site Where isRecyle=0 and islock=0 and ParentID='" + NetCMS.Global.Current.SiteID + "' And IsURL=0";
            return DbHelper.ExecuteTable(CommandType.Text, str_Sql, null); ;
        }

        /// <summary>
        /// 增加管理员,并插入User表
        /// </summary>
        /// <param name="ac">构造</param>
        /// <returns></returns>
        public int Add(NetCMS.Model.AdminInfo ac)
        {
            int result = 0;
            string checkSql = "";
            int recordCount = 0;
            string UserNum = NetCMS.Common.Rand.Number(12);
            while (true)
            {
                checkSql = "select count(*) from " + Pre + "sys_User where UserNum='" + UserNum + "'";
                recordCount = (int)DbHelper.ExecuteScalar(CommandType.Text, checkSql, null);
                if (recordCount < 1)
                    break;
                else
                    UserNum = NetCMS.Common.Rand.Number(12, true);
            }
            checkSql = "select ID,UserNum from " + Pre + "sys_User where UserName='" + ac.UserName + "'";
            DataTable dts = DbHelper.ExecuteTable(CommandType.Text, checkSql, null);
            SqlParameter[] param = GetAdminParameters(ac);
            if (dts != null)
            {
                if (dts.Rows.Count > 0)
                {
                    string str_upUser = "update " + Pre + "sys_User set isAdmin=1,siteID='" + ac.SiteID + "' where UserNum='" + dts.Rows[0]["UserNum"].ToString() + "'";
                    DbHelper.ExecuteNonQuery(CommandType.Text, str_upUser, null);

                    string str_Admin = "Insert Into " + Pre + "sys_admin(UserNum,isSuper,adminGroupNumber,";
                    str_Admin += "OnlyLogin,isChannel,isLock,SiteID,isChSupper,Iplimited) Values ";
                    str_Admin += "('" + dts.Rows[0]["UserNum"].ToString() + "',@isSuper,@adminGroupNumber,@OnlyLogin,@isChannel";
                    str_Admin += ",@isLock,@SiteID,@isChSupper,@Iplimited)";
                    DbHelper.ExecuteNonQuery(CommandType.Text, str_Admin, param);
                    result = 1;
                }
                else
                {
                    string str_User = "Insert Into " + Pre + "sys_User(UserNum,UserName,UserPassword";
                    str_User += ",RealName,isAdmin,Email,RegTime,SiteID,LoginNumber,OnlineTF,OnlineTime";
                    str_User += ",isLock,aPoint,ePoint,cPoint,gPoint,iPoint,UserGroupNumber,isIDcard) Values (";
                    str_User += "'" + UserNum + "',@UserName,@UserPassword,@RealName,@isAdmin,@Email,";
                    str_User += "@RegTime,@SiteID,@LoginNumber,@OnlineTF,@OnlineTime,@isLock,@aPoint,";
                    str_User += "@ePoint,@cPoint,@gPoint,@iPoint,@UserGroupNumber,0)";
                    DbHelper.ExecuteNonQuery(CommandType.Text, str_User, param);

                    string str_Admin = "Insert Into " + Pre + "sys_admin(UserNum,isSuper,adminGroupNumber,";
                    str_Admin += "OnlyLogin,isChannel,isLock,SiteID,isChSupper,Iplimited) Values ";
                    str_Admin += "('" + UserNum + "',@isSuper,@adminGroupNumber,@OnlyLogin,@isChannel";
                    str_Admin += ",@isLock,@SiteID,@isChSupper,@Iplimited)";
                    DbHelper.ExecuteNonQuery(CommandType.Text, str_Admin, param);
                    result = 1;
                }
                dts.Clear(); dts.Dispose();
            }
            else
            {
                throw new Exception("意外错误");
            }
            return result;
        }

        /// <summary>
        /// 编辑管理员
        /// </summary>
        /// <param name="ac"></param>
        /// <returns></returns>
        public int Edit(NetCMS.Model.AdminInfo ac)
        {
            SqlParameter[] param = GetAdminParameters(ac);
            string str_adminSql = "";
            string str_userSql = "";
            if (ac.UserPassword != null && ac.UserPassword != "" && ac.UserPassword != string.Empty)
            {
                str_adminSql = "Update " + Pre + "sys_User Set UserPassword=@UserPassword,RealName=@RealName";
                str_adminSql += ",Email=@Email,SiteID=@SiteID Where UserNum='" + ac.UserNum + "'";
            }
            else
            {
                str_adminSql = "Update " + Pre + "sys_User Set RealName=@RealName,Email=@Email,";
                str_adminSql += "SiteID=@SiteID Where UserNum='" + ac.UserNum + "'";
            }
            DbHelper.ExecuteNonQuery(CommandType.Text, str_adminSql, param);

            if (ac.isChSupper == 0)
            {
                str_userSql = "Update " + Pre + "sys_admin Set adminGroupNumber=@adminGroupNumber,";
                str_userSql += "OnlyLogin=@OnlyLogin,isChannel=@isChannel,isLock=@isLock,";
                str_userSql += "isChSupper=@isChSupper,Iplimited=@Iplimited,";
                str_userSql += "SiteID=@SiteID Where UserNum='" + ac.UserNum + "'";
            }
            else
            {
                str_userSql = "Update " + Pre + "sys_admin ";
                str_userSql += "Set Iplimited=@Iplimited Where UserNum='" + ac.UserNum + "'";
            }
            return DbHelper.ExecuteNonQuery(CommandType.Text, str_userSql, param);
        }

        /// <summary>
        /// 得到管理员相关信息
        /// </summary>
        /// <param name="id">传入的管理员编号</param>
        /// <returns></returns>
        public DataTable GetAdminInfo(string id)
        {
            SqlParameter param = new SqlParameter("@UserNum", id);
            string str_Sql = "Select a.UserNum,a.isSuper,a.adminGroupNumber,a.PopList,a.OnlyLogin,a.isChannel,a.isLock,a.SiteID,a.isChSupper,a.Iplimited,b.RealName,b.Email,b.UserName From " + Pre + "sys_admin as a," + Pre + "sys_User as b Where a.UserNum=b.UserNum and b.isAdmin=1 and a.UserNum=@UserNum";
            return DbHelper.ExecuteTable(CommandType.Text, str_Sql, param);
        }

        /// <summary>
        /// 获得构造参数
        /// </summary>
        /// <param name="ac"></param>
        /// <returns></returns>
        private SqlParameter[] GetAdminParameters(NetCMS.Model.AdminInfo ac)
        {
            SqlParameter[] param = new SqlParameter[23];
            param[0] = new SqlParameter("@UserName", SqlDbType.NVarChar, 18);
            param[0].Value = ac.UserName;
            param[1] = new SqlParameter("@UserPassword", SqlDbType.NVarChar, 32);
            param[1].Value = ac.UserPassword;
            param[2] = new SqlParameter("@RealName", SqlDbType.NVarChar, 20);
            param[2].Value = ac.RealName;

            param[3] = new SqlParameter("@isAdmin", SqlDbType.TinyInt, 1);
            param[3].Value = ac.isAdmin;
            param[4] = new SqlParameter("@Email", SqlDbType.NVarChar, 120);
            param[4].Value = ac.Email;
            param[5] = new SqlParameter("@RegTime", SqlDbType.DateTime, 8);
            param[5].Value = ac.RegTime;
            param[6] = new SqlParameter("@SiteID", SqlDbType.NVarChar, 12);
            param[6].Value = ac.SiteID;

            param[7] = new SqlParameter("@LoginNumber", SqlDbType.Int, 4);
            param[7].Value = ac.LoginNumber;
            param[8] = new SqlParameter("@OnlineTF", SqlDbType.Int, 4);
            param[8].Value = ac.OnlineTF;
            param[9] = new SqlParameter("@OnlineTime", SqlDbType.Int, 4);
            param[9].Value = ac.OnlineTime;
            param[10] = new SqlParameter("@isLock", SqlDbType.TinyInt, 1);
            param[10].Value = ac.isLock;

            param[11] = new SqlParameter("@aPoint", SqlDbType.Int, 4);
            param[11].Value = ac.aPoint;
            param[12] = new SqlParameter("@ePoint", SqlDbType.Int, 4);
            param[12].Value = ac.ePoint;
            param[13] = new SqlParameter("@cPoint", SqlDbType.Int, 4);
            param[13].Value = ac.cPoint;
            param[14] = new SqlParameter("@gPoint", SqlDbType.Int, 4);
            param[14].Value = ac.gPoint;

            param[15] = new SqlParameter("@iPoint", SqlDbType.Int, 4);
            param[15].Value = ac.iPoint;
            param[16] = new SqlParameter("@UserGroupNumber", SqlDbType.NVarChar, 12);
            param[16].Value = ac.UserGroupNumber;

            param[17] = new SqlParameter("@isSuper", SqlDbType.TinyInt, 1);
            param[17].Value = ac.isSuper;
            param[18] = new SqlParameter("@adminGroupNumber", SqlDbType.NVarChar, 12);
            param[18].Value = ac.adminGroupNumber;

            param[19] = new SqlParameter("@OnlyLogin", SqlDbType.TinyInt, 1);
            param[19].Value = ac.OnlyLogin;
            param[20] = new SqlParameter("@isChannel", SqlDbType.TinyInt, 1);
            param[20].Value = ac.isChannel;
            param[21] = new SqlParameter("@isChSupper", SqlDbType.TinyInt, 1);
            param[21].Value = ac.isChSupper;
            param[22] = new SqlParameter("@Iplimited", SqlDbType.NText);
            param[22].Value = ac.Iplimited;

            return param;
        }
        /// <summary>
        /// 更新会员权限
        /// </summary>
        /// <param name="UserNum"></param>
        /// <param name="Id"></param>
        /// <param name="PopLIST"></param>
        public void UpdatePOPlist(string UserNum, int Id, string PopLIST)
        {
            SqlParameter[] param = new SqlParameter[] { new SqlParameter("@UserNum", UserNum), new SqlParameter("@PopLIST", PopLIST) };
            string str_User = "Update " + Pre + "sys_admin Set PopList=@PopLIST where UserNum=@UserNum and ID=" + Id + "";
            DbHelper.ExecuteNonQuery(CommandType.Text, str_User, param);
        }


        /// <summary>
        /// 得到管理员列表
        /// </summary>
        /// <returns></returns>
        public DataTable getAdmininfoList()
        {
            string str_Sql = "Select a.ID,a.UserNum,a.isSuper,a.adminGroupNumber,b.UserName From " + Pre + "sys_admin a left join " + Pre + "sys_User b  on a.UserNum=b.UserNum Where b.isAdmin=1 and a.SiteID='" + NetCMS.Global.Current.SiteID + "' order by a.id desc";
            return DbHelper.ExecuteTable(CommandType.Text, str_Sql, null);
        }
    }
}

⌨️ 快捷键说明

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