📄 users.cs
字号:
namespace PowerEasy.UserManage
{
using PowerEasy.AccessManage;
using PowerEasy.Common;
using PowerEasy.Components;
using PowerEasy.Crm;
using PowerEasy.Enumerations;
using PowerEasy.IDal.UserManage;
using PowerEasy.Model.Crm;
using PowerEasy.Model.UserManage;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
public sealed class Users
{
private static readonly IUsers dal = DataAccess.CreateUsers();
private static Serialize<UserPurviewInfo> ser = new Serialize<UserPurviewInfo>();
private Users()
{
}
public static bool Add(UserInfo usersInfo, ContacterInfo contacterInfo)
{
bool flag = false;
usersInfo = DoUserHtmlEncode(usersInfo);
contacterInfo = DoContacterHtmlEncode(contacterInfo);
if (dal.Add(usersInfo))
{
flag = SaveContacter(contacterInfo);
}
return flag;
}
public static bool AddPoint(int infoPoint, string userName)
{
return dal.AddPoint(infoPoint, DataSecurity.FilterBadChar(userName));
}
public static bool AddToAdminCompany(string userName)
{
return dal.AddToAdminCompany(userName);
}
public static bool AgreeJoinCompany(string userName, int companyClientId)
{
return dal.AgreeJoinCompany(userName, companyClientId);
}
public static bool BatchAuditing(string id)
{
if (!DataValidator.IsValidId(id))
{
return false;
}
return dal.BatchAuditing(id);
}
public static bool BatchLock(string id)
{
if (!DataValidator.IsValidId(id))
{
return false;
}
return dal.BatchLock(id);
}
public static bool BatchNormal(string id)
{
if (!DataValidator.IsValidId(id))
{
return false;
}
return dal.BatchNormal(id);
}
public static bool BatchUnlock(string id)
{
if (!DataValidator.IsValidId(id))
{
return false;
}
return dal.BatchUnlock(DataSecurity.FilterBadChar(id));
}
public static double CheckValidNum(DateTime? endTime)
{
double days = 0.0;
if (endTime.HasValue)
{
TimeSpan span = endTime.Value - DateTime.Now.Date;
days = span.Days;
if (days < 0.0)
{
return 0.0;
}
if ((days == 0.0) && (span.Minutes > 0))
{
days = 0.5;
}
}
return days;
}
private static bool Delete(int userId)
{
if (dal.GetUserById(userId).UserName == PEContext.Current.Admin.UserName)
{
throw new CustomException("禁止自己删除自己!");
}
return dal.Delete(userId);
}
public static bool Delete(string id)
{
if (!DataValidator.IsValidId(id))
{
return false;
}
int userId = 0;
foreach (string str in id.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
userId = DataConverter.CLng(str);
UserInfo userById = GetUserById(userId);
if (Delete(userId))
{
DeleteUserRelation(userId, userById.UserName);
}
else
{
return false;
}
}
return true;
}
public static bool DeleteCompany(int companyId)
{
return dal.DeleteCompany(companyId);
}
public static bool DeleteFriendGroup(string userName, int friendGroupId)
{
UserFriend.Delete(userName, friendGroupId);
return UpdateFriendGroupName(userName, friendGroupId, string.Empty);
}
private static void DeleteUserRelation(int id, string userName)
{
UserPermissions.DeleteFieldPermissions(id, 0);
UserPermissions.DeleteNodePermissions(id, -2);
UserPermissions.DeleteSpecialPermissions(id);
UserValidLog.Delete(userName);
UserPointLog.Delete(userName);
Contacter.DeleteByUserName(userName);
}
private static ContacterInfo DoContacterHtmlDecode(ContacterInfo contacterinfo)
{
contacterinfo.UserName = DataSecurity.HtmlDecode(contacterinfo.UserName);
contacterinfo.Address = DataSecurity.HtmlDecode(contacterinfo.Address);
contacterinfo.Aim = DataSecurity.HtmlDecode(contacterinfo.Aim);
contacterinfo.City = DataSecurity.HtmlDecode(contacterinfo.City);
contacterinfo.Company = DataSecurity.HtmlDecode(contacterinfo.Company);
contacterinfo.CompanyAddress = DataSecurity.HtmlDecode(contacterinfo.CompanyAddress);
contacterinfo.Country = DataSecurity.HtmlDecode(contacterinfo.Country);
contacterinfo.Department = DataSecurity.HtmlDecode(contacterinfo.Department);
contacterinfo.Email = DataSecurity.HtmlDecode(contacterinfo.Email);
contacterinfo.Family = DataSecurity.HtmlDecode(contacterinfo.Family);
contacterinfo.Fax = DataSecurity.HtmlDecode(contacterinfo.Fax);
contacterinfo.GraduateFrom = DataSecurity.HtmlDecode(contacterinfo.GraduateFrom);
contacterinfo.Homepage = DataSecurity.HtmlDecode(contacterinfo.Homepage);
contacterinfo.HomePhone = DataSecurity.HtmlDecode(contacterinfo.HomePhone);
contacterinfo.Icq = DataSecurity.HtmlDecode(contacterinfo.Icq);
contacterinfo.IdCard = DataSecurity.HtmlDecode(contacterinfo.IdCard);
contacterinfo.InterestsOfAmusement = DataSecurity.HtmlDecode(contacterinfo.InterestsOfAmusement);
contacterinfo.InterestsOfCulture = DataSecurity.HtmlDecode(contacterinfo.InterestsOfCulture);
contacterinfo.InterestsOfLife = DataSecurity.HtmlDecode(contacterinfo.InterestsOfLife);
contacterinfo.InterestsOfOther = DataSecurity.HtmlDecode(contacterinfo.InterestsOfOther);
contacterinfo.InterestsOfSport = DataSecurity.HtmlDecode(contacterinfo.InterestsOfSport);
contacterinfo.Mobile = DataSecurity.HtmlDecode(contacterinfo.Mobile);
contacterinfo.Msn = DataSecurity.HtmlDecode(contacterinfo.Msn);
contacterinfo.Nation = DataSecurity.HtmlDecode(contacterinfo.Nation);
contacterinfo.NativePlace = DataSecurity.HtmlDecode(contacterinfo.NativePlace);
contacterinfo.OfficePhone = DataSecurity.HtmlDecode(contacterinfo.OfficePhone);
contacterinfo.Operation = DataSecurity.HtmlDecode(contacterinfo.Operation);
contacterinfo.Owner = DataSecurity.HtmlDecode(contacterinfo.Owner);
contacterinfo.Phs = DataSecurity.HtmlDecode(contacterinfo.Phs);
contacterinfo.Position = DataSecurity.HtmlDecode(contacterinfo.Position);
contacterinfo.Province = DataSecurity.HtmlDecode(contacterinfo.Province);
contacterinfo.QQ = DataSecurity.HtmlDecode(contacterinfo.QQ);
contacterinfo.ShortedForm = DataSecurity.HtmlDecode(contacterinfo.ShortedForm);
contacterinfo.Title = DataSecurity.HtmlDecode(contacterinfo.Title);
contacterinfo.TrueName = DataSecurity.HtmlDecode(contacterinfo.TrueName);
contacterinfo.UC = DataSecurity.HtmlDecode(contacterinfo.UC);
contacterinfo.Yahoo = DataSecurity.HtmlDecode(contacterinfo.Yahoo);
contacterinfo.ZipCode = DataSecurity.HtmlDecode(contacterinfo.ZipCode);
return contacterinfo;
}
private static ContacterInfo DoContacterHtmlEncode(ContacterInfo contacterinfo)
{
contacterinfo.UserName = DataSecurity.HtmlEncode(contacterinfo.UserName);
contacterinfo.Address = DataSecurity.HtmlEncode(contacterinfo.Address);
contacterinfo.Aim = DataSecurity.HtmlEncode(contacterinfo.Aim);
contacterinfo.City = DataSecurity.HtmlEncode(contacterinfo.City);
contacterinfo.Company = DataSecurity.HtmlEncode(contacterinfo.Company);
contacterinfo.CompanyAddress = DataSecurity.HtmlEncode(contacterinfo.CompanyAddress);
contacterinfo.Country = DataSecurity.HtmlEncode(contacterinfo.Country);
contacterinfo.Department = DataSecurity.HtmlEncode(contacterinfo.Department);
contacterinfo.Email = DataSecurity.HtmlEncode(contacterinfo.Email);
contacterinfo.Family = DataSecurity.HtmlEncode(contacterinfo.Family);
contacterinfo.Fax = DataSecurity.HtmlEncode(contacterinfo.Fax);
contacterinfo.GraduateFrom = DataSecurity.HtmlEncode(contacterinfo.GraduateFrom);
contacterinfo.Homepage = DataSecurity.HtmlEncode(contacterinfo.Homepage);
contacterinfo.HomePhone = DataSecurity.HtmlEncode(contacterinfo.HomePhone);
contacterinfo.Icq = DataSecurity.HtmlEncode(contacterinfo.Icq);
contacterinfo.IdCard = DataSecurity.HtmlEncode(contacterinfo.IdCard);
contacterinfo.InterestsOfAmusement = DataSecurity.HtmlEncode(contacterinfo.InterestsOfAmusement);
contacterinfo.InterestsOfCulture = DataSecurity.HtmlEncode(contacterinfo.InterestsOfCulture);
contacterinfo.InterestsOfLife = DataSecurity.HtmlEncode(contacterinfo.InterestsOfLife);
contacterinfo.InterestsOfOther = DataSecurity.HtmlEncode(contacterinfo.InterestsOfOther);
contacterinfo.InterestsOfSport = DataSecurity.HtmlEncode(contacterinfo.InterestsOfSport);
contacterinfo.Mobile = DataSecurity.HtmlEncode(contacterinfo.Mobile);
contacterinfo.Msn = DataSecurity.HtmlEncode(contacterinfo.Msn);
contacterinfo.Nation = DataSecurity.HtmlEncode(contacterinfo.Nation);
contacterinfo.NativePlace = DataSecurity.HtmlEncode(contacterinfo.NativePlace);
contacterinfo.OfficePhone = DataSecurity.HtmlEncode(contacterinfo.OfficePhone);
contacterinfo.Operation = DataSecurity.HtmlEncode(contacterinfo.Operation);
contacterinfo.Owner = DataSecurity.HtmlEncode(contacterinfo.Owner);
contacterinfo.Phs = DataSecurity.HtmlEncode(contacterinfo.Phs);
contacterinfo.Position = DataSecurity.HtmlEncode(contacterinfo.Position);
contacterinfo.Province = DataSecurity.HtmlEncode(contacterinfo.Province);
contacterinfo.QQ = DataSecurity.HtmlEncode(contacterinfo.QQ);
contacterinfo.ShortedForm = DataSecurity.HtmlEncode(contacterinfo.ShortedForm);
contacterinfo.Title = DataSecurity.HtmlEncode(contacterinfo.Title);
contacterinfo.TrueName = DataSecurity.HtmlEncode(contacterinfo.TrueName);
contacterinfo.UC = DataSecurity.HtmlEncode(contacterinfo.UC);
contacterinfo.Yahoo = DataSecurity.HtmlEncode(contacterinfo.Yahoo);
contacterinfo.ZipCode = DataSecurity.HtmlEncode(contacterinfo.ZipCode);
return contacterinfo;
}
private static UserInfo DoUserHtmlDecode(UserInfo userInfo)
{
userInfo.Question = DataSecurity.HtmlDecode(userInfo.Question);
userInfo.Answer = DataSecurity.HtmlDecode(userInfo.Answer);
userInfo.Email = DataSecurity.HtmlDecode(userInfo.Email);
userInfo.UserFace = DataSecurity.HtmlDecode(userInfo.UserFace);
userInfo.Sign = DataSecurity.HtmlDecode(userInfo.Sign);
return userInfo;
}
private static UserInfo DoUserHtmlEncode(UserInfo userInfo)
{
userInfo.Question = DataSecurity.HtmlEncode(userInfo.Question);
userInfo.Answer = DataSecurity.HtmlEncode(userInfo.Answer);
userInfo.Email = DataSecurity.HtmlEncode(userInfo.Email);
userInfo.UserFace = DataSecurity.HtmlEncode(userInfo.UserFace);
userInfo.Sign = DataSecurity.HtmlEncode(userInfo.Sign);
return userInfo;
}
public static bool Exists(string userName)
{
return dal.Exists(userName);
}
public static bool ExistsUserByClientId(int clientId)
{
return dal.ExistsUserByClientId(clientId);
}
public static int ExportDataToAccess(string databaseName, int groupId)
{
return dal.ExportDataToAccess(databaseName, groupId);
}
public static IList<UserInfo> GetAllUsers(int startRowIndexId, int maxNumberRows, int groupId, string keyword, int listType)
{
IList<UserInfo> list = dal.GetAllUsers(startRowIndexId, maxNumberRows, groupId, DataSecurity.FilterBadChar(keyword), DataConverter.CLng(listType));
IList<UserInfo> list2 = new List<UserInfo>();
foreach (UserInfo info in list)
{
GetGroupInfo(info);
list2.Add(info);
}
return list2;
}
public static int GetAuditingCompanyMemberCount(int companyId)
{
return dal.GetAuditingCompanyMemberCount(companyId);
}
public static DataTable GetFriendGroup(string userName)
{
return GetFriendGroup(userName, true);
}
public static DataTable GetFriendGroup(string userName, bool isDecode)
{
UserInfo usersByUserName = GetUsersByUserName(userName);
if (usersByUserName == null)
{
return null;
}
if (string.IsNullOrEmpty(usersByUserName.UserFriendGroup))
{
return null;
}
string[] strArray = usersByUserName.UserFriendGroup.Split(new char[] { '$' });
DataTable table = new DataTable();
table.Columns.Add("FriendGroupName");
table.Columns.Add("FriendGroupID");
for (int i = 0; i < strArray.Length; i++)
{
DataRow row = table.NewRow();
string str = strArray[i];
if (isDecode)
{
str = DataSecurity.HtmlDecode(str);
}
row["FriendGroupName"] = str;
row["FriendGroupID"] = i;
table.Rows.Add(row);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -