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. 2023-03-01 Error: Invalid hook call.Hooks can only be called inside of the body of a function component.

    问题描述:rn项目使用钩子useState,详细报错如下: Error: Invalid hook call. Hooks can only be called inside of the body ...

  2. 【AD21】软件基础

    1.AD21最后生成什么文件打板子? 生成gerber文件 2.一个工程包括什么? 原理图库,原理图,PCB库,PCB 3.距离单位? 默认是mil,1mm约为40mil 4.软件中PCB层? 表层焊 ...

  3. 51电子-STC89C51开发板:汇编教程

    全部内容请点击目录列表查看: 51电子-STC89C51开发板:<目录> ---------------------------  正文开始  ---------------------- ...

  4. 关于protobuf报错'tr1/unordered_map' file not found

    这个问题的话,查了很多资料,总的来说就是C++版本的问题,新版本的namespace结构变化了,C++库的层级结构变化了 1.config.h HASH_MAP_H    HASH_SET_H 新版本 ...

  5. 使用 docker-compose 安装 es、kibana、mysql、redis、kafka

    由于经常的安装虚拟机,每次都要重装环境比较麻烦. 这次写了一个 docker-compose 文件,一次性搞定安装问题. 目录结果如下: --- version: "3.1" ne ...

  6. 二.navicate

    navicat -创建 -新建查询 -转储sql文件命令: 转储当前目录所有的文件与数据:mysqldump -u root db4 > db4.sql -p 转储当前目录到表结构没有数据:my ...

  7. python39

    Python pass 是空语句,是为了保持程序结构的完整性. pass 不做任何事情,一般用做占位语句. Python 语言 pass 语句语法格式如下: pass 测试实例: 实例 #!/usr/ ...

  8. docker 操作常用命令

    镜像 #以tomcat为基础镜像创建一个容器,容器名为my-tomcat #拉取tomcat最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取. do ...

  9. 【运维】Linux/Ec2挂载卷与NFS搭建实站讲解

    英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计 ...

  10. WPF BackSpace 回退到上一个页面

    在Wpf程序中,有时候点击到某些控件后,再按下[BackSpace]键,画面会回到上一个 TextBox可能自己处理了,所以没有这一个现象. 解决方案是: 在App.xaml.cs 的 Initial ...