using System.Net;
using XFEExtension.NetCore.AutoImplement;
using XFEExtension.NetCore.ServerInteractive.Models.ServerModels;
using XFEExtension.NetCore.XFETransform.JsonConverter;
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, QueryableJsonNode 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.Args.ClientIP}】意料之外的表格:{split[1]}");
await r.Args.ReplyAndClose($"意料之外的方法:{execute}", HttpStatusCode.BadRequest);
}
}
}