using NCC.Common.Filter;
using NCC.VisualDev.Entitys;
using NCC.VisualDev.Entitys.Dto.VisualDevModelData;
using NCC.VisualDev.Entitys.Entity;
using NCC.VisualDev.Entitys.Model.VisualDevModelData;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace NCC.VisualDev.Run.Interfaces
{
///
/// 在线开发运行服务抽象
///
public interface IRunService
{
///
/// 模板数据转换
///
///
///
List TemplateDataConversion(List fieldsModelList);
///
/// 创建在线开发功能
///
/// 功能模板实体
/// 数据输入
/// 是否创建新ID
///
Task Create(VisualDevEntity templateEntity, VisualDevModelDataCrInput dataInput);
///
/// 创建在线开发有表SQL
///
///
///
///
///
Task CreateHaveTableSql(VisualDevEntity templateEntity, VisualDevModelDataCrInput dataInput, string mainId);
///
/// 修改在线开发功能
///
///
///
///
///
Task Update(string id, VisualDevEntity templateEntity, VisualDevModelDataUpInput visualdevModelDataUpForm);
///
/// 修改在线开发有表sql
///
///
///
///
///
Task UpdateHaveTableSql(VisualDevEntity templateEntity, VisualDevModelDataUpInput dataInput, string mainId);
///
/// 删除无表信息
///
///
Task DelIsNoTableInfo(string id, VisualDevEntity templateEntity);
///
/// 批量删除无表数据
///
///
Task BatchDelIsNoTableData(List ids, VisualDevEntity templateEntity);
///
/// 删除有表信息
///
/// 主键
/// 模板实体
///
Task DelHaveTableInfo(string id, VisualDevEntity templateEntity);
///
/// 批量删除有表数据
///
/// id数组
/// 模板实体
///
Task BatchDelHaveTableData(List ids, VisualDevEntity templateEntity);
///
/// 列表数据处理
///
///
///
///
///
Task>> GetListResult(VisualDevEntity entity, VisualDevModelListQueryInput input, string actionType = "List");
///
/// 获取模型数据信息
///
///
///
Task GetInfo(string id);
///
/// 获取无表详情转换
///
/// 模板实体
/// 真实数据
///
Task GetIsNoTableInfo(VisualDevEntity entity, string data);
///
/// 获取无表信息详情
///
/// 模板实体
/// 真实数据
///
Task GetIsNoTableInfoDetails(VisualDevEntity entity, VisualDevModelDataEntity data);
///
/// 获取有表详情转换
///
/// 主键
/// 模板实体
///
Task GetHaveTableInfo(string id, VisualDevEntity templateEntity);
///
/// 获取有表详情转换
///
///
///
///
Task GetHaveTableInfoDetails(string id, VisualDevEntity templateEntity, bool isFlowTask = false);
///
/// 生成系统自动生成字段
///
/// 模板数据
/// 真实数据
/// 创建与修改标识 true创建 false 修改
///
Task> GenerateFeilds(List fieldsModelList, Dictionary allDataMap, bool IsCreate);
///
/// 获取模板主键
///
/// 模板实体
///
Task GetTablePrimary(VisualDevEntity entity);
}
}