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

📄 readerlogic.cs

📁 图书馆信息系统
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Data.SqlClient;
using Library.Model;
using Library.Utility;
using System.Collections;

namespace Library.Logic
{
    /// <summary>
    /// ReaderLogic 的摘要说明:关于读者信息的业务操作
    /// </summary>
    public class ReaderLogic
    {
        /*查找是否存在读者信息的sql语句*/
        private const string SQL_SELECT_IS_EXIST_READER_INFO = "select readerPassword from [reader] where readerId=@readerId";
        /*各种sql语句的参数常量字符串*/
        private const string PARM_Reader_Id = "@readerId";
        /*业务处理错误信息*/
        private string errMessage;
        public string ErrMessage
        {
            set { this.errMessage = value; }
            get { return this.errMessage; }
        }
        /*查找读者信息表中是否存在该读者的信息*/
        public bool IsExistReaderInfo(ReaderModel readerModel)
        { 
            /*首先初始化查询sql语句的参数信息*/
            SqlParameter[] parms = this.GetIsExistReaderInfoParms();
            parms[0].Value = readerModel.ReaderId;
            /*得到该读者的记录信息*/
            DataSet readerDs = DBOperation.GetDataSet(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, SQL_SELECT_IS_EXIST_READER_INFO, parms);
            if (readerDs.Tables[0].Rows.Count == 0)
            {
                this.errMessage = "对不起,不存在该读者的帐号信息!";
                return false;
            }
            else
            {
                if (readerDs.Tables[0].Rows[0]["readerPassword"].ToString() != readerModel.ReaderPassword)
                {
                    this.errMessage = "对不起,读者的密码不正确!";
                    return false;
                }
            }
            return true;
        }
        private SqlParameter[] GetIsExistReaderInfoParms()
        {
            SqlParameter[] parms = DBOperation.GetCachedParameters(SQL_SELECT_IS_EXIST_READER_INFO);
            if (parms == null)
            {
                parms = new SqlParameter[]{
											  new SqlParameter(PARM_Reader_Id,SqlDbType.VarChar) 
										  };
                DBOperation.CacheParameters(SQL_SELECT_IS_EXIST_READER_INFO, parms);
            }
            return parms;
        }
        /*执行新的读者信息的加入操作*/
        public bool AddNewReaderInfo(ReaderModel readerModel)
        {
            if(readerModel.ReaderId == "")
            {
                this.errMessage = "请输入读者编号信息!";
                return false;
            }
            if(readerModel.ReaderPassword == "")
            {
                this.errMessage = "请输入读者的密码信息!";
                return false;
            }
            /*如果电话输入不为空,需要进行格式验证*/
            if (readerModel.ReaderPhone != "")
            {
                if (!Common.IsVaildPhone(readerModel.ReaderPhone) && !Common.IsValidMobile(readerModel.ReaderPhone))
                {
                    this.errMessage = "你输入的电话格式不正确!";
                    return false;
                }
            }
            /*如果Email输入不为空,需要对其进行格式验证*/
            if (readerModel.ReaderEmail != "")
            {
                if (!Common.IsValidEmail(readerModel.ReaderEmail))
                {
                    this.errMessage = "Email格式输入不正确!";
                    return false;
                }
            }
            /*当通过验证后可以执行新读者信息的添加操作了*/
            string sqlString = "insert into [reader] (readerId,readerPassword,readerName,readerSex,readerBirthday,readerTypeId,readerPhone,readerEmail,readerAddress,readerPhotoUrl,readerMemo) values ('";
            sqlString += readerModel.ReaderId + "','";
            sqlString += readerModel.ReaderPassword + "','";
            sqlString += readerModel.ReaderName + "','";
            sqlString += readerModel.ReaderSex + "','";
            sqlString += readerModel.ReaderBirthday + "',";
            sqlString += readerModel.ReaderTypeId + ",'";
            sqlString += readerModel.ReaderPhone + "','";
            sqlString += readerModel.ReaderEmail + "','";
            sqlString += readerModel.ReaderAddress + "','";
            sqlString += readerModel.ReaderPhotoUrl + "','";
            sqlString += readerModel.ReaderMemo + "')";
            /*sql语句构造完成后直接调用数据层进行读者信息的加入操作*/
            if (DBOperation.ExecuteNonQuery(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, sqlString, null) < 0)
            {
                this.errMessage = "添加读者信息时发生了数据库错误!";
                return false;
            }
            return true;
        }

