📄 users.cs
字号:
namespace PowerEasy.SqlServerDal.UserManage
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.Common;
using PowerEasy.Enumerations;
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.Data.OleDb;
using System.Text;
public class Users : IUsers
{
private int m_NumUsers;
private static Serialize<UserPurviewInfo> ser = new Serialize<UserPurviewInfo>();
public bool Add(UserInfo usersInfo)
{
usersInfo.UserId = GetNewId();
Parameters userParameters = GetUserParameters(usersInfo);
userParameters.AddInParameter("@UserFriendGroup", DbType.String, "黑名单$我的好友");
return DBHelper.ExecuteProc("PR_UserManage_Users_Add", userParameters);
}
public bool AddPoint(int infoPoint, string userName)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@UserPoint", DbType.Int32, infoPoint);
cmdParams.AddInParameter("@UserName", DbType.String, userName);
string strSql = "Update PE_Users set UserPoint=UserPoint+@UserPoint where UserName=@UserName";
return DBHelper.ExecuteSql(strSql, cmdParams);
}
public bool AddToAdminCompany(string userName)
{
return DBHelper.ExecuteSql("update PE_Users set UserType=2 where UserType>2 and UserName=@UserName", new Parameters("@UserName", DbType.String, userName));
}
public bool AgreeJoinCompany(string userName, int companyClientId)
{
string str;
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@UserName", DbType.String, userName);
if (companyClientId > 0)
{
str = "update PE_Users set UserType=3,ClientID=@CompanyClientID where UserType=4 and UserName=@UserName";
cmdParams.AddInParameter("@CompanyClientID", DbType.Int32, companyClientId);
}
else
{
str = "update PE_Users set UserType=3 where UserType=4 and UserName=@UserName";
}
return DBHelper.ExecuteSql(str, cmdParams);
}
public static bool AuditingUser(int userId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@UserID", DbType.Int32, userId);
object obj2 = DBHelper.ExecuteScalarSql("SELECT Status FROM PE_Users WHERE UserID = @UserID", cmdParams);
if (obj2 == null)
{
return false;
}
UserStatus userStatus = (UserStatus) ((int) obj2);
if ((userStatus & UserStatus.WaitValidateByAdmin) == UserStatus.WaitValidateByAdmin)
{
userStatus ^= UserStatus.WaitValidateByAdmin;
}
return UpdateUserStatus(userId, userStatus);
}
public bool BatchAuditing(string id)
{
foreach (string str in id.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries))
{
AuditingUser(DataConverter.CLng(str));
}
return true;
}
public bool BatchLock(string userId)
{
foreach (string str in userId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries))
{
LockUser(DataConverter.CLng(str));
}
return true;
}
public bool BatchNormal(string id)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@Status", DbType.Int32, UserStatus.None);
return DBHelper.ExecuteSql("Update PE_Users set Status=@Status Where UserID in (" + id.ToString() + ")", cmdParams);
}
public bool BatchUnlock(string userId)
{
foreach (string str in userId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries))
{
UnlockUser(DataConverter.CLng(str));
}
return true;
}
public bool Delete(int userId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@UserID", DbType.Int32, userId);
string strSql = "delete from PE_Users where UserID = @UserID";
return DBHelper.ExecuteSql(strSql, cmdParams);
}
public bool DeleteCompany(int companyId)
{
DBHelper.ExecuteSql("update PE_Users set UserType=0,CompanyID=0,ClientID=0 where CompanyID=@CompanyID", new Parameters("@CompanyID", DbType.Int32, companyId));
return DBHelper.ExecuteSql("delete from PE_Company where CompanyID=@CompanyID", new Parameters("@CompanyID", DbType.Int32, companyId));
}
public bool Exists(string userName)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@UserName", DbType.String, userName);
return DBHelper.ExistsProc("PR_UserManage_User_Exists", cmdParams);
}
public bool ExistsUserByClientId(int clientId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@ClientID", DbType.Int32, clientId);
return DBHelper.ExistsSql("select UserID from PE_Users where ClientID=@ClientID", cmdParams);
}
public int ExportDataToAccess(string databaseName, int groupId)
{
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + databaseName;
int num = 0;
IList<string> userMailByGroupId = this.GetUserMailByGroupId(groupId);
if (userMailByGroupId.Count > 0)
{
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand command = new OleDbCommand("insert into [user] (useremail) values (@Email)", connection);
OleDbParameter parameter = new OleDbParameter();
parameter.ParameterName = "@Email";
command.Parameters.Add(parameter);
try
{
connection.Open();
foreach (string str2 in userMailByGroupId)
{
command.Parameters["@Email"].Value = str2;
if (command.ExecuteNonQuery() > 0)
{
num++;
}
}
return num;
}
catch
{
num = 0;
throw;
}
finally
{
command.Dispose();
connection.Close();
}
}
return num;
}
public IList<UserInfo> GetAllUsers(int startRowIndexId, int maxNumberRows, int groupId, string keyword, int listType)
{
IList<UserInfo> list = new List<UserInfo>();
string storedProcedureName = "PR_Common_GetList";
string str2 = "UserID";
string str3 = "*";
string str4 = "DESC";
string str5 = "";
switch (listType)
{
case 1:
str3 = "top 100 *";
str2 = "PostItems";
str4 = "DESC";
break;
case 2:
str3 = "top 100 *";
str2 = "PostItems";
str4 = "ASC";
break;
case 3:
str4 = "DESC";
str5 = "datediff(hh,LastLoginTime,GetDate())<25 ";
break;
case 4:
str4 = "DESC";
str5 = "datediff(hh,RegTime,GetDate()) < 25";
break;
case 5:
str5 = "Status = " + 1;
break;
case 6:
str5 = "UserPoint > 0";
break;
case 7:
str5 = "UserExp > 0";
break;
case 8:
str5 = "Balance > 0";
break;
case 9:
str5 = "Balance <= 0";
break;
case 10:
str5 = "GroupID = " + groupId;
break;
case 11:
str5 = "UserID= " + keyword;
break;
case 12:
str5 = "UserName like '%" + keyword + "%'";
break;
case 13:
str5 = "Email like '%" + keyword + "%'";
break;
case 14:
str5 = string.Concat(new object[] { "Status = ", 2, " OR Status= ", 6 });
break;
case 15:
str5 = string.Concat(new object[] { "Status = ", 4, " OR Status= ", 6 });
break;
case 0x10:
str3 = "top 100 *";
str2 = "UserId";
str4 = "DESC";
break;
case 0x11:
str3 = "top 100 *";
str2 = "UserPoint";
str4 = "DESC";
break;
case 0x12:
str3 = "top 100 *";
str2 = "UserExp";
str4 = "DESC";
break;
case 0x13:
str4 = "DESC";
str5 = "datediff(dd,GetDate(),EndTime) <= 5 And datediff(dd,GetDate(),EndTime) >= 0";
break;
case 20:
str5 = " UserName in (select UserName from PE_Contacter where Homepage like '%" + keyword + "%')";
break;
case 0x15:
str5 = " UserName in (select UserName from PE_Contacter where TrueName like '%" + keyword + "%')";
break;
case 0x16:
str5 = " UserName in (select UserName from PE_Contacter where IDCard like '%" + keyword + "%')";
break;
case 0x17:
str5 = " UserName in (select UserName from PE_Contacter where Company like '%" + keyword + "%')";
break;
case 0x18:
str5 = " UserName in (select UserName from PE_Contacter where Address like '%" + keyword + "%')";
break;
case 0x19:
str5 = " UserName in (select UserName from PE_Contacter where Mobile like '%" + keyword + "%')";
break;
case 0x1a:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -