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;
});
}
}
}