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 } }