📄 signinlog.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 + -