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

📄 signinlog.cs

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

    public class SigninLog : ISigninLog
    {
        public bool Add(SigninLogInfo signinLogInfo)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@GeneralId", DbType.Int32, signinLogInfo.GeneralId);
            cmdParams.AddInParameter("@IP", DbType.String, signinLogInfo.IP);
            cmdParams.AddInParameter("@IsSignin", DbType.Boolean, signinLogInfo.IsSignin);
            cmdParams.AddInParameter("@SigninTime", DbType.DateTime, signinLogInfo.SigninTime);
            cmdParams.AddInParameter("@UserName", DbType.String, signinLogInfo.UserName);
            return DBHelper.ExecuteSql("INSERT INTO PE_SigninLog (GeneralId, UserName, IsSignin, SigninTime, IP) VALUES (@GeneralId,@UserName,@IsSignin,@SigninTime,@IP)", cmdParams);
        }

        public bool Delete(int generalId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@GeneralId", DbType.Int32, generalId);
            return DBHelper.ExecuteSql("DELETE FROM PE_SigninLog WHERE GeneralId=@GeneralId", cmdParams);
        }

        public bool Delete(int generalId, string userName)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@GeneralId", DbType.Int32, generalId);
            cmdParams.AddInParameter("@UserName", DbType.String, userName);
            return DBHelper.ExecuteSql("DELETE FROM PE_SigninLog WHERE GeneralId=@GeneralId AND UserName=@UserName", cmdParams);
        }

        public IList<SigninLogInfo> GetList(int generalId)
        {
            List<SigninLogInfo> list = new List<SigninLogInfo>();
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@GeneralId", DbType.Int32, generalId);
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("SELECT * FROM PE_SigninLog WHERE GeneralId=@GeneralId", cmdParams))
            {
                while (reader.Read())
                {
                    list.Add(SigninLogInfoFromDataReader(reader));
                }
            }
            return list;
        }

        public int GetNotSigninContentCountByUserName(string userName)
        {
            string strSql = "SELECT COUNT(*) FROM PE_SigninLog WHERE UserName=@UserName AND IsSignin=0";
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@UserName", DbType.String, userName);
            return (int) DBHelper.ExecuteScalarSql(strSql, cmdParams);
        }

        public SigninLogInfo GetSigninLog(int generalId, string userName)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@GeneralID", DbType.Int32, generalId);
            cmdParams.AddInParameter("@UserName", DbType.String, userName);
            SigninLogInfo info = new SigninLogInfo(true);
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("SELECT * FROM PE_SigninLog WHERE GeneralID=@GeneralID AND UserName=@UserName", cmdParams))
            {
                if (reader.Read())
                {
                    info = SigninLogInfoFromDataReader(reader);
                }
            }
            return info;
        }

        public string GetSigninUsers(int generalId)
        {
            StringBuilder builder = new StringBuilder();
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@GeneralId", DbType.Int32, generalId);
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("SELECT UserName FROM PE_SigninLog WHERE GeneralId=@GeneralId", cmdParams))
            {
                while (reader.Read())
                {
                    if (builder.Length > 0)
                    {
                        builder.Append(",");
                    }
                    builder.Append(reader.GetString("UserName"));
                }
            }
            return builder.ToString();
        }

        public bool Signin(int generalId, string userName, bool isSignin, string ip)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@GeneralId", DbType.Int32, generalId);
            cmdParams.AddInParameter("@UserName", DbType.String, userName);
            cmdParams.AddInParameter("@IsSignin", DbType.Boolean, isSignin);
            cmdParams.AddInParameter("@IP", DbType.String, ip);
            cmdParams.AddInParameter("@SigninTime", DbType.DateTime, DateTime.Now);
            if (!DBHelper.ExecuteSql("Update PE_SigninLog SET IsSignin=@IsSignin,[IP]=@IP,SigninTime=@SigninTime WHERE GeneralId=@GeneralId AND UserName=@UserName", cmdParams))
            {
                return false;
            }
            Parameters parameters2 = new Parameters();
            parameters2.AddInParameter("@GeneralId", DbType.Int32, generalId);
            object obj2 = DBHelper.ExecuteScalarSql("SELECT COUNT(*) FROM PE_SigninLog WHERE GeneralId=@GeneralId AND IsSignin=0", parameters2);
            if ((obj2 != null) && (((int) obj2) > 0))
            {
                parameters2.AddInParameter("@Status", DbType.Int32, SigninStatus.NotSignin);
                DBHelper.ExecuteNonQuerySql("Update PE_SigninContent SET Status=@Status WHERE GeneralId=@GeneralId", parameters2);
            }
            else
            {
                parameters2.AddInParameter("@Status", DbType.Int32, SigninStatus.Signined);
                DBHelper.ExecuteNonQuerySql("Update PE_SigninContent SET Status=@Status WHERE GeneralId=@GeneralId", parameters2);
            }
            return true;
        }

        private static SigninLogInfo SigninLogInfoFromDataReader(NullableDataReader dr)
        {
            SigninLogInfo info = new SigninLogInfo();
            info.GeneralId = dr.GetInt32("GeneralId");
            info.IP = dr.GetString("IP");
            info.IsSignin = dr.GetBoolean("IsSignin");
            info.SigninTime = dr.GetDateTime("SigninTime");
            info.UserName = dr.GetString("UserName");
            return info;
        }
    }
}

⌨️ 快捷键说明

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