Browse Source

项目模板、项目模板明细

bjmzak
wxd 2 years ago
parent
commit
742e745ba8
  1. 52
      src/Shentun.Peis.Application/ItemTemplateDetails/ItemTemplateDetailAppService.cs
  2. 1
      src/Shentun.Peis.Domain/AsbitemDetails/AsbitemDetailManager.cs
  3. 3
      src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetail.cs
  4. 57
      src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetailManager.cs
  5. 20
      src/Shentun.Peis.Domain/ItemTemplates/ItemTemplateManager.cs

52
src/Shentun.Peis.Application/ItemTemplateDetails/ItemTemplateDetailAppService.cs

@ -31,26 +31,19 @@ namespace Shentun.Peis.ItemTemplateDetails
{
private readonly IRepository<ItemTemplateDetail> _repository;
private readonly IRepository<IdentityUser, Guid> _userRepository;
private readonly ItemTemplateDetailManager _manager;
public ItemTemplateDetailAppService(IRepository<ItemTemplateDetail> repository, IRepository<IdentityUser, Guid> userRepository)
public ItemTemplateDetailAppService(
IRepository<ItemTemplateDetail> repository,
IRepository<IdentityUser, Guid> userRepository,
ItemTemplateDetailManager manager
)
{
this._repository = repository;
this._userRepository = userRepository;
this._manager = manager;
}
///// <summary>
///// 创建
///// </summary>
///// <param name="input"></param>
///// <returns></returns>
//public async Task<ItemTemplateDetailDto> CreateAsync(CreateItemTemplateDetailDto input)
//{
// var createEntity = ObjectMapper.Map<CreateItemTemplateDetailDto, ItemTemplateDetail>(input);
// var entity = await _repository.InsertAsync(createEntity);
// var dto = ObjectMapper.Map<ItemTemplateDetail, ItemTemplateDetailDto>(entity);
// return dto;
//}
/// <summary>
/// 批量创建 先删除
@ -60,28 +53,31 @@ namespace Shentun.Peis.ItemTemplateDetails
[HttpPost("api/app/itemtemplatedetail/createitemtemplatedetaimany")]
public async Task CreateItemTemplateDetaiManyAsync(CreateItemTemplateDetailDto input)
{
await _repository.DeleteAsync(d => d.ItemTemplateId == input.ItemTemplateId);
//删除项目模板明细 按项目模板ID删除
await _manager.CheckAndDeleteInItemTemplateIdAsync(input.ItemTemplateId);
if (input.Details.Any())
{
var createEntity = ObjectMapper.Map<List<CreateItemTemplateDetail_Detail>, List<ItemTemplateDetail>>(input.Details);
await _repository.InsertManyAsync(createEntity);
}
List<ItemTemplateDetail> itemTemplateDetails = new List<ItemTemplateDetail>();
foreach (var details in input.Details)
{
var entity = new ItemTemplateDetail
{
ItemTemplateId = input.ItemTemplateId,
ItemId = details.ItemId
};
itemTemplateDetails.Add(_manager.CreateAsbitemAsync(entity));
}
if (itemTemplateDetails.Count > 0)
{
await _repository.InsertManyAsync(itemTemplateDetails);
}
///// <summary>
///// 删除
///// </summary>
///// <param name="ItemTemplateId"></param>
///// <param name="ItemId"></param>
///// <returns></returns>
//public async Task DeleteAsync(Guid ItemTemplateId, Guid ItemId)
//{
// await _repository.DeleteAsync(d => d.ItemTemplateId == ItemTemplateId && d.ItemId == ItemId);
//}
}
}
/// <summary>
/// 获取列表 项目模板包含的小项目
/// </summary>

1
src/Shentun.Peis.Domain/AsbitemDetails/AsbitemDetailManager.cs

@ -48,7 +48,6 @@ namespace Shentun.Peis.AsbitemDetails
var asbitemDetailList = await _repository.GetListAsync(m => m.AsbitemId == AsbitemId);
if (asbitemDetailList.Any())
{
//删除组合项目明细
await _repository.DeleteManyAsync(asbitemDetailList);

3
src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetail.cs

@ -11,6 +11,9 @@ namespace Shentun.Peis.Models
[Table("item_template_detail")]
public class ItemTemplateDetail : Entity, IHasConcurrencyStamp
{
/// <summary>
/// 项目模板编号
/// </summary>
[Key]
[Column("item_template_id")]
//[StringLength(4)]

57
src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetailManager.cs

@ -0,0 +1,57 @@
using Shentun.Peis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
namespace Shentun.Peis.ItemTemplateDetails
{
/// <summary>
/// 项目模板明细
/// </summary>
public class ItemTemplateDetailManager : DomainService
{
private readonly IRepository<ItemTemplateDetail> _repository;
public ItemTemplateDetailManager(
IRepository<ItemTemplateDetail> repository
)
{
_repository = repository;
}
/// <summary>
/// 创建
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public ItemTemplateDetail CreateAsbitemAsync(ItemTemplateDetail entity)
{
DataHelper.CheckGuidIsDefaultValue(entity.ItemTemplateId, "项目模板编号");
DataHelper.CheckGuidIsDefaultValue(entity.ItemId, "项目编号");
return entity;
}
/// <summary>
/// 删除项目模板明细 按项目模板ID删除
/// </summary>
/// <param name="ItemTemplateId">项目模板ID</param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteInItemTemplateIdAsync(Guid ItemTemplateId)
{
var itemTemplateDetailList = await _repository.GetListAsync(m => m.ItemTemplateId == ItemTemplateId);
if (itemTemplateDetailList.Any())
{
//删除项目模板明细
await _repository.DeleteManyAsync(itemTemplateDetailList);
}
}
}
}

20
src/Shentun.Peis.Domain/ItemTemplates/ItemTemplateManager.cs

@ -1,4 +1,5 @@
using Shentun.Peis.HelperDto;
using Shentun.Peis.Enums;
using Shentun.Peis.HelperDto;
using Shentun.Peis.Models;
using Shentun.Utilities;
using System;
@ -38,7 +39,7 @@ namespace Shentun.Peis.ItemTemplates
ItemTemplate entity
)
{
DataHelper.CheckStringIsNull(entity.DisplayName, "名称");
Verify(entity);
await EntityHelper.CheckSameName<ItemTemplate, Guid>(_repository, entity.DisplayName);
return new ItemTemplate
{
@ -60,10 +61,10 @@ namespace Shentun.Peis.ItemTemplates
ItemTemplate targetEntity
)
{
DataHelper.CheckStringIsNull(sourceEntity.DisplayName, "名称");
DataHelper.CheckEntityIsNull(targetEntity);
Verify(sourceEntity);
if (sourceEntity.DisplayName != targetEntity.DisplayName)
{
await EntityHelper.CheckSameName<ItemTemplate, Guid>(_repository, sourceEntity.DisplayName, targetEntity);
targetEntity.DisplayName = sourceEntity.DisplayName;
targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName);
@ -73,6 +74,17 @@ namespace Shentun.Peis.ItemTemplates
}
/// <summary>
/// 验证新增、修改字段
/// </summary>
/// <param name="entity"></param>
/// <exception cref="ArgumentException"></exception>
private void Verify(ItemTemplate entity)
{
DataHelper.CheckEntityIsNull(entity);
DataHelper.CheckStringIsNull(entity.DisplayName, "名称");
}
/// <summary>

Loading…
Cancel
Save