欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

利用add-in扩展性将代码生成器集成到VS环境中(五)-生成BLL层代码

创建时间:2012年12月26日 16:09  阅读次数:(4873)
分享到:
BLL层只是对DAL层方法的一个引用,简单多了。源码如下:
public class SetBLL
{
private TextSelection ts;
private TableFrame tableframe;
private string namespacestr;
private string bllname;
private string modelname;
private string dalname;
private string folder;

public SetBLL(TextSelection _ts, TableFrame _tableframe, string _namespacestr, string _bllname, string _modelname, string _dalname, string _folder)
{
    this.ts = _ts;
    this.tableframe = _tableframe;
    this.namespacestr = _namespacestr;
    this.bllname = _bllname;
    this.modelname = _modelname;
    this.dalname = _dalname;
    this.folder = _folder;
}

public void SetText()
{
    ts.SelectAll();
    ts.Text = GetText().ToString();
}

public StringBuilder GetText()
{
    StringBuilder _str = new StringBuilder();

    _str.Append("/*using System;").Append("\n");
    _str.Append("using System.Data;").Append("\n");
    _str.Append("using System.Collections.Generic;").Append("\n");
    _str.Append("using System.Collections;").Append("\n");
    _str.Append("using System.Text;").Append("\n");

    _str.Append("namespace ").Append(namespacestr).Append(".").Append(bllname).Append(".").Append(folder).Append("\n");
    _str.Append("{").Append("\n").Append("\n");

    _str.Append("public class ").Append(tableframe.TableName).Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("private readonly ").Append(namespacestr).Append(".").Append(dalname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append(" dal = new ").Append(namespacestr).Append(".").Append(dalname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append("();").Append("\n").Append("\n");

    tools.SetNoteStr(_str, "是否存在该记录");
    _str.Append("public bool Exists(");
    _str.Append(tools.GetPrimaryKeysStr(tableframe.KeysItems));
    _str.Append(")").Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("return dal.Exists(");
    _str.Append(tools.GetPrimaryKeysNoTypeStr(tableframe.KeysItems));
    _str.Append(");").Append("\n");
    _str.Append(" }").Append("\n").Append("\n");


    tools.SetNoteStr(_str, "得到一个对象实体");
    _str.Append("public ").Append(namespacestr).Append(".").Append(modelname).Append(".").Append(folder).Append(".").Append(tableframe.TableName).Append(" GetModel(");
    _str.Append(tools.GetPrimaryKeysStr(tableframe.KeysItems));
    _str.Append(")").Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("return dal.GetModel(");
    _str.Append(tools.GetPrimaryKeysNoTypeStr(tableframe.KeysItems));
    _str.Append(");").Append("\n");
    _str.Append("}").Append("\n").Append("\n");

    tools.SetNoteStr(_str, "更新一条数据");
    _str.Append(" public DictionaryEntry Update_DictionaryEntry(");
    _str.Append(namespacestr).Append(".").Append(modelname).Append(".").Append(folder).Append(".").Append(tableframe.TableName);
    _str.Append(" model)").Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("if (Exists(");

    StringBuilder keystr = new StringBuilder();
    foreach (TableColumn col in tableframe.KeysItems)
    {
        keystr.Append("model.").Append(col.ColumnName).Append(",");
    }
    _str.Append(keystr.ToString().Substring(0, keystr.Length - 1));

    _str.Append("))").Append("\n");
    _str.Append("return dal.Update_DictionaryEntry(model);").Append("\n");
    _str.Append("else").Append("\n");
    _str.Append("return dal.Add_DictionaryEntry(model);").Append("\n");
    _str.Append("}").Append("\n").Append("\n");


    tools.SetNoteStr(_str, "更新一条数据状态");
    _str.Append("public DictionaryEntry ChangeState_DictionaryEntry(");
    _str.Append(tools.GetPrimaryKeysStr(tableframe.KeysItems));
    _str.Append(", string State, string Auditer, DateTime AuditDate)").Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("return dal.ChangeState_DictionaryEntry(");
    _str.Append(tools.GetPrimaryKeysNoTypeStr(tableframe.KeysItems));
    _str.Append(", State, Auditer, AuditDate);").Append("\n");
    _str.Append("}").Append("\n").Append("\n");


    tools.SetNoteStr(_str, "删除一条数据");
    _str.Append("public DictionaryEntry Delete_DictionaryEntry(");
    _str.Append(tools.GetPrimaryKeysStr(tableframe.KeysItems));
    _str.Append(")").Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("return dal.Delete_DictionaryEntry(");
    _str.Append(tools.GetPrimaryKeysNoTypeStr(tableframe.KeysItems));
    _str.Append(");").Append("\n");
    _str.Append("}").Append("\n").Append("\n");

    tools.SetNoteStr(_str, "获得数据列表");
    _str.Append("public DataTable GetList(string strWhere)").Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("return dal.GetList(strWhere).Tables[0];").Append("\n");
    _str.Append("}").Append("\n").Append("\n");

    tools.SetNoteStr(_str, "获得表单编号");
    _str.Append("public string GetPrimaryKey()").Append("\n");
    _str.Append("{").Append("\n");
    _str.Append("return new Common().setReceiptsID(");
    StringBuilder keystr_2 = new StringBuilder();
    foreach (TableColumn col in tableframe.KeysItems)
    {
        keystr_2.Append("\"").Append(col.ColumnName).Append("\",");
    }
    _str.Append(keystr_2.ToString().Substring(0, keystr_2.Length - 1));
    _str.Append(");\n");
    _str.Append("}").Append("\n");
    _str.Append("}").Append("\n");
    _str.Append("}").Append("\n");

    return _str;
}
}

(完)
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 44+53=? 的结果(结果是:97)
结  果: