namespace HStation.CAL.LocalClient { /// /// 图表关联 /// public class PhartDiagramRelation : IPhartDiagramRelation { private readonly Service.PhartDiagramRelation _service = new(); #region Query /// /// 获取所有 /// public async Task> GetAll() { return await Task.Factory.StartNew(() => { var list = _service.GetAll(); var vm_list = list?.Select(x => new PhartDiagramRelationDto(x)).ToList(); return vm_list; }); } /// /// 通过 ID 获取 /// public async Task GetByID(long ID) { return await Task.Factory.StartNew(() => { var model = _service.GetByID(ID); return model == null ? null : new PhartDiagramRelationDto(model); }); } /// /// 通过 Ids 获取 /// public async Task> GetByIds(List Ids) { return await Task.Factory.StartNew(() => { var list = _service.GetByIds(Ids); var vm_list = list?.Select(x => new PhartDiagramRelationDto(x)).ToList(); return vm_list; }); } /// /// 通过 ID 获取 /// public async Task GetExByID(long ID) { return await Task.Factory.StartNew(() => { var dto = _service.GetTupleByID(ID); if (dto == null) return default; return new PhartDiagramRelationExtensionsDto(dto.Item1, dto.Item2, dto.Item3); }); } /// /// 通过 Ids 获取 /// public async Task> GetExByIds(List Ids) { return await Task.Factory.StartNew(() => { var list = _service.GetTupleByIds(Ids); var vm_list = list?.Select(x => new PhartDiagramRelationExtensionsDto(x.Item1, x.Item2, x.Item3)).ToList(); return vm_list; }); } /// /// 通过 ObjectType ObjectID 获取 /// public async Task> GetExByObjectTypeAndObjectID(string ObjectType, long ObjectID) { return await Task.Factory.StartNew(() => { var list = _service.GetTupleByObjectTypeAndObjectID(ObjectType,ObjectID); var vm_list = list?.Select(x => new PhartDiagramRelationExtensionsDto(x.Item1,x.Item2,x.Item3)).ToList(); return vm_list; }); } /// /// 通过 ObjectType ObjectID 获取 Default /// public async Task GetDefaultExByObjectTypeAndObjectID(string ObjectType, long ObjectID) { return await Task.Factory.StartNew(() => { var dto = _service.GetTupleDefaultByObjectTypeAndObjectID(ObjectType, ObjectID); if (dto == null) return default; return new PhartDiagramRelationExtensionsDto(dto.Item1, dto.Item2, dto.Item3); }); } /// /// 获取最大排序码 /// public async Task GetMaxSortCode() { return await Task.Factory.StartNew(() => { var sort_code = _service.GetMaxSortCode(); return sort_code; }); } #endregion #region Insert /// /// 插入一条 /// public async Task Insert(AddPhartDiagramRelationInput input) { return await Task.Factory.StartNew(() => { var model = input.Adapt(); model.SortCode = _service.GetMaxSortCode() + 1; var id = _service.Insert(model); return id; }); } /// /// 插入拓展 /// public async Task InsertEx(PhartDiagramRelationDto relation, PhartDiagramDto diagram, List graphList) { return await Task.Factory.StartNew(() => { var modelRelation = relation.Adapt(); var modelDiagram = diagram.Adapt(); var modelGraphList = graphList.Adapt>(); var id = _service.InsertEx(modelRelation, modelDiagram, modelGraphList); return id; }); } /// /// 批量插入 /// public async Task Inserts(List inputList) { return await Task.Factory.StartNew(() => { return false; }); } /// /// 大批量插入 /// public async Task BulkInserts(List list) { return await Task.Factory.StartNew(() => { return false; }); } #endregion Insert #region Update /// /// 更新一条 /// public async Task Update(UpdatePhartDiagramRelationInput input) { return await Task.Factory.StartNew(() => { var model = _service.GetByID(input.ID); if (model == null) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 数据不存在"); } var rhs = new Model.PhartDiagramRelation(model); input.Adapt(rhs); var bol = _service.Update(rhs); return bol; }); } /// /// 更新拓展 /// public async Task UpdateEx(PhartDiagramRelationDto relation, PhartDiagramDto diagram, List graphList) { return await Task.Factory.StartNew(() => { var modelRelation = relation.Adapt(); var modelDiagram = diagram.Adapt(); var modelGraphList = graphList.Adapt>(); var bol = _service.UpdateEx(modelRelation, modelDiagram, modelGraphList); return bol; }); } /// /// 批量更新 /// public async Task Updates(List inputList) { return await Task.Factory.StartNew(() => { return false; }); } /// /// 大批量更新 /// public async Task BulkUpdates(List list) { return await Task.Factory.StartNew(() => { return false; }); } /// /// 更新排序码 /// public async Task UpdateSortCode(long ID, int SortCode) { return await Task.Factory.StartNew(() => { var bol = _service.UpdateSortCode(ID, SortCode); return bol; }); } /// /// 更新排序 /// public async Task UpdateSorter(List inputList) { return await Task.Factory.StartNew(() => { var list = inputList.Select(x => x.Adapt()).ToList(); var bol = _service.UpdateSorter(list); return bol; }); } /// /// 更新 OtherName /// public async Task UpdateOtherName(long ID, string OtherName) { return await Task.Factory.StartNew(() => { var bol = _service.UpdateOtherName(ID, OtherName); return bol; }); } /// /// 更新 Importance /// public async Task UpdateImportance(long ID, int Importance) { return await Task.Factory.StartNew(() => { var bol = _service.UpdateImportance(ID, Importance); return bol; }); } /// /// 更新 Description /// public async Task UpdateDescription(long ID, string Description) { return await Task.Factory.StartNew(() => { var bol = _service.UpdateDescription(ID, Description); return bol; }); } #endregion Update #region Delete /// /// 通过 ID 删除 /// public async Task DeleteByID(long ID) { return await Task.Factory.StartNew(() => { var bol = _service.DeleteByID(ID, out string msg); if (!bol) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, msg); } return true; }); } /// /// 通过 Ids 删除 /// public async Task DeleteByIds(List Ids) { return await Task.Factory.StartNew(() => { return false; }); } /// /// 通过 ObjectType ObjectID 删除 /// public async Task DeleteByObjectTypeAndObjectID(string ObjectType, long ObjectID) { return await Task.Factory.StartNew(() => { var bol = _service.DeleteByObjectTypeAndObjectID(ObjectType, ObjectID, out string msg); if (!bol) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, msg); } return true; }); } /// /// 通过 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 true; }); } /// /// 全部删除 /// public async Task DeleteAll() { return await Task.Factory.StartNew(() => { return false; }); } #endregion } }