diff --git a/src/Shentun.Peis.Application.Contracts/ForSexs/UpdateForSexDto.cs b/src/Shentun.Peis.Application.Contracts/ForSexs/UpdateForSexDto.cs new file mode 100644 index 0000000..1b8936a --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/ForSexs/UpdateForSexDto.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Text; + +namespace Shentun.Peis.ForSexs +{ + public class UpdateForSexDto + { + [Required(ErrorMessage = "名称不能为空")] + public string DisplayName { get; set; } + [Required(ErrorMessage = "快捷码不能为空")] + public string SimpleCode { get; set; } + } +} diff --git a/src/Shentun.Peis.Application/ForSexs/ForSexAppService.cs b/src/Shentun.Peis.Application/ForSexs/ForSexAppService.cs index 78cbf4e..756c0b0 100644 --- a/src/Shentun.Peis.Application/ForSexs/ForSexAppService.cs +++ b/src/Shentun.Peis.Application/ForSexs/ForSexAppService.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc; using Shentun.Peis.HelperDto; using Shentun.Peis.Models; +using Shentun.Peis.Sexs; using System; using System.Collections.Generic; using System.Linq; @@ -20,14 +21,34 @@ namespace Shentun.Peis.ForSexs public class ForSexAppService : ApplicationService { private readonly IRepository _forSexRepository; - + private readonly ForSexManager _manager; public ForSexAppService( - IRepository forSexRepository + IRepository forSexRepository, + ForSexManager manager ) { this._forSexRepository = forSexRepository; + this._manager = manager; } + + /// + /// 修改 + /// + /// 主键ID + /// 修改参数 + /// + [HttpPost("api/app/forsex/update")] + public async Task UpdateAsync(char Id, UpdateForSexDto input) + { + var entity = await _forSexRepository.GetAsync(m => m.Id == Id); + var sourceEntity = ObjectMapper.Map(input); + await _manager.UpdateAsync(sourceEntity, entity); + entity = await _forSexRepository.UpdateAsync(entity); + return ObjectMapper.Map(entity); + } + + /// /// 获取适用性别列表 /// diff --git a/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs b/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs index 76eb370..5befa9e 100644 --- a/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs +++ b/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs @@ -367,6 +367,7 @@ public class PeisApplicationAutoMapperProfile : Profile CreateMap(); CreateMap(); + CreateMap(); CreateMap(); CreateMap().ForMember(d => d.CheckDate, opt => opt.MapFrom(src => PageHelper.ConvertDate(src.CheckDate))); diff --git a/src/Shentun.Peis.Domain/ForSexs/ForSex.cs b/src/Shentun.Peis.Domain/ForSexs/ForSex.cs index 48137fc..27c6366 100644 --- a/src/Shentun.Peis.Domain/ForSexs/ForSex.cs +++ b/src/Shentun.Peis.Domain/ForSexs/ForSex.cs @@ -12,7 +12,7 @@ namespace Shentun.Peis.Models /// 适用性别设置,固定编码 /// [Table("for_sex")] - public class ForSex : AuditedEntity, IHasConcurrencyStamp + public class ForSex : AuditedEntity, IHasConcurrencyStamp, ICharId, IDisplayName, IDisplayOrder { [Key] [Column("id")] diff --git a/src/Shentun.Peis.Domain/ForSexs/ForSexManager.cs b/src/Shentun.Peis.Domain/ForSexs/ForSexManager.cs index 889cc2c..353c1f2 100644 --- a/src/Shentun.Peis.Domain/ForSexs/ForSexManager.cs +++ b/src/Shentun.Peis.Domain/ForSexs/ForSexManager.cs @@ -18,6 +18,33 @@ namespace Shentun.Peis.ForSexs this._forSexRepository = forSexRepository; } + + /// + /// 更新 + /// + /// + /// + /// + public async Task UpdateAsync( + ForSex sourceEntity, + ForSex targetEntity + ) + { + DataHelper.CheckEntityIsNull(sourceEntity); + DataHelper.CheckEntityIsNull(targetEntity); + DataHelper.CheckStringIsNull(sourceEntity.DisplayName, "名称"); + DataHelper.CheckStringIsNull(sourceEntity.SimpleCode, "自定义简码"); + if (sourceEntity.DisplayName != targetEntity.DisplayName) + { + await EntityHelper.CheckSameName(_forSexRepository, sourceEntity.DisplayName, targetEntity); + targetEntity.DisplayName = sourceEntity.DisplayName; + } + if (sourceEntity.SimpleCode != targetEntity.SimpleCode) + targetEntity.SimpleCode = sourceEntity.SimpleCode; + } + + + /// /// 获取适用性别名称 ///