- RunTempate("Interface.cst","server=(local);uid=sa;pwd=holiday;database=TS","Employee","IEmployeeManager.cs)
- RunTempate("Manager.cst","server=(local);uid=sa;pwd=holiday;database=TS","Employee","EmployeeManager.cs);
每行产生一个代码文件,接口层和数据访问层立即产生完成。
数据字典
对于不变的数据字典,比如帐户的借方和贷方,程序员每天的工作分类项:Bug或Enhacement。对于这类不变的数据字典,Enterprise Solution以下面的方式处理它们。
先来看界面层的代码,看看最终的开发人员,需要以何种方式应用数据字典。以客户组别为例子
- <ext:DropDownList ID="ddlCustomerGroup" Label="Customer Group" runat="server"> </ext:DropDownList>
后台代码如下所示,也相当的简练
- ddlCustomerGroup.InitializeValueListFromEnum(typeof(CustomeGroup));
在此,我并没有直接扩展DropDownList的代码,而是加入扩展方法,它的实现方法如下所示
- public static class DataBindingHelper
- {
- public static void InitializeValueListFromEnum(this ExtAspNet.DropDownList dropDownList, Type enumType)
- {
- dropDownList.Items.Clear();
- foreach (KeyValuePair<string, string> item in StringEnum.GetValueStringList(enumType))
- {
- ExtAspNet.ListItem listitem = new ExtAspNet.ListItem(item.Value, item.Key);
- dropDownList.Items.Add(listitem);
- }
- }
代码的意图相对简单,依据参数的枚举值分别产生ListItem达到生成数据字典项的目的。枚举CustomerGroup的定义
- public enum CustomeGroup
- {
- [StringValue("Partner")]
- [DisplayText("Partner")]
- Partner,
- [StringValue("Supplier")]
- [DisplayText("Supplier")]
- Supplier
- }
StringValue和DisplayText分别用于ListItem的ValueItem和TextItem,用于显示和实际的值。
对于需要从数据库中取出的数据字典,Enterprise Solution框架暂未提供很方便的方法来完成绑定。依照基本的方法,读取字段值,绑定到DropDownList中,过程也不复杂。
ExtAspNet控件扩展
E