namespace HStation.CAL.LocalClient { /// /// /// public class XhsValveMainPhartMappingExtensions : IXhsValveMainPhartMappingExtensions { private readonly HStation.Service.XhsValveMainPhartMapping _service = new(); #region Query /// /// 获取所有 /// /// public async Task> GetAll() { return await Task.Factory.StartNew(() => { return new List(); }); } /// /// 通过 ValveMainID 获取 /// public async Task> GetByValveMainID(long ValveMainID) { return await Task.Factory.StartNew(() => { var list = _service.GetTupleByValveMainID(ValveMainID); if (list == null || list.Count < 1) { return default; } var vm_list = list?.Select(x => new XhsValveMainPhartMappingExtensionsDto(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 XhsValveMainPhartMappingExtensionsDto(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 XhsValveMainPhartMappingExtensionsDto(x.Item1, x.Item2, x.Item3)).ToList(); return vm_list; }); } #endregion Query #region Insert /// /// 添加一条 /// public async Task Insert(AddXhsValveMainPhartMappingExtensionsInput input) { return await Task.Factory.StartNew(() => { var pump = _service.GetByValveMainID(input.ValveMainID); if (pump == null) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ValveMainID:{input.ValveMainID} 数据不存在"); } var mapping = input.Adapt(); mapping.SortCode = _service.GetMaxSortCode(input.ValveMainID) + 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 Insert #region Update /// /// 更新一条 /// public async Task Update(UpdateXhsValveMainPhartMappingExtensionsInput 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.AssetsValveMain().GetByID(input.ValveMainID); if (equipment == null) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ValveMainID:{input.ValveMainID} 数据不存在"); } var diagram = new Yw.Service.PhartDiagram().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.XhsValveMainPhartMapping(mapping); input.Adapt(mapping_rhs); Yw.Model.PhartDiagram diagram_rhs = null; List graph_rhs_list = null; if (input.Diagram != null) { diagram_rhs = new Yw.Model.PhartDiagram(diagram); input.Diagram.Adapt(diagram_rhs); if (input.Diagram.GraphList != null && input.Diagram.GraphList.Count > 0) { var service_graph = new Yw.Service.PhartGraph(); 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 Yw.Model.PhartGraph(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 Update #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 Delete } }