namespace HStation.CAL.LocalClient { /// /// 报警等级 /// public class XhsProjectExtensions : IXhsProjectExtensions { private readonly HStation.Service.XhsProject _service = new(); /// /// /// /// /// public async Task BulkInserts(List list) { return await Task.Run(() => { return false; }); } /// /// /// /// /// public async Task BulkUpdates(List list) { return await Task.Run(() => { return false; }); } /// /// /// /// public async Task DeleteAll() { return await Task.Run(() => { return false; }); } public async Task DeleteByID(long ID) { return await Task.Run(() => { var bol = _service.DeleteExByID(ID, out string Msg); if (!bol) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D999, Msg); } return bol; }); } /// /// /// /// /// public async Task DeleteByIds(List Ids) { return await Task.Run(() => { return false; }); } /// /// /// /// public async Task> GetAll() { return await Task.Run(() => { var allList = _service.GetAll(); if (allList == null || allList.Count < 1) { return default; } var allIds = allList.Select(x => x.ID).Distinct().ToList(); var allSiteList = new HStation.Service.XhsProjectSite().GetByProjectIds(allIds); var vmList = new List(); foreach (var project in allList) { var siteList = allSiteList?.Where(x => x.ProjectID == project.ID).OrderBy(x => x.SortCode).ToList(); var vm = new XhsProjectExtensionsDto(project, siteList); vmList.Add(vm); } return vmList; }); } /// /// /// /// /// /// public async Task GetByID(long ID) { return await Task.Run(() => { var project = _service.GetByID(ID); if (project == null) { return default; } var siteList = new HStation.Service.XhsProjectSite().GetByProjectID(project.ID); return new XhsProjectExtensionsDto(project, siteList); }); } public async Task> GetByIds(List Ids) { return await Task.Run(() => { var allList = _service.GetByIds(Ids); if (allList == null || allList.Count < 1) { return default; } var allIds = allList.Select(x => x.ID).Distinct().ToList(); var allSiteList = new HStation.Service.XhsProjectSite().GetByProjectIds(allIds); var vmList = new List(); foreach (var project in allList) { var siteList = allSiteList?.Where(x => x.ProjectID == project.ID).OrderBy(x => x.SortCode).ToList(); var vm = new XhsProjectExtensionsDto(project, siteList); vmList.Add(vm); } return vmList; ; }); } /// /// /// /// /// public async Task Insert(AddXhsProjectExtensionsInput input) { return await Task.Run(() => { if (!string.IsNullOrEmpty(input.TagName)) { if (_service.IsExistTagName(input.TagName)) { throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"TagName:{input.TagName}", "标记已存在"); } } var project = input.Adapt(); project.SortCode = _service.GetMaxSortCode(0) + 1; var siteList = input.SiteList?.Select(x => x.Adapt()).ToList(); var id = _service.InsertEx(project, siteList); return id; }); } /// /// /// /// /// /// public async Task Inserts(List list) { return await Task.Run(() => { return false; }); } /// /// /// /// /// public async Task Update(UpdateXhsProjectExtensionsInput input) { return await Task.Run(() => { var project = _service.GetByID(input.ID); var project_rhs = new Model.XhsProject(project); input.Adapt(project_rhs); List site_rhs_list = null; if (input.SiteList != null && input.SiteList.Count > 0) { site_rhs_list = new List(); var site_id_list = input.SiteList.Select(x => x.ID).Distinct().ToList(); var site_list = new HStation.Service.XhsProjectSite().GetByIds(site_id_list); foreach (var site in site_list) { var site_input = input.SiteList.Find(x => x.ID == site.ID); var site_rhs = new Model.XhsProjectSite(site); site_input.Adapt(site_rhs); site_rhs_list.Add(site_rhs); } } var bol = _service.UpdateEx(project_rhs, site_rhs_list); return bol; }); } /// /// /// /// /// public async Task Updates(List list) { return await Task.Run(() => { return false; }); } } }