        /*根据条件查询读者信息*/
        public DataSet QueryReaderInfo(string readerId, string readerName, int readerTypeId)
        {
            /*根据条件构造查询的sql语句*/
            string queryString = "SELECT [readerId], [readerName], [readerSex], [readerTypeName], [readerBirthday] FROM [readerView] where 1=1";
            if (readerId != "")
                queryString += " and readerId like '%" + readerId + "%'";
            if (readerName != "")
                queryString += " and readerName like '%" + readerName + "%'";
            if (readerTypeId != 0)
                queryString += " and readerTypeId=" + readerTypeId;
            DataSet ds = new DataSet();
            ds = DBOperation.GetDataSet(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, queryString, null);
            return ds;
        }
        /*根据读者编号得到读者的信息并保存在模型中返回*/
        public ReaderModel GetReaderInfo(string readerId)
        {
            string queryString = "select * from [reader] where readerId='" + readerId + "'";
            DataSet ds = new DataSet();
            ds = DBOperation.GetDataSet(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, queryString, null);
            if (ds.Tables[0].Rows.Count == 0) return null;
            ReaderModel readerModel = new ReaderModel();/*建立模型*/
            DataRow dr = ds.Tables[0].Rows[0];
            readerModel.ReaderId = readerId;
            readerModel.ReaderPassword = dr["readerPassword"].ToString();
            readerModel.ReaderName = dr["readerName"].ToString();
            readerModel.ReaderSex = dr["readerSex"].ToString();
            readerModel.ReaderBirthday = Convert.ToDateTime(dr["readerBirthday"]);
            readerModel.ReaderTypeId = Convert.ToInt32(dr["readerTypeId"]);
            readerModel.ReaderPhone = dr["readerPhone"].ToString();
            readerModel.ReaderEmail = dr["readerEmail"].ToString();
            readerModel.ReaderAddress = dr["readerAddress"].ToString();
            readerModel.ReaderPhotoUrl = dr["readerPhotoUrl"].ToString();
            readerModel.ReaderMemo = dr["readerMemo"].ToString();
            return readerModel;
        }
        /*更新读者信息*/
        public bool UpdateReaderInfo(ReaderModel readerModel,string rootPath)
        {
            /*得到该读者原来的照片路径,如果新的图片路径跟原来不一样,需要删除老图片*/
            string readerOldPhotoUrl = this.GetReaderPhotoUrl(readerModel.ReaderId);
            /*如果原来已经存在了读者照片*/
            if (readerOldPhotoUrl != "")
            {
                /*如果图片路径不一样,说明管理员选择了新的图片,此时需要删出原来的图片*/
                if (String.Compare(readerOldPhotoUrl,readerModel.ReaderPhotoUrl, true) != 0)
                    System.IO.File.Delete(rootPath + "\\" + readerOldPhotoUrl);
            }
            /*构造更新sql语句然后执行更新操作,要更新的读者信息已经存在于readerModel中*/
            string updateString = "update [reader] set ";
            updateString += "readerPassword='" + readerModel.ReaderPassword + "',";
            updateString += "readerName='" + readerModel.ReaderName + "',";
            updateString += "readerSex='" + readerModel.ReaderSex + "',";
            updateString += "readerBirthday='" + readerModel.ReaderBirthday + "',";
            updateString += "readerTypeId=" + readerModel.ReaderTypeId + ",";
            updateString += "readerPhone='" + readerModel.ReaderPhone + "',";
            updateString += "readerEmail='" + readerModel.ReaderEmail + "',";
            updateString += "readerAddress='" + readerModel.ReaderAddress + "',";
            updateString += "readerPhotoUrl='" + readerModel.ReaderPhotoUrl + "',";
            updateString += "readerMemo='" + readerModel.ReaderMemo + "'";
            updateString += " where readerId='" + readerModel.ReaderId + "'";
            /*调用数据层代码实行更新,如果成功受影响的行数大于0*/
            if (DBOperation.ExecuteNonQuery(DBOperation.CONN_STRING_NON_DTC,CommandType.Text,updateString,null)< 0)
            {
                this.errMessage = "更新读者信息时发生了错误!";
                return false;
            }
            return true;  
        }

