using Genersoft.Fms.Center.Pub.Com;
using Genersoft.Platform.AdpBizIntegration.Entity;
using Genersoft.Platform.AppFramework.Service;
using Genersoft.Platform.Core.Common;
using Genersoft.Platform.Core.DataAccess;
using Genersoft.Platform.Core.Error;
using Genersoft.Platform.Engine.DataAccess.ClientSPI;
using Genersoft.Platform.Resource.Metadata.Common;
using Genersoft.Platform.Resource.Metadata.DataModel;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Genersoft.SZYD.SXTB
{
class SXQDTBFormDataAccess :FMSFormDataAccess
{
#region 卡片表单

#region 新增前

/// <summary>
/// 重写新增前检查
/// 注意此方法是在新增后点击保存时触发
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">表单数据</param>
protected override void BeforeAddObjectInTransaction(GspDataModel dataModel, DataSet data)
{
string errorMessage = string.Empty;
if (!CheckBeforeSave(dataModel, data, out errorMessage))
{
throw new GSPException(errorMessage, ErrorLevel.Info);
}
base.BeforeAddObjectInTransaction(dataModel, data);
}

#endregion

#region 新增后

/// <summary>
/// 重写新增后
/// 注意此方法是在新增后点击保存时触发
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">表单数据</param>
protected override void AfterAddObjectInTransaction(GspDataModel dataModel, DataSet data)
{
base.AfterAddObjectInTransaction(dataModel, data);
}

#endregion

#region 保存前

/// <summary>
/// 重写保存前
/// 注意新增后的保存不会触发,会触发BeforeAddObjectInTransaction
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">表单数据</param>
protected override void BeforeSaveObjectInTransaction(GspDataModel dataModel, DataSet data)
{
string errorMessage = string.Empty;
if (!CheckBeforeSave(dataModel, data, out errorMessage))
{
throw new GSPException(errorMessage, ErrorLevel.Info);
}
base.BeforeSaveObjectInTransaction(dataModel, data);
}

#endregion

#region 保存后

/// <summary>
/// 重写保存后
/// 注意新增后的保存不会触发,会触发AfterAddObjectInTransaction
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">表单数据</param>
protected override void AfterSaveObjectInTransaction(GspDataModel dataModel, DataSet data)
{
base.AfterSaveObjectInTransaction(dataModel, data);
}

#endregion

#region 删除前

/// <summary>
/// 重写删除前
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">模型数据</param>
/// <param name="dataID">内码</param>
protected override void BeforeRemoveObjectInTransaction(GspDataModel dataModel, DataSet data, object dataID)
{
base.BeforeRemoveObjectInTransaction(dataModel, data, dataID);
}

#endregion

#region 删除后

/// <summary>
/// 重写删除后
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">模型数据</param>
/// <param name="dataID">内码</param>
protected override void AfterRemoveObjectInTransaction(GspDataModel dataModel, DataSet data, object dataID)
{
base.AfterRemoveObjectInTransaction(dataModel, data, dataID);
}

#endregion

#region 保存前检查

/// <summary>
/// 保存前检查
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">模型数据</param>
/// <param name="errorMessage">错误信息</param>
/// <returns>检查结果</returns>
private bool CheckBeforeSave(GspDataModel dataModel, DataSet data, out string errorMessage)
{
errorMessage = string.Empty;
return true;

}

#endregion

#endregion

#region 列表表单

#region 列表取数

/// <summary>
/// 列表表单取数扩展
/// </summary>
/// <param name="dataModelID">数据模型ID</param>
/// <param name="filter">表单中加的过滤条件</param>
/// <param name="queryType">查询类型</param>
/// <param name="policy">策略</param>
/// <param name="otherParam">其他参数</param>
/// <param name="dataContext">表单传值</param>
/// <returns></returns>
public override DataSet GetObjectsXmlByOtherParam3(string dataModelID, ref GSPFilter filter, DataQueryType queryType, IQueryFilterPolicy policy, WebSolutionContext otherParam, JObject dataContext)
{
//解析出表单中加的过滤条件
List<Express> lstCondition = ExpressParser.ParserExpression(filter.FilterCondition);

return base.GetObjectsXmlByOtherParam3(dataModelID, ref filter, queryType, policy, otherParam, dataContext);
}

#endregion

#region 批量删除前

/// <summary>
/// 重写批量删除前
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">模型数据</param>
/// <param name="condition">过滤条件</param>
protected override void BeforeRemoveObjectsInTransaction(GspDataModel dataModel, DataSet data, string condition)
{
base.BeforeRemoveObjectsInTransaction(dataModel, data, condition);
}

#endregion

#region 批量删除后

/// <summary>
/// 重写批量删除后
/// </summary>
/// <param name="dataModel">数据模型</param>
/// <param name="data">模型数据</param>
/// <param name="condition">过滤条件</param>
protected override void AfterRemoveObjectsInTransaction(GspDataModel dataModel, DataSet data, string condition)
{
base.AfterRemoveObjectsInTransaction(dataModel, data, condition);
}

#endregion

#endregion
}
}

