业务层主要负责定义业务逻辑(规则、工作流、数据完整性等),接收来自表示层的数据请求,逻辑判断后,向数据访问层提交请求,并传递数据访问结果,业务逻辑层实际上是一个中间件,起着承上启下的重要作用。
在我们的项目中,所有的数据库语句和和逻辑判断尽量写在业务层(IA.Business)里面,这样既能规范层级的作用,同时也规范团队协作的标准,我们在业务层中的类都以实体类名称加上Bll来命名(如:Base_SysLogBll.cs)。
首先,我们需要创建业务类IA.Business:
创建好之后,我们需要引入Bobo.DataAccess.dll和Bobo.Repository.dll、Bobo.Utilities.dll程序集,以及IA.Entity实体。
然后我们需要根据实体类,创建对应的Bll业务类,如:
using Bobo.Repository;
using IA.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace IA.Business
{
// <summary>
/// 文章信息表
/// <author>
/// <name>YHB</name>
/// <date>2018.10.18</date>
/// </author>
/// </summary>
public class Com_ArticleBll : RepositoryFactory<Com_Article>
{
}
}
这样我们依次把我们需要用的业务类建好,并通过业务仓储工厂继承IRepository接口(: RepositoryFactory<Com_Article>) 我们可以为不同的业务类创建不同的文件夹存放,比如系统的基础业务类,如Base_SysLogBll.cs、Base_DataDictionaryDetailBll.cs、Base_ProvinceCityBll.cs、Base_UserBll.cs等,我们把他放在SystemBusiness文件夹下,这样可以跟常规业务类划分开来。
下面,我们重点列出这几个业务类文件的方法内容,这些方法内容都是一般常规系统会用到的,其他一些特殊或者将会用到的,会在后续边用的过程中,在写入进去,包括其他常规的业务类。
(1)Base_SysLogBll
using Bobo.DataAccess;
using Bobo.DataAccess.DataBase;
using Bobo.Repository;
using Bobo.Utilities;
using Bobo.Utilities.Membership;
using IA.Entity;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks; namespace IA.Business.SystemBusiness
{
/// <summary>
/// 系统日志表
/// <author>
/// <name>YHB</name>
/// <date>2018.08.18</date>
/// </author>
/// </summary>
public class Base_SysLogBll : RepositoryFactory<Base_SysLog>
{
#region 静态实例化
private static Base_SysLogBll item;
public static Base_SysLogBll Instance
{
get
{
if (item == null)
{
item = new Base_SysLogBll();
}
return item;
}
}
#endregion public Base_SysLog SysLog = new Base_SysLog(); #region 写入操作日志
/// <summary>
/// 写入作业日志
/// </summary>
/// <param name="ObjectId">对象主键</param>
/// <param name="OperationType">操作类型</param>
/// <param name="State">状态</param>
/// <param name="Remark">操作说明</param>
/// <returns></returns>
public void WriteLog(string ObjectId, OperationType OperationType, string State, string Remark = "")
{
SysLog.SysLogId = CommonHelper.GetGuid();
SysLog.ObjectId = ObjectId;
SysLog.LogType = CommonHelper.GetString((int)OperationType);
if (ManageProvider.Provider.IsOverdue())
{
SysLog.IPAddress = ManageProvider.Provider.Current().IPAddress;
SysLog.IPAddressName = ManageProvider.Provider.Current().IPAddressName;
SysLog.CompanyId = ManageProvider.Provider.Current().CompanyId;
SysLog.DepartmentId = ManageProvider.Provider.Current().DepartmentId;
SysLog.CreateUserId = ManageProvider.Provider.Current().UserId;
SysLog.CreateUserName = ManageProvider.Provider.Current().UserName;
}
SysLog.ModuleId = DESEncrypt.Decrypt(CookieHelper.GetCookie("ModuleId"));
SysLog.Remark = Remark;
SysLog.Status = State;
ThreadPool.QueueUserWorkItem(new WaitCallback(WriteLogUsu), SysLog);//放入异步执行
} private void WriteLogUsu(object obSysLog)
{
Base_SysLog VSysLog = (Base_SysLog)obSysLog;
DataFactory.Database().Insert(VSysLog);
}
/// <summary>
/// 写入作业日志(新增操作)
/// </summary>
/// <param name="entity">实体对象</param>
/// <param name="OperationType">操作类型</param>
/// <param name="State">状态</param>
/// <param name="Remark">操作说明</param>
/// <returns></returns>
public void WriteLog<T>(T entity, OperationType OperationType, string State, string Remark = "")
{
IDatabase database = DataFactory.Database();
DbTransaction isOpenTrans = database.BeginTrans();
try
{
SysLog.SysLogId = CommonHelper.GetGuid();
SysLog.ObjectId = DatabaseCommon.GetKeyFieldValue(entity).ToString();
SysLog.LogType = CommonHelper.GetString((int)OperationType);
SysLog.IPAddress = ManageProvider.Provider.Current().IPAddress;
SysLog.IPAddressName = ManageProvider.Provider.Current().IPAddressName;
SysLog.CompanyId = ManageProvider.Provider.Current().CompanyId;
SysLog.DepartmentId = ManageProvider.Provider.Current().DepartmentId;
SysLog.CreateUserId = ManageProvider.Provider.Current().UserId;
SysLog.CreateUserName = ManageProvider.Provider.Current().UserName;
SysLog.ModuleId = DESEncrypt.Decrypt(CookieHelper.GetCookie("ModuleId"));
if (Remark == "")
{
SysLog.Remark = DatabaseCommon.GetClassName<T>();
}
SysLog.Remark = Remark;
SysLog.Status = State;
database.Insert(SysLog, isOpenTrans);
//添加日志详细信息
Type objTye = typeof(T);
foreach (PropertyInfo pi in objTye.GetProperties())
{
object value = pi.GetValue(entity, null);
if (value != null && value.ToString() != " " && value.ToString() != "")
{ Base_SysLogDetail syslogdetail = new Base_SysLogDetail();
syslogdetail.SysLogDetailId = CommonHelper.GetGuid();
//syslogdetail.SysLogId = SysLog.SysLogId;
syslogdetail.PropertyField = pi.Name;
syslogdetail.PropertyName = DatabaseCommon.GetFieldText(pi);
syslogdetail.NewValue = "" + value + "";
database.Insert(syslogdetail, isOpenTrans);
}
}
database.Commit();
}
catch
{
database.Rollback();
}
}
/// <summary>
/// 写入作业日志(更新操作)
/// </summary>
/// <param name="oldObj">旧实体对象</param>
/// <param name="newObj">新实体对象</param>
/// <param name="OperationType">操作类型</param>
/// <param name="State">状态</param>
/// <param name="Remark">操作说明</param>
/// <returns></returns>
public void WriteLog<T>(T oldObj, T newObj, OperationType OperationType, string State, string Remark = "")
{
IDatabase database = DataFactory.Database();
DbTransaction isOpenTrans = database.BeginTrans();
try
{
SysLog.SysLogId = CommonHelper.GetGuid();
SysLog.ObjectId = DatabaseCommon.GetKeyFieldValue(newObj).ToString();
SysLog.LogType = CommonHelper.GetString((int)OperationType);
SysLog.IPAddress = ManageProvider.Provider.Current().IPAddress;
SysLog.IPAddressName = ManageProvider.Provider.Current().IPAddressName;
SysLog.CompanyId = ManageProvider.Provider.Current().CompanyId;
SysLog.DepartmentId = ManageProvider.Provider.Current().DepartmentId;
SysLog.CreateUserId = ManageProvider.Provider.Current().UserId;
SysLog.CreateUserName = ManageProvider.Provider.Current().UserName;
SysLog.ModuleId = DESEncrypt.Decrypt(CookieHelper.GetCookie("ModuleId"));
if (Remark == "")
{
SysLog.Remark = DatabaseCommon.GetClassName<T>();
}
SysLog.Remark = Remark;
SysLog.Status = State;
database.Insert(SysLog, isOpenTrans);
//添加日志详细信息
Type objTye = typeof(T);
foreach (PropertyInfo pi in objTye.GetProperties())
{
object oldVal = pi.GetValue(oldObj, null);
object newVal = pi.GetValue(newObj, null);
if (!Equals(oldVal, newVal))
{
if (oldVal != null && oldVal.ToString() != " " && oldVal.ToString() != "" && newVal != null && newVal.ToString() != " " && newVal.ToString() != "")
{
Base_SysLogDetail syslogdetail = new Base_SysLogDetail();
syslogdetail.SysLogDetailId = CommonHelper.GetGuid();
//syslogdetail.SysLogId = SysLog.SysLogId;
syslogdetail.PropertyField = pi.Name;
syslogdetail.PropertyName = DatabaseCommon.GetFieldText(pi);
syslogdetail.NewValue = "" + newVal + "";
syslogdetail.OldValue = "" + oldVal + "";
database.Insert(syslogdetail, isOpenTrans);
}
}
}
database.Commit();
}
catch
{
database.Rollback();
}
}
/// <summary>
/// 写入作业日志(删除操作)
/// </summary>
/// <param name="oldObj">旧实体对象</param>
/// <param name="KeyValue">对象主键</param>
/// <param name="State">状态</param>
/// <param name="Remark">操作说明</param>
public void WriteLog<T>(string[] KeyValue, string State, string Remark = "") where T : new()
{
IDatabase database = DataFactory.Database();
DbTransaction isOpenTrans = database.BeginTrans();
try
{
foreach (var item in KeyValue)
{
T Oldentity = database.FindEntity<T>(item.ToString());
SysLog.SysLogId = CommonHelper.GetGuid();
SysLog.ObjectId = item;
SysLog.LogType = CommonHelper.GetString((int)OperationType.Delete);
SysLog.IPAddress = ManageProvider.Provider.Current().IPAddress;
SysLog.IPAddressName = ManageProvider.Provider.Current().IPAddressName;
SysLog.CompanyId = ManageProvider.Provider.Current().CompanyId;
SysLog.DepartmentId = ManageProvider.Provider.Current().DepartmentId;
SysLog.CreateUserId = ManageProvider.Provider.Current().UserId;
SysLog.CreateUserName = ManageProvider.Provider.Current().UserName;
SysLog.ModuleId = DESEncrypt.Decrypt(CookieHelper.GetCookie("ModuleId"));
if (Remark == "")
{
SysLog.Remark = DatabaseCommon.GetClassName<T>();
}
SysLog.Remark = Remark;
SysLog.Status = State;
database.Insert(SysLog, isOpenTrans);
//添加日志详细信息
Type objTye = typeof(T);
foreach (PropertyInfo pi in objTye.GetProperties())
{
object value = pi.GetValue(Oldentity, null);
if (value != null && value.ToString() != " " && value.ToString() != "")
{
Base_SysLogDetail syslogdetail = new Base_SysLogDetail();
syslogdetail.SysLogDetailId = CommonHelper.GetGuid();
//syslogdetail.SysLogId = SysLog.SysLogId;
syslogdetail.PropertyField = pi.Name;
syslogdetail.PropertyName = DatabaseCommon.GetFieldText(pi);
syslogdetail.NewValue = "" + value + "";
database.Insert(syslogdetail, isOpenTrans);
}
}
}
database.Commit();
}
catch
{
database.Rollback();
}
}
#endregion /// <summary>
/// 清空操作日志
/// </summary>
/// <param name="CreateDate"></param>
/// <returns></returns>
public int RemoveLog(string KeepTime)
{
StringBuilder strSql = new StringBuilder();
DateTime CreateDate = DateTime.Now;
if (KeepTime == "7")//保留近一周
{
CreateDate = DateTime.Now.AddDays(-7);
}
else if (KeepTime == "1")//保留近一个月
{
CreateDate = DateTime.Now.AddMonths(-1);
}
else if (KeepTime == "3")//保留近三个月
{
CreateDate = DateTime.Now.AddMonths(-3);
}
if (KeepTime == "0")//不保留,全部删除
{
strSql.Append("DELETE FROM Base_SysLog");
return DataFactory.Database().ExecuteBySql(strSql);
}
else
{
strSql.Append("DELETE FROM Base_SysLog WHERE 1=1 ");
strSql.Append("AND CreateDate <= @CreateDate");
List<DbParameter> parameter = new List<DbParameter>();
parameter.Add(DbFactory.CreateDbParameter("@CreateDate", CreateDate));
return DataFactory.Database().ExecuteBySql(strSql, parameter.ToArray());
}
}
/// <summary>
/// 获取系统日志列表
/// </summary>
/// <param name="ModuleId">模块ID</param>
/// <param name="ParameterJson">搜索条件</param>
/// <param name="jqgridparam">分页条件</param>
/// <returns></returns>
public List<Base_SysLog> GetPageList(string ModuleId, string ParameterJson, ref JqGridParam jqgridparam)
{
StringBuilder strSql = new StringBuilder();
List<DbParameter> parameter = new List<DbParameter>();
strSql.Append(@"SELECT *
FROM ( SELECT l.SysLogId ,
l.ObjectId ,
l.LogType ,
l.IPAddress ,
l.IPAddressName ,
l.CreateDate ,
l.CreateUserId ,
l.CreateUserName ,
l.ModuleId AS Module,
m.FullName AS ModuleId ,
l.Remark ,
l.State
FROM Base_SysLog l
LEFT JOIN Base_Module m ON m.ModuleId = l.ModuleId
) A WHERE 1 = 1");
//strSql.Append(WhereSql);
if (!string.IsNullOrEmpty(ModuleId))
{
strSql.Append(" AND Module = @ModuleId");
parameter.Add(DbFactory.CreateDbParameter("@ModuleId", ModuleId));
}
return Repository().FindListPageBySql(strSql.ToString(), parameter.ToArray(), ref jqgridparam);
}
/// <summary>
/// 获取系统日志明细列表
/// </summary>
/// <param name="SysLogId">系统日志主键</param>
/// <returns></returns>
public List<Base_SysLogDetail> GetSysLogDetailList(string SysLogId)
{
string WhereSql = " AND SysLogId = @SysLogId Order By CreateDate ASC";
List<DbParameter> parameter = new List<DbParameter>();
parameter.Add(DbFactory.CreateDbParameter("@SysLogId", SysLogId));
return DataFactory.Database().FindList<Base_SysLogDetail>(WhereSql, parameter.ToArray());
}
}
/// <summary>
/// 操作类型
/// </summary>
public enum OperationType
{
/// <summary>
/// 登陆
/// </summary>
Login = 0,
/// <summary>
/// 新增
/// </summary>
Add = 1,
/// <summary>
/// 修改
/// </summary>
Update = 2,
/// <summary>
/// 删除
/// </summary>
Delete = 3,
/// <summary>
/// 其他
/// </summary>
Other = 4,
/// <summary>
/// 访问
/// </summary>
Visit = 5,
/// <summary>
/// 离开
/// </summary>
Leave = 6,
/// <summary>
/// 查询
/// </summary>
Query = 7,
/// <summary>
/// 安全退出
/// </summary>
Exit = 8,
}
}
(2)Base_DataDictionaryDetailBll
using Bobo.DataAccess;
using Bobo.Repository;
using Bobo.Utilities;
using IA.Entity;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace IA.Business.SystemBusiness
{
// <summary>
/// 数据字典表
/// <author>
/// <name>YHB</name>
/// <date>2018.10.18</date>
/// </author>
/// </summary>
public class Base_DataDictionaryDetailBll : RepositoryFactory<Base_DataDictionaryDetail>
{ /// <summary>
/// 根据字典类型和编码获取字典详细
/// </summary>
/// <param name="DataDictionaryType"></param>
/// <param name="Code"></param>
/// <returns></returns>
public List<Base_DataDictionaryDetail> GetDataducListByTypeCode(string DataDictionaryType, string Code)
{ StringBuilder Sql = new StringBuilder();
List<DbParameter> param = new List<DbParameter>();
Sql.Append(@"SELECT * FROM Base_DataDictionaryDetail WHERE DeleteMark<>1");
if (!StringHelper.IsNullOrEmpty(DataDictionaryType))
{
Sql.Append(@" AND DataDictionaryType=@DataDictionaryType");
param.Add(DbFactory.CreateDbParameter("@DataDictionaryType", DataDictionaryType));
}
if (!StringHelper.IsNullOrEmpty(Code))
{
Sql.Append(@" AND Code=@Code");
param.Add(DbFactory.CreateDbParameter("@Code", Code));
}
return Factory.FindListBySql(Sql.ToString(), param.ToArray());
}
/// <summary>
/// 获取类型关键字
/// </summary>
/// <param name="DataDictionaryTitle"></param>
/// <param name="DataDictionaryType"></param>
/// <returns></returns>
public List<Base_DataDictionaryDetail> GetDataDictionaryList(string DataDictionaryTitle, string DataDictionaryType)
{ StringBuilder Sql = new StringBuilder();
List<DbParameter> param = new List<DbParameter>();
Sql.Append(@"SELECT * FROM Base_DataDictionaryDetail WHERE DeleteMark<>1");
if (!StringHelper.IsNullOrEmpty(DataDictionaryType))
{
Sql.Append(@" AND DataDictionaryType=@DataDictionaryType");
param.Add(DbFactory.CreateDbParameter("@DataDictionaryType", DataDictionaryType));
}
if (!StringHelper.IsNullOrEmpty(DataDictionaryTitle))
{
Sql.Append(@" AND DataDictionaryTitle like @DataDictionaryTitle");
param.Add(DbFactory.CreateDbParameter("@DataDictionaryTitle", '%' + DataDictionaryTitle + '%'));
}
return Factory.FindListBySql(Sql.ToString(), param.ToArray());
} /// <summary>
/// 获取关于协会分页数据
/// </summary>
/// <param name="ArticleTitle"></param>
/// <param name="jgp"></param>
/// <returns></returns>
public DataTable GetAboutTablePage(ref JqGridParam jgp)
{
StringBuilder Sql = new StringBuilder();
List<DbParameter> param = new List<DbParameter>();
Sql.Append(@"SELECT * FROM(
SELECT X1.DataDictionaryTitle,X1.Code,X1.SortCode,X2.* from (SELECT * FROM dbo.Base_DataDictionaryDetail WHERE DeleteMark<>1 AND DataDictionaryType='About') X1
LEFT JOIN (SELECT * FROM Com_Article WHERE DeleteMark<>1 AND State=1) X2
ON X1.Code=x2.ArticleType) TT WHERE 1=1 ");
return Factory.FindTablePageBySql(Sql.ToString(), param.ToArray(), ref jgp);
}
/// <summary>
///
/// </summary>
/// <param name="jgp"></param>
/// <returns></returns>
public DataTable GetAboutTableAllPage(ref JqGridParam jgp)
{
StringBuilder Sql = new StringBuilder();
List<DbParameter> param = new List<DbParameter>();
Sql.Append(@"SELECT * FROM(
SELECT X1.DataDictionaryTitle,X1.Code,X1.SortCode,X2.* from (SELECT * FROM dbo.Base_DataDictionaryDetail WHERE DeleteMark<>1 AND DataDictionaryType='About') X1
LEFT JOIN (SELECT * FROM Com_Article WHERE DeleteMark<>1) X2
ON X1.Code=x2.ArticleType) TT WHERE 1=1 ");
return Factory.FindTablePageBySql(Sql.ToString(), param.ToArray(), ref jgp);
}
/// <summary>
/// 添加关键字
/// </summary>
/// <param name="ContentKey"></param>
/// <returns></returns>
public int SubContentKey(string ContentKey)
{
List<DbParameter> param = new List<DbParameter>();
string[] ContentKeyArr = ContentKey.Split(',');
int num = 0;
try
{
if (ContentKeyArr.Length > 0)
{
foreach (var item in ContentKeyArr)
{
StringBuilder Sql = new StringBuilder();
Sql.Append(@"DELETE Base_DataDictionaryDetail WHERE DeleteMark<>1 AND DataDictionaryType='ContentKey' AND DataDictionaryTitle='" + item + "'");
Factory.ExecuteBySql(Sql);
Base_DataDictionaryDetail entiy = new Base_DataDictionaryDetail();
entiy.DataDictionaryTitle = item;
entiy.DataDictionaryType = "ContentKey";
entiy.Create();
Factory.Insert(entiy);
}
num = 1;
}
else
{
num = 0;
} }
catch
{
num= 0;
}
return num;
} /// <summary>
/// 获取有数据的关键字
/// </summary>
/// <param name="Type">关键字类型</param>
/// <returns></returns>
public List<Base_DataDictionaryDetail> GetContentKeyList(string Type)
{
StringBuilder Sql = new StringBuilder();
List<DbParameter> param = new List<DbParameter>(); if (!StringHelper.IsNullOrEmpty(Type))
{
Sql.Append(@"SELECT * FROM(
SELECT
(SELECT COUNT(FileID) FROM dbo.Com_Attachment
WHERE DeleteMark<>1 AND ContentKey like '%'+x.DataDictionaryTitle+'%'
AND FileType=@FileType) FileCount,
x.DataDictionaryTitle,
x.DataDictionaryType,
'"+Type+@"' Code,
x.DeleteMark
FROM dbo.Base_DataDictionaryDetail x) T
WHERE DataDictionaryType='ContentKey' AND DeleteMark<>1 AND FileCount>0");
param.Add(DbFactory.CreateDbParameter("@FileType", Type));
} return Factory.FindListBySql(Sql.ToString(), param.ToArray());
} }
}
(3)Base_ProvinceCityBll
using Bobo.DataAccess;
using Bobo.Repository;
using Bobo.Utilities;
using IA.Entity;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace IA.Business.SystemBusiness
{
// <summary>
/// 省市区域表
/// <author>
/// <name>YHB</name>
/// <date>2018.10.18</date>
/// </author>
/// </summary>
public class Base_ProvinceCityBll : RepositoryFactory<Base_ProvinceCity>
{
/// <summary>
/// 获取区域列表
/// </summary>
/// <param name="ParentId">附件ID</param>
/// <param name="Category">区域类型(province,city)</param>
/// <param name="Code">区划代码</param>
/// <param name="FullName">区域名称</param>
/// <returns></returns>
public List<Base_ProvinceCity> GetProvinceCityList(string ParentId, string Category, string Code, string FullName)
{
StringBuilder whereSql = new StringBuilder();
List<DbParameter> param = new List<DbParameter>(); whereSql.Append(@" AND DeleteMark<>1"); if (!StringHelper.IsNullOrEmpty(ParentId))
{
whereSql.Append(@" AND ParentId=@ParentId");
param.Add(DbFactory.CreateDbParameter("@ParentId", ParentId));
}
if (!StringHelper.IsNullOrEmpty(Category))
{
whereSql.Append(@" AND Category=@Category");
param.Add(DbFactory.CreateDbParameter("@Category", Category));
}
if (!StringHelper.IsNullOrEmpty(Code))
{
whereSql.Append(@" AND Code=@Code");
param.Add(DbFactory.CreateDbParameter("@Code", Code));
}
if (!StringHelper.IsNullOrEmpty(FullName))
{
whereSql.Append(@" AND FullName like '%" + FullName + "%'");
} whereSql.Append(@" ORDER BY SortCode DESC");
return Factory.FindList(whereSql.ToString(), param.ToArray());
}
}
}
(4)Base_UserBll
using Bobo.DataAccess.DebugLog;
using Bobo.Repository;
using Bobo.Utilities;
using Bobo.Utilities.Membership;
using IA.Entity;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace IA.Business.SystemBusiness
{
/// <summary>
/// 系统用户表
/// </summary>
public class Base_UserBll : RepositoryFactory<Base_User>
{
/// <summary>
/// 用户登录
/// </summary>
/// <param name="Account"></param>
/// <param name="Password"></param>
/// <param name="IPAddressName"></param>
/// <param name="IPAddress"></param>
/// <returns></returns>
public int UserLogin(string Account, string Password, string IPAddressName, string IPAddress)
{
if (!this.IsLinkServer())
{
throw new Exception("服务器连接不上," + DbResultMsg.ReturnMsg);
}
else
{
Base_User entity = Factory.FindEntity("Account", Account);
if (!StringHelper.IsNullOrEmpty(entity) && !StringHelper.IsNullOrEmpty(entity.UserId))
{
if (entity.Password == Md5Helper.CreateMd5(DESEncrypt.Encrypt(Password, BaseFactory.BaseHelper().GetPwodKey()).ToLower(), 32).ToLower())
{ IManageUser imanageuser = new IManageUser();
imanageuser.UserId = entity.UserId;
imanageuser.Account = entity.Account;
imanageuser.UserName = entity.RealName;
imanageuser.Gender = Convert.ToString(entity.Sex);
imanageuser.Code = "System";
imanageuser.LogTime = DateTime.Now;
imanageuser.CompanyId = "系统";
imanageuser.DepartmentId = "系统";
imanageuser.IPAddress = IPAddress;
imanageuser.IPAddressName = IPAddressName;
imanageuser.IsSystem = true;
imanageuser.Password = Md5Helper.CreateMd5(DESEncrypt.Encrypt(Password, BaseFactory.BaseHelper().GetPwodKey()).ToLower(), 32).ToLower();
ManageProvider.Provider.AddCurrent(imanageuser, false);
return 1;//登录成功
}
else
{
return 3;//密码错误
}
}
else
{
return 2;//账户不存在
}
}
} /// <summary>
/// 判断是否连接服务器
/// </summary>
/// <returns></returns>
public bool IsLinkServer()
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT GETDATE()");
DataTable dt = Repository().FindTableBySql(strSql.ToString());
if (dt != null && dt.Rows.Count > 0)
{
return true;
}
else
{
return false;
}
}
}
}