|
using Yw.Dto;
|
|
namespace HStation.CAL.LocalClient
|
{
|
/// <summary>
|
/// 报警等级
|
/// </summary>
|
public class XhsProjectExtensions : IXhsProjectExtensions
|
{
|
private readonly HStation.Service.XhsProject _service = new();
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="list"></param>
|
/// <returns></returns>
|
public async Task<bool> BulkInserts(List<AddXhsProjectExtensionsInput> list)
|
{
|
return await Task.Run(() =>
|
{
|
return false;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="list"></param>
|
/// <returns></returns>
|
public async Task<bool> BulkUpdates(List<UpdateXhsProjectExtensionsInput> list)
|
{
|
return await Task.Run(() =>
|
{
|
return false;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <returns></returns>
|
public async Task<bool> DeleteAll()
|
{
|
return await Task.Run(() =>
|
{
|
return false;
|
});
|
}
|
|
public async Task<bool> 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;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="Ids"></param>
|
/// <returns></returns>
|
public async Task<bool> DeleteByIds(List<long> Ids)
|
{
|
return await Task.Run(() =>
|
{
|
return false;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <returns></returns>
|
public async Task<List<XhsProjectExtensionsDto>> 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<XhsProjectExtensionsDto>();
|
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;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="ID"></param>
|
/// <returns></returns>
|
/// <exception cref="NotImplementedException"></exception>
|
public async Task<XhsProjectExtensionsDto> 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<List<XhsProjectExtensionsDto>> GetByIds(List<long> 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<XhsProjectExtensionsDto>();
|
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; ;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public async Task<long> 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<AddXhsProjectInput, Model.XhsProject>();
|
project.SortCode = _service.GetMaxSortCode(0) + 1;
|
|
var siteList = input.SiteList?.Select(x => x.Adapt<AddXhsProjectSiteExtensionsInput, Model.XhsProjectSite>()).ToList();
|
var id = _service.InsertEx(project, siteList);
|
return id;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="list"></param>
|
/// <returns></returns>
|
/// <exception cref="NotImplementedException"></exception>
|
public async Task<bool> Inserts(List<AddXhsProjectExtensionsInput> list)
|
{
|
return await Task.Run(() =>
|
{
|
return false;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public async Task<bool> 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<Model.XhsProjectSite> site_rhs_list = null;
|
if (input.SiteList != null && input.SiteList.Count > 0)
|
{
|
site_rhs_list = new List<Model.XhsProjectSite>();
|
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;
|
});
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="list"></param>
|
/// <returns></returns>
|
public async Task<bool> Updates(List<UpdateXhsProjectExtensionsInput> list)
|
{
|
return await Task.Run(() =>
|
{
|
return false;
|
});
|
}
|
}
|
}
|