        /*删除某个读者的信息*/
        public bool DeleteReaderInfo(string readerId)
        {
            /*查询该读者是否还有图书没有归还*/
            string queryString = "select * from [loan] where readerId='" + readerId + "' and isReturn=0";
            if (DBOperation.ExecuteReader(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, queryString, null).Read())
            {
                this.errMessage = "对不起,该读者还有图书没有归还,不能删除!";
                return false;
            }
            string deleteString1 = "delete from [loan] where readerId='" + readerId + "'";
            string deleteString2 = "delect from [reader] where readerId='" + readerId + "'";
            string[] procedureStrings = new string[] { deleteString1,deleteString2};
            if (!DBOperation.ExecuteStoreProcedure(DBOperation.CONN_STRING_NON_DTC, procedureStrings, null))
            {
                this.errMessage = "删除读者信息时发生了错误!";
                return false;
            }
            return true;
        }

        /*根据读者编号得到照片路径*/
        public string GetReaderPhotoUrl(string readerId)
        {
            string queryString = "select readerPhotoUrl from [reader] where readerId='" + readerId + "'";
            return DBOperation.ExecuteScalar(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, queryString, null).ToString();
        }

        /*根据读者编号查询是否存在该读者*/
        public static bool IsExistReaderInfo(string readerId)
        {
            string queryString = "select * from [reader] where readerId='" + readerId + "'";
            return DBOperation.ExecuteReader(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, queryString, null).Read();
        }

        /*根据读者编号得到读者的姓名*/
        public static string GetReaderNameById(string readerId)
        {
            string queryString = "select readerName from [reader] where readerId='" + readerId + "'";
            return DBOperation.ExecuteScalar(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, queryString, null).ToString();
        }

        /*根据读者编号得到该读者可借书的天数*/
        public static int GetLoanDays(string readerId)
        {
            string sqlString = "select loanDays from [readerType],[reader] where [reader].readerTypeId=[readerType].readerTypeId and [reader].readerId='" + readerId + "'";
            object loanDays = DBOperation.ExecuteScalar(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, sqlString, null);
            return Convert.ToInt32(loanDays);
        }
        /*根据读者编号得到该读者可续借图书的天数*/
        public static int GetContinueDays(string readerId)
        {
            string sqlString = "select continueDays from [readerType],[reader] where [reader].readerTypeId=[readerType].readerTypeId and [reader].readerId='" + readerId + "'";
            object continueDays = DBOperation.ExecuteScalar(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, sqlString, null);
            return Convert.ToInt32(continueDays);
        }
        //修改登陆密码
        public bool ChangePassword(ReaderModel readerModel)
        {
            string updateString = "update [reader] set readerPassword='" + readerModel.ReaderPassword;
            updateString += "' where readerId='" + readerModel.ReaderId + "'";
            if (DBOperation.ExecuteNonQuery(DBOperation.CONN_STRING_NON_DTC, CommandType.Text, updateString, null) < 0)
                return false;
            return true;
        }
    }

}

⌨️ 快捷键说明

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