using CallCenter.Utility;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CallCenterApi.BLL
{
///
/// T_Sys_UserAccount
///
public partial class T_Sys_UserAccount
{
private readonly DAL.T_Sys_UserAccount dal = new DAL.T_Sys_UserAccount();
public T_Sys_UserAccount()
{ }
#region BasicMethod
///
/// 得到最大ID
///
public int GetMaxId()
{
return dal.GetMaxId();
}
///
/// 是否存在该记录
///
public bool Exists(int F_UserId)
{
return dal.Exists(F_UserId);
}
///
/// 增加一条数据
///
public int Add(Model.T_Sys_UserAccount model)
{
OutRedis();
return dal.Add(model);
}
///
/// 更新一条数据
///
public bool Update(Model.T_Sys_UserAccount model)
{
OutRedis();
return dal.Update(model);
}
///
/// 删除一条数据
///
public bool Delete(int F_UserId)
{
OutRedis();
return dal.Delete(F_UserId);
}
///
/// 删除一条数据
///
public bool DeleteList(string F_UserIdlist)
{
OutRedis();
return dal.DeleteList(F_UserIdlist);
}
///
/// 更新数据状态 批量
///
public bool DeleteList(string F_UserIdlist, int state)
{
OutRedis();
return dal.DeleteList(F_UserIdlist, state);
}
///
/// 根据用户code获取用户名称
///
///
///
public string GetUserName(string code)
{
var dt = GetRedis();
if (dt != null)
{
var drs = dt.Select("F_UserCode = '" + code + "'");
if (drs != null && drs.Length > 0)
{
return drs[0]["F_UserName"].ToString();
}
else
{
return "";
}
}
else
{
var dt1 = dal.GetList("F_UserCode = '" + code + "'").Tables[0];
if (dt1.Rows.Count > 0)
{
return dt1.Rows[0]["F_UserName"].ToString();
}
return "";
}
}
///
/// 得到一个对象实体
///
public Model.T_Sys_UserAccount GetModel(int F_UserId)
{
var dt = GetRedis();
if (dt != null)
{
var dr = dt.Select("F_UserId=" + F_UserId);
if (dr != null && dr.Count() > 0)
{
var model = dal.DataRowToModel2(dr[0]);
if (model.F_DeptId > 0)
{
model.depname = new T_Sys_Department().GetModel(model.F_DeptId)?.F_DeptName ?? "";
}
if (model.F_RoleId > 0)
{
var role = new T_Sys_RoleInfo().GetModel(model.F_RoleId);
if (role != null)
{
model.rolname = role.F_RoleName;
model.F_RoleCode = role.F_RoleCode;
}
}
if (!string.IsNullOrEmpty(model.F_SeartGroupCode))
{
var group = new T_Sys_SeatGroup().GetList("F_ZXZCode='" + model.F_SeartGroupCode + "' ").Tables[0];
if (group != null && group.Rows.Count > 0)
{
model.zxzname = group.Rows[0]["F_ZXZName"] != null ? group.Rows[0]["F_ZXZName"].ToString() : "";
}
}
return model;
}
else
{
return null;
}
}
else
{
return dal.GetModel(F_UserId);
}
// return dal.GetModel(F_UserId);
}
///
/// 得到一个对象实体
///
public Model.T_Sys_UserAccount GetModel(string F_UserCode)
{
var dt = GetRedis();
if (dt != null)
{
var dr = dt.Select("F_UserCode='" + F_UserCode + "'");
if (dr != null && dr.Count() > 0)
{
var model = dal.DataRowToModel2(dr[0]);
if (model.F_DeptId > 0)
{
model.depname = new T_Sys_Department().GetModel(model.F_DeptId)?.F_DeptName ?? "";
}
if (model.F_RoleId > 0)
{
var role = new T_Sys_RoleInfo().GetModel(model.F_RoleId);
if (role != null)
{
model.rolname = role.F_RoleName;
model.F_RoleCode = role.F_RoleCode;
}
}
if (!string.IsNullOrEmpty(model.F_SeartGroupCode))
{
var group = new T_Sys_SeatGroup().GetList("F_ZXZCode='" + model.F_SeartGroupCode + "' ").Tables[0];
if (group != null && group.Rows.Count > 0)
{
model.zxzname = group.Rows[0]["F_ZXZName"] != null ? group.Rows[0]["F_ZXZName"].ToString() : "";
}
}
return model;
}
else
{
return null;
}
}
else
{
return dal.GetModel(F_UserCode);
}
//return dal.GetModel(F_UserCode);
}
///
/// 得到一个对象实体
///
public Model.T_Sys_UserAccount GetModelByWxOpenId(string F_UserCode)
{
return dal.GetModelByWxOpenId(F_UserCode);
}
///
/// 登录得到一个对象实体
///
public Model.T_Sys_UserAccount LoginGetModel(string F_UserCode, string F_Password)
{
return dal.LoginGetModel(F_UserCode, F_Password);
}
/////
///// 得到一个对象实体,从缓存中
/////
//public Model.T_Sys_UserAccount GetModelByCache(int F_UserId)
//{
// string CacheKey = "T_Sys_UserAccountModel-" + F_UserId;
// object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey);
// if (objModel == null)
// {
// try
// {
// objModel = dal.GetModel(F_UserId);
// if (objModel != null)
// {
// int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt("ModelCache");
// Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
// }
// }
// catch{}
// }
// return (Model.T_Sys_UserAccount)objModel;
//}
/////
///// 获得数据列表
/////
//public DataSet GetList(string strWhere, string filedOrder = "")
//{
// return dal.GetList(strWhere, filedOrder);
// // return dal.GetList(strWhere, filedOrder);
//}
///
/// 获得数据列表
///
public DataSet GetList(string strWhere, string filedOrder = "")
{
var dt = GetRedis();
if (dt != null)
{
var ds = new DataSet();
if (string.IsNullOrEmpty(strWhere))
{
ds.Tables.Add(dt.Copy());
}
else
{
var drs = dt.Select(strWhere, filedOrder);
if (drs.Length > 0)
{
ds.Tables.Add(drs.CopyToDataTable());
}
else
{
ds.Tables.Add(new DataTable());
}
}
return ds;
}
else
{
return dal.GetList(strWhere, filedOrder);
}
}
///
/// 获得数据列表
///
public DataSet GetListNoCache(string strWhere)
{
return dal.GetList(strWhere);
}
public DataSet GetListView(string strWhere)
{
return dal.GetListView(strWhere);
}
///
/// 获得前几行数据
///
public DataSet GetList(int Top, string strWhere, string filedOrder)
{
return dal.GetList(Top, strWhere, filedOrder);
}
///
/// 获得前几行数据
///
public DataSet GetSeatList(string strWhere, string filedOrder)
{
return dal.GetList(strWhere, filedOrder);
}
///
/// 获得数据列表
///
public List GetModelList(string strWhere, string filedOrder = "")
{
var dt = GetRedis();
if (dt != null)
{
var dtnew = new DataTable();
var drs = dt.Select(strWhere, filedOrder);
if (drs.Length > 0)
{
dtnew = drs.CopyToDataTable();
}
return DataTableToList(dtnew);
}
else
{
DataSet ds = dal.GetList(strWhere, filedOrder);
return DataTableToList(ds.Tables[0]);
}
// DataSet ds = dal.GetList(strWhere, filedOrder);
// return DataTableToList(ds.Tables[0]);
}
///
/// 获得数据列表
///
public List GetModelList1(string strWhere, string filedOrder = "")
{
var dt = GetRedis();
if (dt != null)
{
var dtnew = new DataTable();
var drs = dt.Select(strWhere, filedOrder);
if (drs.Length > 0)
{
dtnew = drs.CopyToDataTable();
}
return DataTableToList1(dtnew);
}
else
{
DataSet ds = dal.GetList(strWhere, filedOrder);
return DataTableToList(ds.Tables[0]);
}
// DataSet ds = dal.GetList(strWhere, filedOrder);
// return DataTableToList(ds.Tables[0]);
}
///
/// 获得数据列表
///
public List GetModelListNoCache(string strWhere, string filedOrder = "")
{
DataSet ds = dal.GetList(strWhere, filedOrder);
return DataTableToList(ds.Tables[0]);
}
///
/// 获得数据列表
///
public List DataTableToList(DataTable dt)
{
List modelList = new List();
int rowsCount = dt.Rows.Count;
if (rowsCount > 0)
{
var deptbll = new T_Sys_Department();
var rolebll = new T_Sys_RoleInfo();
var seatbll = new T_Sys_SeatGroup();
var dept = deptbll.GetModelList("");
var roles = rolebll.GetModelList("");
var seat = seatbll.GetModelList("");
Model.T_Sys_UserAccount model;
for (int n = 0; n < rowsCount; n++)
{
model = dal.DataRowToModel2(dt.Rows[n]);
if (model != null)
{
if (model.F_DeptId > 0)
{
var dept1 = dept.Where(x => x.F_DeptId == model.F_DeptId);
if (dept1!=null&& dept1.Count() > 0)
{
model.depname = dept1.FirstOrDefault().F_DeptName ?? "";
}
}
if (model.F_RoleId > 0)
{
var role = roles.Where(x=>x.F_RoleId==model.F_RoleId);
if (role != null&& role.Count() > 0)
{
model.rolname = role.FirstOrDefault().F_RoleName;
model.F_RoleCode = role.FirstOrDefault().F_RoleCode;
}
}
if (!string.IsNullOrEmpty(model.F_SeartGroupCode))
{
var group = seat.Where(x => x.F_ZXZCode == model.F_SeartGroupCode);
if (group != null && group.Count() > 0)
{
model.zxzname = group.FirstOrDefault().F_ZXZName != null ? group.FirstOrDefault().F_ZXZName : "";
}
}
modelList.Add(model);
}
}
}
return modelList;
}
public List DataTableToList1(DataTable dt)
{
List modelList = new List();
int rowsCount = dt.Rows.Count;
if (rowsCount > 0)
{
Model.T_Sys_UserAccount model;
for (int n = 0; n < rowsCount; n++)
{
model = dal.DataRowToModel1(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
#endregion ExtensionMethod
private DataTable GetRedis()
{
var strList = RedisHelper2.StringGet("T_Sys_UserAccount");
if (strList != null)
{
return strList.ToString().ToObject();
}
else
{
return InRedis();
}
}
private DataTable InRedis()
{
var dt = dal.GetList("").Tables[0];
RedisHelper2.StringSet("T_Sys_UserAccount", dt.ToJson(), new TimeSpan(24, 0, 0));
return dt;
}
private void OutRedis()
{
RedisHelper2.KeyDelete("T_Sys_UserAccount");
}
}
}