/** 版本信息模板在安装目录下,可自行修改。
* admin_user.cs
*
* 功 能: N/A
* 类 名: admin_user
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
* V0.01 2021/3/30 8:46:18 N/A 初版
*
* Copyright (c) 2012 Maticsoft Corporation. All rights reserved.
*┌──────────────────────────────────┐
*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
*│ 版权所有:动软卓越(北京)科技有限公司 │
*└──────────────────────────────────┘
*/
using System;
using System.Data;
using System.Collections.Generic;
using Maticsoft.Common;
using DataService.Model;
using System.Web;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace DataService.BLL
{
///
/// admin_user
///
public partial class admin_user
{
private readonly DataService.DAL.admin_user dal = new DataService.DAL.admin_user();
public admin_user()
{ }
#region BasicMethod
///
/// 是否存在该记录
///
public bool Exists(string user_id)
{
return dal.Exists(user_id);
}
///
/// 增加一条数据
///
public bool Add(DataService.Model.admin_user model)
{
return dal.Add(model);
}
///
/// 更新一条数据
///
public bool Update(DataService.Model.admin_user model)
{
return dal.Update(model);
}
///
/// 删除一条数据
///
public bool Delete(string user_id)
{
return dal.Delete(user_id);
}
///
/// 删除一条数据
///
public bool DeleteList(string user_idlist)
{
return dal.DeleteList(user_idlist);
}
///
/// 得到一个对象实体
///
public DataService.Model.admin_user GetModel(string user_id)
{
return dal.GetModel(user_id);
}
///
/// 得到一个对象实体,从缓存中
///
public DataService.Model.admin_user GetModelByCache(string user_id)
{
string CacheKey = "admin_userModel-" + user_id;
object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey);
if (objModel == null)
{
try
{
objModel = dal.GetModel(user_id);
if (objModel != null)
{
int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt("ModelCache");
Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
}
}
catch { }
}
return (DataService.Model.admin_user)objModel;
}
///
/// 获得数据列表
///
public DataSet GetList(string strWhere)
{
return dal.GetList(strWhere);
}
///
/// 获得数据列表
///
public List GetModelList(string strWhere)
{
DataSet ds = dal.GetList(strWhere);
return DataTableToList(ds.Tables[0]);
}
///
/// 获得数据列表
///
public List DataTableToList(DataTable dt)
{
List modelList = new List();
int rowsCount = dt.Rows.Count;
if (rowsCount > 0)
{
DataService.Model.admin_user model;
for (int n = 0; n < rowsCount; n++)
{
model = dal.DataRowToModel(dt.Rows[n]);
if (model != null)
{
modelList.Add(model);
}
}
}
return modelList;
}
///
/// 获得数据列表
///
public DataSet GetAllList()
{
return GetList("");
}
///
/// 分页获取数据列表
///
public int GetRecordCount(string strWhere)
{
return dal.GetRecordCount(strWhere);
}
///
/// 分页获取数据列表
///
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
{
return dal.GetListByPage(strWhere, orderby, startIndex, endIndex);
}
///
/// 分页获取数据列表
///
//public DataSet GetList(int PageSize,int PageIndex,string strWhere)
//{
//return dal.GetList(PageSize,PageIndex,strWhere);
//}
#endregion BasicMethod
#region ExtensionMethod
///
/// 获取教员及管理员
///
///
///
public DataSet GetSysUsers(string strWhere)
{
return dal.GetSysUsers(strWhere);
}
///
/// 获取学员
///
///
///
public DataSet GetUsrUsers(string strWhere)
{
return dal.GetUsrUsers(strWhere);
}
public DateTime? GetMaxLoginTime()
{
return dal.GetMaxLoginTime();
}
///
/// 获取学员
///
///
///
public List GetUsrUsersByFault(string strWhere)
{
DataSet ds = dal.GetList(strWhere);
return DataTableToList(ds.Tables[0]);
}
///
/// 加载登录信息
///
///
public static DataService.Model.admin_user load_login_old()
{
DataService.Model.admin_user admin_cookie_user = new DataService.Model.admin_user();
HttpContext context = HttpContext.Current;
if (HttpContext.Current.Request.Cookies["admin_user_token"] != null)
{
if (HttpContext.Current.Request.Cookies["admin_user_token"].Values.Count > 1)
{
string tmpUid = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(0));
string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", "");
user_desc = HttpUtility.UrlDecode(user_desc);
string[] temp = user_desc.Split('|');
admin_cookie_user.user_id = temp[0];
admin_cookie_user.login_name = temp[1];
admin_cookie_user.real_name = temp[2];
//admin_cookie_user.grade = temp[3];
// admin_cookie_user.major = temp[4];
//var expires1 = HttpContext.Current.Request.Cookies["admin_user_token"].Expires;
//var expires2 = HttpContext.Current.Response.Cookies["admin_user_token"].Expires;
}
else
{
HttpContext.Current.Response.Redirect("~/Login.aspx");
}
}
else
{
HttpContext.Current.Response.Redirect("~/Login.aspx");
}
return admin_cookie_user;
}
public static DataService.Model.admin_user load_login()
{
DataService.Model.admin_user admin_cookie_user = new DataService.Model.admin_user();
HttpContext context = HttpContext.Current;
if (HttpContext.Current.Request.Cookies["admin_user_token"] != null)
{
if (HttpContext.Current.Request.Cookies["admin_user_token"].Values.Count > 1)
{
//string tmpUid = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(0));
//string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", "");
//user_desc = HttpUtility.UrlDecode(user_desc);
try
{
string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1);
user_desc = EncryptionAndDecryption.DecryptByLgzn(user_desc);
string[] temp = user_desc.Split('|');
admin_cookie_user.user_id = temp[0];
admin_cookie_user.login_name = temp[1];
admin_cookie_user.real_name = temp[2];
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(" ");
HttpContext.Current.Response.End();
}
}
else
{
HttpContext.Current.Response.Write(" ");
HttpContext.Current.Response.End();
}
}
else
{
//HttpContext.Current.Response.Redirect("~/Login.aspx");
HttpContext.Current.Response.Write(" ");
HttpContext.Current.Response.End();
}
return admin_cookie_user;
}
///
/// 是否存在该记录-按照工号查询
///
public bool ExistsByJobNumber(string job_number)
{
return dal.ExistsByJobNumber(job_number);
}
///
/// 是否存在该记录-按照身份证号查询
///
public bool ExistsByIdcard(string id_card)
{
return dal.ExistsByIdcard(id_card);
}
public static DataService.Model.admin_user load_log_user()
{
DataService.Model.admin_user admin_cookie_user = new DataService.Model.admin_user();
HttpContext context = HttpContext.Current;
if (HttpContext.Current.Request.Cookies["admin_user_token"] != null)
{
if (HttpContext.Current.Request.Cookies["admin_user_token"].Values.Count > 1)
{
/*
string tmpUid = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(0));
string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", "");
user_desc = HttpUtility.UrlDecode(user_desc);
string[] temp = user_desc.Split('|');
admin_cookie_user.user_id = temp[0];
admin_cookie_user.login_name = temp[1];
admin_cookie_user.real_name = temp[2];*/
string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", "");
user_desc = HttpUtility.UrlDecode(user_desc);
string[] temp = user_desc.Split('|');
admin_cookie_user.user_id = temp[0];
admin_cookie_user.login_name = temp[1];
admin_cookie_user.real_name = temp[2];
}
}
return admin_cookie_user;
}
public DataService.Model.admin_user GetModelBylogin_name(string school_id, string login_name)
{
return dal.GetModelBylogin_name(school_id, login_name);
}
public DataService.Model.admin_user GetModelBylogin_name(string login_name)
{
return dal.GetModelBylogin_name(login_name);
}
///
/// 得到一个对象实体--根据工号
///
public DataService.Model.admin_user GetModelByJobNumber(string job_number)
{
return dal.GetModelByJobNumber(job_number);
}
public DataService.Model.admin_user GetModelByIdcard(string id_card)
{
return dal.GetModelByIdcard(id_card);
}
///
/// 批量更新学员故障点
///
///
///
///
public bool update_fault(string fault_id, string user_idlist)
{
return dal.update_fault(fault_id, user_idlist);
}
///
/// 获取带有故障编码的学员信息
///
///
///
public DataSet GetUsrUsersWithFault(string strWhere)
{
return dal.GetUsrUsersWithFault(strWhere);
}
///
/// 枚举字段值
///
///
public List GetFieldValues(string filedName)
{
List list = new List();
var dt = dal.GetFieldValues(filedName).Tables[0];
int rowsCount = dt.Rows.Count;
for (int n = 0; n < rowsCount; n++)
{
var row = dt.Rows[n];
var value = row[0].ToString();
list.Add(value);
}
return list;
}
///
/// 枚举字段值
///
///
public List GetGradeValues(string filedName)
{
List list = new List();
var dt = dal.GetGradeValues(filedName).Tables[0];
int rowsCount = dt.Rows.Count;
for (int n = 0; n < rowsCount; n++)
{
var row = dt.Rows[n];
var value = row[0].ToString();
list.Add(value);
}
return list;
}
/*
public bool IsAdministrator(DataService.Model.admin_user user )
{
if (null != user && user.id_card == "admin")
return true;
return false;
}
*/
///
/// 是否老师
///
///
///
public bool IsTeacher(DataService.Model.admin_user user)
{
if (null != user)
{
if (user.role_id == getTeacherRoleId())
return true;
}
return false;
}
///
/// 是否学员
///
public bool IsStudent(DataService.Model.admin_user user)
{
if (null != user)
{
if (user.role_id == getStudentRoleId())
return true;
}
return false;
}
/*
public bool IsAdministrator(DataService.Model.admin_user user)
{
if (null != user && (user.role_id == getAdminRoleId() || user.role_id == getTeacherRoleId()))
return true;
return false;
}
*/
///
/// 超级管理员
///
///
///
public bool IsAdministrator(DataService.Model.admin_user user)
{
if (null != user && user.role_id == getAdminRoleId() )
return true;
return false;
}
///
/// 学校管理员
///
///
///
public bool IsSchoolAdministrator(DataService.Model.admin_user user)
{
if (null != user && user.role_id == getSchoolAdminRoleId())
return true;
return false;
}
///
/// 管理员
///
///
public string getAdminRoleId()
{
return "0";
}
///
/// 老师
///
///
public string getTeacherRoleId()
{
return "1";
}
///
/// 学生
///
///
public string getStudentRoleId()
{
return "2";
}
///
/// 学校管理员
///
///
public string getSchoolAdminRoleId()
{
return "3";
}
public int BatchAdd_Update(List list_Insert, List list_update)
{
return dal.BatchAdd_Update(list_Insert, list_update);
}
///
/// 判断没有成绩的用户是否存在
///
///
///
public bool IsUserExistsResult(string user_id)
{
var sb = new StringBuilder();
sb.Append(" 1=1 and user_id not in (select user_id from exam_result ) ");
sb.Append(" and user_id not in (select user_id from exam_result_match ) ");
//sb.Append(" and user_id not in (select user_id from pro_exam_batch_result ) ");
sb.AppendFormat(" and user_id ='{0}' ", user_id);
string where =sb.ToString();
int count= dal.GetRecordCount(where);
if (count <= 0)
{
return true;
}
else
{
return false;
}
}
///
/// 获取已启动用户数量
///
///
///
///
public int GetStartedUsers(string school_id,string role_id)
{
var qry = string.Format("school_id='{0}' and role_id='{1}' and is_lock=0 ", school_id, role_id);
var exist_number = GetModelList(qry).Count();
return exist_number;
}
#endregion ExtensionMethod
}
public class EncryptionAndDecryption
{
#region ========加密========
///
/// md5密码加密
///
///
///
public static string GetMD5(string passWord)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] bt = Encoding.Default.GetBytes(passWord);//将待加密字符转为 字节型数组
byte[] resualt = md5.ComputeHash(bt);//将字节数组转为加密的字节数组
string pwds = BitConverter.ToString(resualt).Replace("-", "");
passWord = pwds;
return passWord;
}
///
/// 加密
///
///
///
public static string Encrypt(string Text)
{
return Encrypt(Text, string.Format("NJ-{0}-ZGD", DateTime.Now.ToString("yyyy-MM-dd-HH")));
}
///
/// 加密
///
///
///
public static string EncryptByLgzn(string Text)
{
return Encrypt(Text, "LGZN");
}
///
/// 解密
///
///
///
public static string DecryptByLgzn(string Text)
{
return Decrypt(Text, "LGZN");
}
///
/// 加密数据
///
/// 明文
/// 密钥
///
public static string Encrypt(string Text, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray;
inputByteArray = Encoding.Default.GetBytes(Text);
des.Key = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8));
des.IV = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8));
System.IO.MemoryStream ms = new System.IO.MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
return ret.ToString();
}
#endregion
#region ========解密========
///
/// 解密
///
///
///
public static string Decrypt(string Text)
{
return Decrypt(Text, string.Format("NJ-{0}-ZGD", DateTime.Now.ToString("yyyy-MM-dd-HH")));
}
///
/// 解密数据
///
/// 密文
/// 密钥
///
public static string Decrypt(string Text, string sKey)
{
try
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
int len;
len = Text.Length / 2;
byte[] inputByteArray = new byte[len];
int x, i;
for (x = 0; x < len; x++)
{
i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
inputByteArray[x] = (byte)i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8));
des.IV = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8));
System.IO.MemoryStream ms = new System.IO.MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Encoding.Default.GetString(ms.ToArray());
}
catch
{
return null;
}
}
#endregion
}
}