CSFrameworkV6 - 基础资料窗体 - 扩展Update方法保存多个表
CSFrameworkV6 - 基础资料窗体 - 扩展Update方法保存多个表Form代码
C# Code:
//明细表数据源
var detail = gcDetail.DataSource as List<dt_DocRef>;
var result = _BLL.Update(_BLL.DataBinder, detail);//更新主表和明细
if (result)
{
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
var detail = gcDetail.DataSource as List<dt_DocRef>;
var result = _BLL.Update(_BLL.DataBinder, detail);//更新主表和明细
if (result)
{
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
DAL层代码
C# Code:
/// <summary>
/// 基础资料窗体保存扩展方法演示
/// </summary>
/// <param name="master">主表</param>
/// <param name="detail">明细表</param>
/// <returns></returns>
public bool Update(dt_Doc master, List<dt_DocRef> detail)
{
var q1 = _Database.GetQueryable<dt_Doc>();
var q2 = _Database.GetQueryable<dt_DocRef>();
//查询主键是否存在,不存在既为新增!
var isAdd = master.isid.IsEmpty() || (!q1.Any(a => a.isid == master.isid));
if (isAdd)
{
master.isid = IdHelper.GetId();
master.DocNo = DocNoHelper.GetDataSN(_Database, "DC", true, 6);//生成序号
}
//设置明细表外键
foreach (var d in detail)
{
if (d.DocNo.IsEmpty()) d.DocNo = master.DocNo;
}
//事务
return _Database.RunTransaction(() =>
{
//保存主表
if (isAdd)
_Database.Add(master);
else
_Database.Update(master);
//先删除明细表
_Database.Remove<dt_DocRef>(w => w.DocNo == master.DocNo);
//保存明细表
_Database.Add(detail);
});
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// <summary>
/// 基础资料窗体保存扩展方法演示
/// </summary>
/// <param name="master">主表</param>
/// <param name="detail">明细表</param>
/// <returns></returns>
public bool Update(dt_Doc master, List<dt_DocRef> detail)
{
var q1 = _Database.GetQueryable<dt_Doc>();
var q2 = _Database.GetQueryable<dt_DocRef>();
//查询主键是否存在,不存在既为新增!
var isAdd = master.isid.IsEmpty() || (!q1.Any(a => a.isid == master.isid));
if (isAdd)
{
master.isid = IdHelper.GetId();
master.DocNo = DocNoHelper.GetDataSN(_Database, "DC", true, 6);//生成序号
}
//设置明细表外键
foreach (var d in detail)
{
if (d.DocNo.IsEmpty()) d.DocNo = master.DocNo;
}
//事务
return _Database.RunTransaction(() =>
{
//保存主表
if (isAdd)
_Database.Add(master);
else
_Database.Update(master);
//先删除明细表
_Database.Remove<dt_DocRef>(w => w.DocNo == master.DocNo);
//保存明细表
_Database.Add(detail);
});
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

参考文档:
CSFrameworkV6|主从表基础资料窗体扩展【复制】按钮|C/S开发框架
CSFrameworkV6旗舰版 | 基础资料窗体改装主从子表(多级明细表)解决方案|C/S开发框架
CSFrameworkV6旗舰版 | 单表基础资料窗体完整C#源码|C/S开发框架
CSFrameworkV6 - 单表基础资料关于res扩展模型处理方案
CSFrameworkV6 - 基础资料窗体 - ValidatingData / CheckNoExists方法使用
CSFrameworkV6试用版开发指南 | GetDataByKey 方法使用与扩展应用|C/S开发框架
CSFrameworkV6 - .NET敏捷开发之道 - Exception异常扩展类
CSFrameworkV6 - 基础资料窗体 - ShowSummary方法使用
CSFrameworkV6旗舰版 | 多语言及国际化|C/S开发框架
CSFrameworkV6旗舰版 | 主从子表(多级明细表)设计方案|C/S开发框架
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
CSFrameworkV6旗舰版 | 业务单据复制功能,支持复制多级明细表|C/S开发框架
CSFrameworkV6旗舰版 - 业务单据复制功能,支持复制多级明细表
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6|主从表基础资料窗体扩展【复制】按钮|C/S开发框架
CSFrameworkV6旗舰版 | 基础资料窗体改装主从子表(多级明细表)解决方案|C/S开发框架
CSFrameworkV6旗舰版 | 单表基础资料窗体完整C#源码|C/S开发框架
CSFrameworkV6 - 单表基础资料关于res扩展模型处理方案
CSFrameworkV6 - 基础资料窗体 - ValidatingData / CheckNoExists方法使用
CSFrameworkV6试用版开发指南 | GetDataByKey 方法使用与扩展应用|C/S开发框架
CSFrameworkV6 - .NET敏捷开发之道 - Exception异常扩展类
CSFrameworkV6 - 基础资料窗体 - ShowSummary方法使用
CSFrameworkV6旗舰版 | 多语言及国际化|C/S开发框架
CSFrameworkV6旗舰版 | 主从子表(多级明细表)设计方案|C/S开发框架
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
CSFrameworkV6旗舰版 | 业务单据复制功能,支持复制多级明细表|C/S开发框架
CSFrameworkV6旗舰版 - 业务单据复制功能,支持复制多级明细表
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
