using HStation.Dto; using Yw.Dto; namespace HStation.CAL.LocalClient { /// /// /// public class AssetsPackagePartMain : IAssetsPackagePartMain { private readonly Service.AssetsPackagePartMain _service = new(); #region Query /// /// 获取所有 /// public async Task> GetAll() { return await Task.Factory.StartNew(() => { var list = _service.GetAll(); var vm_list = list?.Select(x => new AssetsPackagePartMainDto(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 AssetsPackagePartMainDto(model); }); } /// /// 通过型号ID 获取 /// public async Task> GetByPackageMainID(long ID) { return await Task.Factory.StartNew(() => { var list = _service.GetByMainID(ID); var vm_list = list?.Select(x => new AssetsPackagePartMainDto(x)).ToList(); return vm_list; }); } /// /// 通过 Ids 获取 /// public async Task> GetByIds(List Ids) { return await Task.Factory.StartNew(() => { var list = _service.GetByIds(Ids); var vm_list = list?.Select(x => new AssetsPackagePartMainDto(x)).ToList(); return vm_list; }); } /// /// 获取最大排序码 /// public async Task GetMaxSortCode() { return await Task.Factory.StartNew(() => { var sort_code = _service.GetMaxSortCode(); return sort_code; }); } /// /// 创建编号 /// public async Task CreateNO() { return await Task.Factory.StartNew(() => { var no = _service.CreateNO(); return no; }); } #endregion Query #region Insert /// /// 插入一条 /// public async Task Insert(AddAssetsPackagePartMainInput 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(AddAssetsPackagePartMainInput part, List propcontents, AddAssetsPackageMainAndPartMappingInput partmap) { return await Task.Factory.StartNew(() => { var partmodel = part.Adapt(); partmodel.SortCode = _service.GetMaxSortCode() + 1; var propcontentlistmodel = propcontents.Select(x => x.Adapt()).ToList(); var partmapmodel = partmap.Adapt(); var id = _service.InsertEX(partmodel, propcontentlistmodel, partmapmodel); 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(UpdateAssetsPackagePartMainInput 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.AssetsPackagePartMain(model); input.Adapt(rhs); var bol = _service.Update(rhs); return bol; }); } //编辑拓展 public async Task UpdateEx(UpdateAssetsPackagePartMainInput Packagepart, List updateAssetsPackagePropContentDtos) { return await Task.Factory.StartNew(() => { var partmodel = Packagepart.Adapt(); var propcontentlistmodel = updateAssetsPackagePropContentDtos.Select(x => x.Adapt()).ToList(); return _service.UpdateEX(partmodel, propcontentlistmodel); }); } /// /// 批量更新 /// 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 UpdateCode(long ID, string Code) { return await Task.Factory.StartNew(() => { if (!string.IsNullOrEmpty(Code)) { if (_service.IsExistCodeExceptID(Code, ID)) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"Code:{Code}", "编码已存在"); } } var bol = _service.UpdateCode(ID, Code); return bol; }); } #endregion Update #region Exist /// /// 判断Code是否存在 /// public async Task IsExistCode(string Code) { return await Task.Factory.StartNew(() => { var bol = _service.IsExistCode(Code); return bol; }); } /// /// 判断Code是否存在 ExceptID /// public async Task IsExistCodeExceptID(string Code, long ExceptID) { return await Task.Factory.StartNew(() => { var bol = _service.IsExistCodeExceptID(Code, ExceptID); return bol; }); } #endregion Exist #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; }); } public async Task DeleteEx(long ID) { return await Task.Factory.StartNew(() => { var bol = _service.DeleteExByID(ID); if (!bol) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, "删除失败"); } return true; }); } #endregion Delete } }