数据字典重写SaveResultEx UpdateEx方法手动控制事务自动生成流水号

  数据字典重写SaveResultEx UpdateEx方法手动控制事务自动生成流水号

本文适用于数据字典窗体根据某个字段类型自动生成改类型的流水序号。

比如产品类型是:
AB,生成AB0000001的序号。
ZZ,生成ZZ0000001的序号。


解决方案:


1. 重写DAL层的UpdateEx方法


C# Code:


/// <summary>
/// 数据字典:手动控制事务及自动生成流水号
/// </summary>
/// <param name="data">用户提交的数据</param>
/// <returns></returns>
public override SaveResultEx UpdateEx(DataSet data)
{
  _UserManualControlTrans
= true;
  
  SaveResultEx result
= new SaveResultEx((int)ResultID.SUCCESS, "");
  
  
try
  {
    
this.BeginTransaction();//启动事务
    

    
string dataCode = "";
    DataTable summary
= data.Tables[tb_CommonDataDict.__TableName];//取出主表数据
    
if (summary.Rows[0].RowState == DataRowState.Added) //新增记录,设主键
    
{
    
string dataType = ConvertEx.ToString(summary.Rows[0][tb_CommonDataDict.DataType]);//取数据类型
    
dataCode = DocNoTool.GetDataSN(_CurrentTrans, dataType, true);//在同一事务内取流水号
    
summary.Rows[0][tb_CommonDataDict.DataCode] = dataCode;//自动生成流水号
    
}
    
else
    {
      dataCode
= ConvertEx.ToString(summary.Rows[0][tb_CommonDataDict.DataCode]);
    }
    
    result
= base.UpdateEx(data);//提交数据
    
result.PrimaryKey = dataCode;//返回自动生成的主键
    

    
this.CommitTransaction();//提交事务
    
}
    
catch
    {
      
this.RollbackTransaction();//回滚
      
}
      
      
return result;
    }
    
    
//来源:C/S框架网 | www.csframework.com | QQ:23404761


2. 重写界面层的DoSave方法


C# Code:

public override void DoSave(IButtonInfo sender)
{
  
//调用基类提供的保存方法
  
base.DoSaveEx(sender);
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761





C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务



版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

数据字典SaveResultEx UpdateEx方法手动控制事务自动生成流水号
实例:数据字典自动生成流水号
增值功能:数据字典自动生成流水号解决方案
数据字典窗体根据某个字段类型自动生成改类型的流水序号
数据字典基础资料窗体主键设置为自动生成流水号码解决方案
DAL层Update方法手工启动事务
高级版V3.0-公共数据字典出现重复启动事务导致异常
手动自动生成业务单据号码UpdateKeyMode详解(1)
代码生成器生成数据字典窗体可支持流水号
数据字典窗体bllBaseDataDict类详解
数据字典开发灵活吗?能不能做到根据表结构定义自动生成
生成流水号,数字序号可以指定长度,SP下载
数据字典表建议屏蔽GetSummaryData方法
2.9生成字典窗体 (单表数据管理界面)
C/S开发框架教程:使用基础资料(数据字典)的DAL层更新主从表(或多表)数据
主窗体模块列表没有翻译多语言 - SetLanguage方法自定义显示多语言
数据字典窗体继承关系图/数据字典窗体逻辑关系图
C/S框架后台数据更新模型之ORM自动生成SQL基本原理
公共字典数据扩展
新增记录时自动生成记录的序号号码(或单据号码)并填充文本框