DAL组件重写的技术很好,能让用户完全按照自己项目需要 生成不同格式的DAL层,而不需要生成后一个一个去改。
但是现在BLL层 还没有组件重写扩展。。很不方便吧 因为主要逻辑代码还是在BLL里 虽然每个表(类)可能逻辑不同 但是增删改查还是一样的
如果每个都要去手动修改的话 会更加烦琐 下面代码是我基于最前发的基于存储过程拼接字符串DAL 修改的BLL层。。这样在BLL可以更灵活的增加各
种页面需求的数据操作 可以看看下面红色的代码 很多东西不需要整表更新 这样做的好处不需要更改DAL层的东西可以灵活页面逻辑需求代码
下面BLL类 有很多可以生成的 所以急需要BLL组件的重写源码 和接口
希望天平哥早日放出 永远支持动软生成器。。。
using System;
using System.Data;
using SPA.Model;
namespace SPA.BLL
{
///
/// 业务逻辑类---管理员 对应表名:tb_Admin
///
public class BLL_Admin
{
private readonly SPA.DAL.DAL_Admin dal = new SPA.DAL.DAL_Admin();
private string _tableName = "tb_Admin";
private string _where = "";
private string _fieldsAndValues = "";
private string _fields = "";
private string _values = "";
public BLL_Admin()
{ }
#region 成员属性
public string TableName
{
get { return _tableName; }
}
public string FieldsAndValues
{
get { return _fieldsAndValues; }
set { _fieldsAndValues = value; }
}
public string Where
{
get { return _where; }
set { _where = value; }
}
public string Fields
{
get { return _fields; }
set { _fields = value; }
}
public string Values
{
get { return _values; }
set { _values = value; }
}
#endregion
#region 成员方法
///
/// 增加一条数据
///
public int Add(SPA.Model.Model_Admin model)
{
Fields = " Ad_Accounts,Ad_Password,Ad_NickName,Ad_StartDate,Ad_IsLock";
Values = string.Format("'{0}','{1}','{2}','{3}',{4}",
model.Ad_Accounts, model.Ad_Password, model.Ad_NickName, model.Ad_StartDate, model.Ad_Islock ? 0 : 1);
return dal.Admin_Insert(TableName, Fields, Values);
}
///
/// 更新所属角色和称呼 密码 锁定登录
///
public int Update(SPA.Model.Model_Admin model)
{
FieldsAndValues = string.Format(" Ad_NickName='{0}',Ad_Password='{1}',Ad_IsLock={2}", model.Ad_NickName, model.Ad_Password, model.Ad_Islock ? 0 : 1);
Where = string.Format(" Admin_Id={0}", model.Admin_Id);
return dal.Admin_Updata(TableName, FieldsAndValues, Where);
}
///
/// 删除一条数据
///
public int Delete(int Admin_Id)
{
Where = "Admin_Id=" + Admin_Id;
return dal.Admin_Delete(TableName, Where);
}
///
/// 更新IP地址And登录时间
///
public int UpdateIPAndDate(SPA.Model.Model_Admin model)
{
FieldsAndValues = string.Format(" Ad_LoginIP='{0}',Ad_LoginDate='{1}'", model.Ad_LoginIP, model.Ad_LoginDate);
Where = string.Format(" Admin_Id={0}", model.Admin_Id);
return dal.Admin_Updata(TableName, FieldsAndValues, Where);
}
///
/// 验证帐号密码是否正确
///
public bool ValidateAdmin(string Ad_Accounts, string Ad_Password)
{
bool ReturnValue = false;
if (SPA.Common.StringPlus.ProcessSqlStr(Ad_Accounts))
{
return ReturnValue;
}
try
{
ReturnValue = dal.Verify(Ad_Accounts, SPA.Common.DESEncrypt.Encrypt(Ad_Password));
return ReturnValue;
}
catch (Exception)
{
return ReturnValue;
}
}
///
/// 根据用户帐号获得角色编号列表
///
public string GetRoleIDByName(string Ad_Accounts)
{
return dal.GetRoleIDByName(Ad_Accounts);
}
///
/// 根据对象编号获得对象实例
///
public Model_Admin GetModel(int Admin_Id)
{
return dal.GetModel(Admin_Id);
}
///
/// 获得数据列表
///
public DataSet GetAllList()
{
return dal.GetList();
}
///
/// 获取分页数据列表
///
public DataSet GetPagingList(QueryParam qp, out int RecordCount)
{
return dal.GetList(qp, out RecordCount);
}
#endregion 成员方法
}
}