??????FormDataAccess的更多相关文章

随机推荐

  1. ubuntu 的 apt 命令

    工作原理 apt 全称 advanced packaging tool 是 ubuntu 下的包管理工具 apt 采用集中式仓储机制来管理软件,有 软件安装包 和 软件安装列表 两部分完成. 使用 a ...

  2. php 反序列化字符串逃逸

    这里总结一下反序列化字符串逃逸的知识点 反序列化字符串逃逸分为 被过滤后字符增多和字符减少的情况 这里就不讲之前的基础知识了 大家看其它师傅写的博客就可以了 很多师傅的文章写的都很细 现在直接就开始进 ...

  3. vue打包添加时间戳,实现更新项目自动清除缓存

    本来vue打包会自动用chunkhash来解决缓存问题,但是部分浏览器不会自动更新,因此可以通过后面t=${ }的不同来实现自动重新加载文件,保持最新的界面 (1).webpack打包:修改build ...

  4. py13函数迭代器与生成器

    """什么是迭代器 迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 为什么要用 迭代器给你提供了一种不依赖于索引取值的方式 如何用 ...

  5. 升级安装cuda

    下载驱动: https://www.nvidia.com/Download/Find.aspx 在这里下载并按照指导安装: https://developer.nvidia.com/cuda-down ...

  6. windows下运行.sh文件

    1.安装git,配置git环境(D:\Tools\Git\cmd) .cmd命令检查是否安装成功(git --version). 2.打开Git Bash窗口,命令运行.sh文件. 3.运行.sh文件 ...

  7. XSS - Cross Site Scripting

    origin url: https://www.synopsys.com/glossary/what-is-csrf.html#:~:text=Definition,has in an authent ...

  8. Docker 使用阿里云加速拉取官方镜像

    首先登陆阿里云容器镜像服务控制台,在左侧导航栏选择镜像工具 > 镜像加速器,在镜像加速器页面获取镜像加速地址. 例如: 加速器地址:[系统分配前缀].mirror.aliyuncs.com 配置 ...

  9. WSL2 网络异常排查 [ping 不通、网络地址异常、缺少默认路由、被宿主机防火墙拦截]

    最近在使用的 wsl2 的时候突然发现 wsl2 无法正常联网,即 ping 不通外网以及宿主机的 wsl 网卡.但是将 wsl 版本设置为 1 就可以联网了. 如果你是正常使用的时候,并且自己没有手 ...

  10. rn项目下载@ant-design/react-native时发生冲突

    rn项目,使用npm i @ant-design/react-native下载antd. 下载依赖时报错: 如果你也遇到这个问题,直接告诉你结论,那就是最新的@ant-design/react-nat ...