using System.Net;
using XFEExtension.NetCore.AutoImplement;
using XFEExtension.NetCore.ServerInteractive.Models.ServerModels;
using XFEExtension.NetCore.XFETransform.Json;
namespace XFEExtension.NetCore.ServerInteractive.Utilities.DataTable;
///
/// XFE数据表格管理器
///
[CreateImpl]
public abstract class XFEDataTableManager
{
///
/// 数据表格列表
///
public List TableList { get; set; } = [];
///
/// 数据表格字典
///
public Dictionary TableDictionary { get; set; } = [];
///
/// 执行
///
/// 请求语句
/// json节点
/// 参数
///
public async Task Execute(string execute, XFEJsonNode requestJsonNode, ServerCoreReturnArgs r)
{
var split = execute.Split('_');
if (TableDictionary.TryGetValue(split[1], out var table))
{
_ = await table.Execute(split[0], requestJsonNode, r);
}
else
{
Console.WriteLine($"[ERROR]({r.ServerCore.ServerCoreName})【{r.ClientIP}】试图查询不存在的表格:{split[1]}");
await r.Args.ReplyAndClose($"试图查询不存在的表格:{execute}", HttpStatusCode.BadRequest);
}
}
}