namespace HStation.CAL.LocalClient
{
///
///
///
public class XhsPumpPhartMappingExtensions : IXhsPumpPhartMappingExtensions
{
private readonly HStation.Service.XhsPumpPhartMapping _service = new();
#region Query
///
/// 获取所有
///
///
public async Task> GetAll()
{
return await Task.Factory.StartNew(() =>
{
return new List();
});
}
///
/// 通过 PumpID 获取
///
public async Task> GetByPumpID(long PumpID)
{
return await Task.Factory.StartNew(() =>
{
var list = _service.GetTupleByPumpID(PumpID);
if (list == null || list.Count < 1)
{
return default;
}
var vm_list = list?.Select(x => new XhsPumpPhartMappingExtensionsDto(x.Item1, x.Item2, x.Item3)).ToList();
return vm_list;
});
}
///
/// 通过 ID 获取
///
public async Task GetByID(long ID)
{
return await Task.Factory.StartNew(() =>
{
var model = _service.GetTupleByID(ID);
return model == null ? null : new XhsPumpPhartMappingExtensionsDto(model.Item1, model.Item2, model.Item3);
});
}
///
/// 通过 ID 获取
///
public async Task> GetByIds(List Ids)
{
return await Task.Factory.StartNew(() =>
{
var list = _service.GetTupleByIds(Ids);
var vm_list = list?.Select(x => new XhsPumpPhartMappingExtensionsDto(x.Item1, x.Item2, x.Item3)).ToList();
return vm_list;
});
}
#endregion
#region Insert
///
/// 添加一条
///
public async Task Insert(AddXhsPumpPhartMappingExtensionsInput input)
{
return await Task.Factory.StartNew(() =>
{
var pump = _service.GetByID(input.PumpID);
if (pump == null)
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"PumpID:{input.PumpID} 数据不存在");
}
var mapping = input.Adapt();
mapping.SortCode = _service.GetMaxSortCode(input.PumpID) + 1;
var diagram = input.Diagram?.Adapt();
var graphList = input.Diagram?.GraphList?.Select(x => x.Adapt()).ToList();
var id = _service.InsertEx(mapping, diagram, graphList);
return id;
});
}
///
/// 批量插入
///
public async Task Inserts(List inputList)
{
return await Task.Factory.StartNew(() =>
{
return false;
});
}
///
/// 大批量插入
///
public async Task BulkInserts(List inputList)
{
return await Task.Factory.StartNew(() =>
{
return false;
});
}
#endregion
#region Update
///
/// 更新一条
///
public async Task Update(UpdateXhsPumpPhartMappingExtensionsInput input)
{
return await Task.Factory.StartNew(() =>
{
var mapping = _service.GetByID(input.ID);
if (mapping == null)
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 数据不存在");
}
var equipment = new Service.PumpMain().GetByID(input.PumpID);
if (equipment == null)
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"PumpID:{input.PumpID} 数据不存在");
}
var diagram = new Service.XhsPhartDiagram().GetByID(input.DiagramID);
if (diagram == null)
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"DiagramID:{input.DiagramID} 数据不存在");
}
if (input.Diagram != null)
{
if (input.Diagram.ID != input.DiagramID)
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"图表数据不匹配");
}
if (input.Diagram.GraphList != null && input.Diagram.GraphList.Count > 0)
{
if (input.Diagram.GraphList.Exists(x => x.DiagramID != input.DiagramID))
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"图形数据不匹配");
}
}
}
var mapping_rhs = new Model.XhsPumpPhartMapping(mapping);
input.Adapt(mapping_rhs);
Model.XhsPhartDiagram diagram_rhs = null;
List graph_rhs_list = null;
if (input.Diagram != null)
{
diagram_rhs = new Model.XhsPhartDiagram(diagram);
input.Diagram.Adapt(diagram_rhs);
if (input.Diagram.GraphList != null && input.Diagram.GraphList.Count > 0)
{
var service_graph = new Service.XhsPhartGraph();
graph_rhs_list = new List();
foreach (var graph in input.Diagram.GraphList)
{
var graph_model = service_graph.GetByID(graph.ID);
if (graph_model == null)
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"GraphID:{graph.ID} 数据不存在");
}
var graph_rhs = new Model.XhsPhartGraph(graph_model);
graph.Adapt(graph_rhs);
graph_rhs_list.Add(graph_rhs);
}
}
}
var bol = _service.UpdateEx(mapping_rhs, diagram_rhs, graph_rhs_list);
return bol;
});
}
///
/// 批量更新
///
public async Task Updates(List inputList)
{
return await Task.Factory.StartNew(() =>
{
return false;
});
}
///
/// 大批量更新
///
public async Task BulkUpdates(List inputList)
{
return await Task.Factory.StartNew(() =>
{
return false;
});
}
#endregion
#region Delete
///
/// 通过 ID 删除
///
public async Task DeleteByID(long ID)
{
return await Task.Factory.StartNew(() =>
{
return false;
});
}
///
/// 通过 DiagramID 删除
///
public async Task DeleteByDiagramID(long DiagramID)
{
return await Task.Factory.StartNew(() =>
{
var bol = _service.DeleteByDiagramID(DiagramID, out string Msg);
if (!bol)
{
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, Msg);
}
return bol;
});
}
///
/// 通过 Ids 删除
///
public async Task DeleteByIds(List Ids)
{
return await Task.Factory.StartNew(() =>
{
return false;
});
}
///
/// 删除全部
///
///
public async Task DeleteAll()
{
return await Task.Factory.StartNew(() =>
{
return false;
});
}
#endregion
}
}