一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实例一个模块(商品字典)...

  本文是一步一步教你使用AgileEAS.NET基础进行应用开发系统的WinForm应用篇的开篇,从本文起开始大家将看到一个距离真实应用非常接的开发案例。

商品字典管理

         商品字典管理完成产品进销存业务业务中用到的基础信息,产品字典的增加、修改、删除等业务,它不是一个进销存在主体业务,只是用于为主体业务提供基础支持的一个辅助业务。

功能和界面预览

         商品字典管理完成产品进销存业务业务中用到的基础信息,产品字典的增加、修改、删除等业务,它不是一个进销存在主体业务,只是用于为主体业务提供基础支持的一个辅助业务。

image

         字典查询:根据产品编码或者产品名称的拼音简码检索数据库与之匹配的产品字典数据,并且显示的数据列表之上。

         查询结果打印:将满足查询的结果打印输出,演示报表的使用。

         添加新的产品字典:调用产品字典添加界面向系统中增加一个新的产品字典。

         修改现有产品字典:调用产品字典修改界面修改指定的产品字典记录。

         删除现有产品字典:删除系统中已经存在的某个产品字典。

代码的重新生成

         现在我们可以来看看如何实现,不过,我们在看这个实现之前先插入一个小插曲,我们来看看我们的数据查询需求,“根据产品编码或者产品名称的拼音简码检索数据库与之匹配的产品字典数据”显然是不满足这个需求的,我们此前定义的数据结构之中没有定义拼音简码,我们现在来增加上,并且修正此前定义的几个bug。

WG[YF_6C1I3NS40`E%V18M4

         然后重新生成代码,输出目录选择本解雇方案代码目录,不要选中“生成解雇方案”:

image
          因为生成的代码采用了分部的的结构,数据层中与数据表、实体定义相关的对象定义信息都保存的项目的Generat目录下的名称带有Generat的代码文件中,而自定义的数据层业务逻辑被保存在项目目录中的不带Generat的代码文件之中,也就是说,当数据对象的定义发生变更并且重新生成代码文件后,不会覆盖我们编写的自定义处理,只覆盖与数据对象定义相关的代码文件,以保护程序员的投资。

实现我们的业务

         对于字典的查询业务处理,我们需要在数据层接口IProductList编写一个数据查询方法void GetProductList(string code)并在SQLServer实现层项目中实现这个定义: 

 

复制代码
1           public   void  GetProductList( string  code)
2          {
3              Condition condition  =   this .CreateCondition();
4              condition.AddElement( " CODE " , code, ElementType.MatchPrefix);
5              condition.AddElement( " PYCODE " , code, ElementType.MatchPrefix,ElementCombineType.Or);
6              condition.AddOrderElement( " IDN " true );
7               this .Query(condition);
8          }
复制代码

 

         UI代码之中增加一个查询结果显示代码:

 

复制代码
 1           internal   void  LoadDictList()
 2          {
 3              IProductList dictList  =  DALHelper.DALManager.CreateProductList();
 4              dictList.GetProductList( this .tbSeach.Text);
 5 
 6               try
 7              {
 8                   this .Cursor  =  Cursors.WaitCursor;
 9                   this .lvInfo.BeginUpdate();
10                   this .lvInfo.Tag  =  dictList;
11                   this .lvInfo.Items.Clear();
12                   foreach  (IProduct dict  in  dictList.Rows)
13                  {
14                      ListViewItem item  =   new  ListViewItem( new   string [] {  string .Empty, dict.Code, dict.Name, dict.Spec, dict.Unit,dict.PYCode, dict.Description },  0 );
15                      item.Tag  =  dict;
16                       this .lvInfo.Items.Add(item);
17                  }
18              }
19               finally
20              {
21                   this .lvInfo.EndUpdate();
22                   this .Cursor  =  Cursors.Default;
23              }
24          }
复制代码

 

         字典的添加与修改处理,我们在UI层中增加如下窗体:

%7I{P[[3[]9ERAYCE{X)Z1J

         并增加如下数据显示与写回代码:

代码

 

         字典的删除业务,我们安排在当选择某个商品字典之后可以通过工具条或者快捷菜单中的“删除”完成操作,我们来看看其处理代码:

 

代码

 

我们来编译并且运行这个示例:

image 

           有关本例子所涉及的数据表结构请参考基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义一文,有关数据对象模型定义文件、文档、DDL脚本请下载:http://files.cnblogs.com/eastjade/demo.db.doc.sql.rar,本文完整代码下载:Product.Demo.rar

 

链接

一步一步教你使用AgileEAS.NET基础类库进行应用开发-系列目录

AgileEAS.NET平台开发指南-系列目录

AgileEAS.NET应用开发平台介绍-文章索引

AgileEAS.NET平台应用开发教程-案例计划

AgileEAS.NET官方网站

敏捷软件工程实验室

QQ群:116773358


作者:魏琼东 
出处:http://www.cnblogs.com/eastjade
关于作者:有13年的软件从业经历,专注于中小软件企业软件开发过程研究,通过在技术与管理帮助中小软件企业实现技术层面开源节流的目的。熟悉需求分析、企业架构、项目管理。现主要从事基于AgileEAS.NET平台的技术咨询工作,主要服务于医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。如有问题或建议,请多多赐教! 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过mail.james@qq.com 联系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨论,非常感谢。


    本文转自魏琼东博客园博客,原文链接:http://www.cnblogs.com/eastjade/archive/2010/10/12/1845509.html,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值