CSLA用户手册.doc_第1页
CSLA用户手册.doc_第2页
CSLA用户手册.doc_第3页
CSLA用户手册.doc_第4页
CSLA用户手册.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目编号项目编号 S codeSmith 用户手册用户手册 卷卷 号号 卷内编号卷内编号 密密 级级 用户使用手册用户使用手册 Version 项 目 承 担 部 门 撰 写 人 签名 完 成 日 期 本文档 使 用部门 主管领导 项目组 客户 市场 维护人员 用户 评审负责人 签名 评 审 日 期 分 类 正式 目目 录录 1 目的目的 3 1 1阅读对象 3 2 软件概述软件概述 3 2 1功能和特点 3 3 软件环境软件环境 3 3 1安装准备 3 4 使用指南使用指南 3 4 1CSLA 业务类 3 4 1 1业务基类 3 4 1 2业务对象创建 3 4 1 3业务对象获取 4 4 1 4业务对象更新 4 4 1 5业务对象新增 5 4 1 6业务对象删除 6 4 2界面层数据绑定 6 4 3界面层 DXERRORPROVIDER设置 7 4 4界面层对象修改保存 7 4 5WCF 服务网站建立 9 4 5 1添加WCF服务网站 9 4 5 2Web config模版 12 用户使用手册codeSmith 用户手册 3 1 目的目的 用户手册 将向用户介绍 CodeSmith5 2 生成 CSLA3 84C 代码的使用 并帮助用户迅速安装和运行 该软件 1 1 阅读对象阅读对象 本手册的编写对象为期开发部开发人员 2 软件概述软件概述 2 1 功能和特点功能和特点 3 软件环境软件环境 3 1 安装准备安装准备 VS2008 4 使用指南使用指南 4 1 CSLA 业务类业务类 4 1 1业务基类 Csla BusinessBase 所有可编辑的业务类都要继承的基类所有可编辑的业务类都要继承的基类 Csla BusinessListBase 所有可编辑的业务集合类都要继承的基类所有可编辑的业务集合类都要继承的基类 Csla ReadOnlyBase 所有只读的业务类都要继承的基类所有只读的业务类都要继承的基类 Csla ReadOnlyListBase 所有只读的业务集合类都要继承的基类所有只读的业务集合类都要继承的基类 4 1 2Csla BusinessBase 4 1 2 1 业务对象创建 RunLocal 在本地执行 提升效率 protected override void DataPortal Create using BypassPropertyChecks 绕过 PropertyChanged 事件和用户权限检查 提升效率 Guid Guid NewGuid Sbvcode 绕过授权检查 并不引发 PropertyChanging PropertyChanged 事件 载入值不会 导致验证规则调用 LoadProperty ddateProperty System DateTime Now CusGUID Guid Empty ValidationRules CheckRules 进行有效性校验 以便一开始就进行一些提醒 用户使用手册codeSmith 用户手册 4 4 1 2 2 业务对象获取 4 1 2 3 业务对象更新 Transactional TransactionalTypes TransactionScope protected override void DataPortal Update TODO update values using var ctx 查询发票主表记录 private void DataPortal Fetch SaleBillVouchCriteria criteria if criteria null return else 使用 ContextManager 管理数据库连接 使用 using 保证代码块内变量在完成后资源释放 使用 GetManager isDatabaseName false 传入连接字符串 using var ctx ContextManager GetManager ADOHelper ConnectionString false 获取父对象 var query ctx DataContext ExecuteQuery select from SaleBillVouch 根据传入 criteria 参数构建 where 条件字符串 ADOHelper BuildLinqWhereStatement criteria StateBag 根据传入 criteria 参数构建 LinQ 参数值数组 ADOHelper LinqParameters criteria StateBag var data from p in query select p Single using BypassPropertyChecks Guid data guid Sbvcode data sbvcode 日期型尽量使用 SmartDate 类型 支持空日期及与有效日期比较 LoadPropertyConvert 将类型转换后附值 LoadPropertyConvert ddateProperty data ddate CusGUID data cusGUID LastChange 一定要获取 LastChange data lastChange ToArray 将 linq 的 Binary 转换为 byte 获取子对象集 LoadProperty saleBillVouchDetailsProperty SaleBillVouchDetailList GetSaleBillVouchDetails data SaleBillVouchDetail ToArray 用户使用手册codeSmith 用户手册 5 ContextManager GetManager ADOHelper ConnectionString false using BypassPropertyChecks var data new DALLinq SaleBillVouch 当前对象数据是否有更改 if IsSelfDirty data guid ReadProperty guidProperty data sbvcode ReadProperty sbvcodeProperty 日期型尽量使用 SmartDate 类型 支持空日期及与有效日期比较 LoadPropertyConvert 将类型转换后附值 data ddate ReadPropertyConvert ddateProperty data cusGUID ReadProperty cusGUIDProperty data lastChange LastChange 以修改状态将实体附加到 System Data Linq DataContext ctx DataContext SaleBillVouch Attach data true 主对象修改保存 一定要将主对象保存后 再做子对象保存 ctx DataContext SubmitChanges 重新完成后 LastChange 一定要重新获取 LastChange data lastChange ToArray 更新子对象数据 FieldManager UpdateChildren this 4 1 2 4 业务对象新增 事务标记 该方法在一个事务里执行 Transactional TransactionalTypes TransactionScope protected override void DataPortal Insert using var ctx ContextManager GetManager ADOHelper ConnectionString false using BypassPropertyChecks var data new DALLinq SaleBillVouch data guid ReadProperty guidProperty 发票主表 ID data sbvcode ReadProperty sbvcodeProperty 发票号 data ddate ReadPropertyConvert ddateProperty data cusGUID ReadProperty cusGUIDProperty 客户编码 ctx DataContext SaleBillVouch InsertOnSubmit data 新增事务 主对象保存后再做子对象集的更新 ctx DataContext SubmitChanges 重新完成后 LastChange 一定要重新获取 LastChange data lastChange ToArray 用户使用手册codeSmith 用户手册 6 FieldManager UpdateChildren this 更新发票子表 4 1 2 5 业务对象删除 Transactional TransactionalTypes TransactionScope private void DataPortal Delete SaleBillVouchCriteria criteria TODO delete values if criteria null return else 清除子对象数据集 this SaleBillVouchDetails Clear 子对象集删除后再做父对象的删除 FieldManager UpdateChildren this using var ctx ContextManager GetManager ADOHelper ConnectionString false var query ctx DataContext ExecuteQuery select from SaleBillVouch ADOHelper BuildWhereStatement criteria StateBag ADOHelper LinqParameters criteria StateBag var data from p in query select p Single 父对象删除 ctx DataContext SaleBillVouch DeleteOnSubmit data ctx DataContext SubmitChanges 用户使用手册codeSmith 用户手册 7 4 1 3Csla BusinessListBase 4 1 3 1 集合业务对象获取 4 1 3 2 集合业务对象重新 父集合对象代码 子对象代码 查询设置列表记录 private void DataPortal Fetch SetingTemplateCriteria criteria if criteria null return RaiseListChangedEvents false 关闭ListChange事件 using var ctx ContextManager GetManager DataBase DataBase KDSystem var query ctx DataContext ExecuteQuery select from Sys SetingTemplate ADOHelper BuildLinqWhereStatement criteria StateBag ADOHelper LinqParameters criteria StateBag var data from p in query select SetingTemplate GetByLinq p 调用子对象Get方法 this AddRange data 将子对象集加入到List对象 RaiseListChangedEvents true 恢复ListChange事件 根据列表父传入Linq对象获取子对象 internal static SetingTemplate GetByLinq KDSystem DataBase Sys SetingTemplate p return DataPortal FetchChild p 一定要通过DataPortal的Fetch方法获 取 以保证获取对象状态IsDirty为True RunLocal 代码本地 服务器端 运行 private void Child Fetch KDSystem DataBase Sys SetingTemplate childData LastChanged childData LastChanged ToArray 一定要获取LastChanged时间戳 LoadProperty gidProperty childData gID LoadProperty setingTypeProperty childData SetingType LoadProperty settingDescProperty childData SettingDesc LoadProperty settingNameProperty childData SettingName LoadProperty defaultValueProperty childData DefaultValue protected override void DataPortal Update 重写DataPortal Update方法 Child Update this 重新子对象 用户使用手册codeSmith 用户手册 8 private void Child Insert object parent using var ctx ContextManager GetManager DataBase DataBase KDSystem true using BypassPropertyChecks var data new Sys SetingTemplate data gID ReadProperty gidProperty ID data SetingType ReadProperty setingTypeProperty data SettingDesc ReadProperty settingDescProperty data SettingName ReadProperty settingNameProperty data DefaultValue ReadProperty defaultValueProperty ctx DataContext Sys SetingTemplate InsertOnSubmit data 新增事务 主对象保存后再做子对象集的更新 ctx DataContext SubmitChanges 重新完成后LastChange一定要重新获取 LastChanged data LastChanged ToArray private void Child Update object parent using var ctx ContextManager GetManager DataBase DataBase KDSystem true using BypassPropertyChecks if IsSelfDirty var data new Sys SetingTemplate data LastChanged LastChanged data gID ReadProperty gidProperty ID data SetingType ReadProperty setingTypeProperty data SettingDesc ReadProperty settingDescProperty data SettingName ReadProperty settingNameProperty data DefaultValue ReadProperty defaultValueProperty ctx DataContext Sys SetingTemplate Attach data true 主对象保存后再做子对象集的更新 ctx DataContext SubmitChanges 重新完成后LastChange一定要重新获取 LastChanged data LastChanged ToArray 用户使用手册codeSmith 用户手册 9 界面集合对象保存代码 4 2 界面层数据绑定界面层数据绑定 根业务对象 BindingSource DataSource 可以为单单 CSLA 对象也可以为对象也可以为 List 对象对象 private void Child DeleteSelf object parent DataPortal Delete new SetingTemplateCriteria Gid this Gid Transactional TransactionalTypes TransactionScope protected void DataPortal Delete SetingTemplateCriteria criteria TODO delete values if criteria null return else using var ctx ContextManager GetManager DataBase DataBase KDSystem true var query ctx DataContext ExecuteQuery select from Sys SetingTemplate ADOHelper BuildLinqWhereStatement criteria StateBag ADOHelper LinqParameters criteria StateBag var data from p in query select p Single 父对象删除 ctx DataContext Sys SetingTemplate DeleteOnSubmit data ctx DataContext SubmitChanges private void SaveData bsSetingTemplate EndEdit SetingTemplateList SetingTemplateList Save 一定要将保存后的对象返回 bsSetingTemplate DataSource SetingTemplateList 一定要重新绑定BindingSource 用户使用手册codeSmith 用户手册 10 子业务对象 BindingSource DataSource 为父 BindingSource DataMember 为子对象 通过该方式自动实现多层业务对象绑定及数据联动 4 3 界面层界面层 DXErrorProvider 设置设置 DataSource 为根 BindingSource 通过该方式可以自动将 CSLA 对象及其子对象的效验错误信息显示在界面控件 4 4 界面层对象修改保存界面层对象修改保存 程序尽量设计为每次修改保存单个对象 保存重新绑定对象 是否保存 是否重新绑定 private void RebindUI bool saveObject bool rebind 用户使用手册codeSmith 用户手册 13 关闭BindingSource的更新事件disable events this projectBindingSource RaiseListChangedEvents false this resourcesBindingSource RaiseListChangedEvents false try unbind the UI 取消子对象绑定 UnbindBindingSource this resourcesBindingSource saveObject false 取消根对象绑定 UnbindBindingSource this projectBindingSource saveObject true 取消子对象绑定 this resourcesBindingSource DataSource this projectBindingSource save or cancel changes if saveObject 对象完成修改 project ApplyEdit try 对象保存后一定要重新获取保存后的对象 project project Save catch Csla DataPortalException ex MessageBox Show ex BusinessException ToString Error saving MessageBoxButtons OK MessageBoxIcon Exclamation catch Exception ex MessageBox Show ex ToString Error Saving MessageBoxButtons OK MessageBoxIcon Exclamation Else 对象取消修改 project CancelEdit 不管是否保存成功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论