使用说明
使用说明
- 在 Partial/{表}Service.cs 中 重写
Add,为AddOnExecuting、AddOnExecuted等 Func 属性赋值(见ApplicationServiceBase.cs),再return base.Add(saveDataModel)。 - Func 机制与执行顺序见 guid.md。
新建前(原始 SaveModel,可选)
AddOnExecute 在实体转换与校验 之前 执行,参数为前台提交的原始 SaveModel:
AddOnExecute = (SaveModel saveModel) =>
{
// saveModel.MainData / DetailData 仍为字典,尚未转为实体
return webResponse.OK();
};
新建(前端新建保存)
内容较多,按需实现里面的功能
/// <summary>
/// 新建
/// </summary>
/// <param name="saveDataModel"></param>
/// <returns></returns>
public override WebResponseContent Add(SaveModel saveDataModel)
{
WebResponseContent webResponse = new WebResponseContent();
// 在保存数据库前的操作,所有数据都验证通过了,这一步执行完就执行数据库保存
//list为明细表,注意:如果是一对多明细表,直接从Order.明细表取值
AddOnExecuting = (当前表 order, object list) =>
{
//明细表对象
//List<当前表明细> orderLists = list as List<当前表明细>;
return webResponse.OK();
};
//list为明细表,注意:如果是一对多明细表,直接从Order.明细表取值
AddOnExecuted = (当前表 order, object list) =>
{
//明细表对象
//List<当前表明细> orderLists = list as List<当前表明细>;
return webResponse.OK();//异常或者return webResponse.Error("提示信息");会回滚数据
};
//新建的数据进入审批流程前处理,
AddWorkFlowExecuting = (当前表 order) =>
{
return true;
};
//新建的数据写入审批流程后,第二个参数为审批人的用户id
AddWorkFlowExecuted = (当前表 order, List<int> userIds) =>
{
//获取审批流程信息http://doc.volcore.xyz/docs/cs/service/flow.html
};
return base.Add(saveDataModel);
}
新建(异步 async)
异步启用说明
- 代码生成器勾选[异步接口]后此方法才会执行,默认执行的是上面同步方法
- 内容较多,按需实现里面的功能
/// <summary>
/// 新建异步
/// </summary>
/// <param name="saveDataModel"></param>
/// <returns></returns>
public override async Task<WebResponseContent> AddAsync(SaveModel saveDataModel)
{
WebResponseContent webResponse = new WebResponseContent();
//list为明细表,注意:如果是一对多明细表,直接从Order.明细表取值
AddOnExecuting = (当前表 order, object list) =>
{
return webResponse.OK();
};
//list为明细表,注意:如果是一对多明细表,直接从Order.明细表取值
AddOnExecutingAsync = async (当前表 order, object list) =>
{
//明细表对象
//List<当前表明细> orderLists = list as List<当前表明细>;
await Task.CompletedTask;
return webResponse.OK();
};
//list为明细表,注意:如果是一对多明细表,直接从Order.明细表取值
AddOnExecuted = (当前表 order, object list) =>
{
//明细表对象
//List<当前表明细> orderLists = list as List<当前表明细>;
return webResponse.OK();
};
//list为明细表,注意:如果是一对多明细表,直接从Order.明细表取值
AddOnExecutedAsync = async (当前表 order, object list) =>
{
//明细表对象
//List<当前表明细> orderLists = list as List<当前表明细>;
await Task.CompletedTask;
return webResponse.OK();
};
//新建的数据进入审批流程前处理,
AddWorkFlowExecuting = (当前表 order) =>
{
return true;
};
//新建的数据写入审批流程后,第二个参数为审批人的用户id
AddWorkFlowExecuted = (当前表 order, List<int> userIds) =>
{
//获取审批流程信息http://doc.volcore.xyz/docs/cs/service/flow.html
};
//异步:新建的数据进入审批流程前处理
AddWorkFlowExecutingAsync = async (当前表 order) =>
{
//await xxx异步操作
return true;
};
//异步:新建的数据写入审批流程后,第二个参数为审批人的用户id
AddWorkFlowExecutedAsync = async (当前表 order, List<int> userIds) =>
{
//获取审批流程信息http://doc.volcore.xyz/docs/cs/service/flow.html
await Task.CompletedTask;
};
return await base.AddAsync(saveDataModel);
}
