namespace HStation.CAL.LocalClient { /// /// /// public class AssetsCompressorSeries : IAssetsCompressorSeries { private readonly HStation.Service.AssetsCompressorSeries _service = new(); #region Query /// /// 获取所有 /// public async Task> GetAll() { return await Task.Factory.StartNew(() => { var list = _service.GetAll(); var vm_list = list?.Select(x => new AssetsCompressorSeriesDto(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 AssetsCompressorSeriesDto(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 AssetsCompressorSeriesDto(x)).ToList(); return vm_list; }); } #endregion #region Insert /// /// 插入一条 /// public async Task Insert(AddAssetsCompressorSeriesInput input) { return await Task.Factory.StartNew(() => { var parentIds = new List(); if (input.ParentID > 0) { var parent = _service.GetByID(input.ParentID); if (parent == null) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ParentID:{input.ParentID} 数据不存在"); } parentIds = TreeParentIdsHelper.GetChildParentIds(parent.ID, parent.ParentIds); } if (!string.IsNullOrEmpty(input.TagName)) { if (_service.IsExistTagName(input.TagName)) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{input.TagName} 标记已存在"); } } var model = input.Adapt(); model.ParentIds = parentIds; model.SortCode = _service.GetMaxSortCode(input.ParentID) + 1; var id = _service.Insert(model); 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 #region Update /// /// 更新一条 /// public async Task Update(UpdateAssetsCompressorSeriesInput 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} 数据不存在"); } if (!string.IsNullOrEmpty(input.TagName)) { if (_service.IsExistTagNameExceptID(input.TagName, input.ID)) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{input.TagName} 标记已存在"); } } var rhs = new Model.AssetsCompressorSeries(model); input.Adapt(rhs); var bol = _service.Update(rhs); 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; }); } /// /// 更新树排序码 /// public async Task UpdateTreeSortCode(long ID, long ParentID, int SortCode) { return await Task.Factory.StartNew(() => { var model = _service.GetByID(ID); if (model == null) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{ID} 数据不存在"); } var parentIds = new List(); if (ParentID > 0) { var parent = _service.GetByID(ParentID); if (parent == null) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ParentID:{ParentID} 数据不存在"); } parentIds = TreeParentIdsHelper.GetChildParentIds(parent.ID, parent.ParentIds); } var sorterList = new List() { new Yw.Model.TreeSorter() { ID=ID, ParentIds=parentIds, SortCode=SortCode } }; if (TreeParentIdsHelper.ToString(parentIds) != TreeParentIdsHelper.ToString(model.ParentIds)) { var children = _service.GetChildrenByID(ID); if (children != null && children.Count > 0) { foreach (var item in children) { var itemParent = sorterList.Find(x => x.ID == item.ParentIds.Last()); var itemParentIds = TreeParentIdsHelper.GetChildParentIds(itemParent.ID, itemParent.ParentIds); var sorter = new Yw.Model.TreeSorter() { ID = item.ID, ParentIds = itemParentIds, SortCode = item.SortCode }; sorterList.Add(sorter); } } } var bol = _service.UpdateTreeSorter(sorterList); return bol; }); } /// /// 更新 Paras /// public async Task UpdateParas(long ID, Dictionary Paras) { return await Task.Factory.StartNew(() => { var bol = _service.UpdateParas(ID, Paras); return bol; }); } /// /// 更新 Flags /// public async Task UpdateFlags(long ID, List Flags) { return await Task.Factory.StartNew(() => { var bol = _service.UpdateFlags(ID, Flags); return bol; }); } /// /// 更新 TagName /// public async Task UpdateTagName(long ID, string TagName) { return await Task.Factory.StartNew(() => { if (!string.IsNullOrEmpty(TagName)) { if (_service.IsExistTagNameExceptID(TagName, ID)) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{TagName}", "标记名称已存在"); } } var bol = _service.UpdateTagName(ID, TagName); return bol; }); } #endregion #region Exist /// /// /// public async Task IsExistTagName(string TagName) { return await Task.Factory.StartNew(() => { var bol = _service.IsExistTagName(TagName); return bol; }); } /// /// /// public async Task IsExistTagNameExceptID(string TagName, long ExceptID) { return await Task.Factory.StartNew(() => { var bol = _service.IsExistTagNameExceptID(TagName, ExceptID); return bol; }); } #endregion #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; }); } /// /// 删除全部 /// /// public async Task DeleteAll() { return await Task.Factory.StartNew(() => { return false; }); } #endregion } }