| | |
| | | using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; |
| | | using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services; |
| | | using CMS.Plugin.$NameSpacePath$.Domain.Shared; |
| | | using CMS.Plugin.$NameSpacePath$.Domain.Shared.Util; |
| | | using CMS.Plugin.$NameSpacePath$.Domain.Shared.$EntityName$; |
| | | using CmsQueryExtensions; |
| | | using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; |
| | | using CmsQueryExtensions.Extension; |
| | | using System.Linq.Expressions; |
| | |
| | | /// Initializes a new instance of the <see cref="$EntityName$AppService"/> class. |
| | | /// </summary> |
| | | /// <param name="$EntityName$Repository">The task job repository.</param> |
| | | public $EntityName$AppService(I$EntityName$Repository $EntityName$Repository) |
| | | public $EntityName$AppService(I$EntityName$Repository _$EntityName$Repository) |
| | | { |
| | | $EntityInstanceName$Repository = $EntityName$Repository; |
| | | $EntityInstanceName$Repository = _$EntityName$Repository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | await CheckCreateOrUpdateDtoAsync(input); |
| | | |
| | | var exist = await $EntityInstanceName$Repository.NameExistAsync(input.MaterialCode); |
| | | var exist = await $EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$); |
| | | if (exist) |
| | | { |
| | | throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); |
| | | throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.$ValidateRepeatName$]); |
| | | } |
| | | |
| | | var maxSort = await $EntityInstanceName$Repository.GetMaxSortAsync(); |
| | |
| | | await CheckCreateOrUpdateDtoAsync(input); |
| | | |
| | | var updateObj = await $EntityInstanceName$Repository.GetAsync(id); |
| | | var exist = await $EntityInstanceName$Repository.NameExistAsync(input.MaterialCode, updateObj.Id); |
| | | var exist = await $EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$, updateObj.Id); |
| | | if (exist) |
| | | { |
| | | throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); |
| | | throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.$ValidateRepeatName$]); |
| | | } |
| | | |
| | | updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); |
| | |
| | | #region 导å
¥æ ¡éª |
| | | |
| | | // 夿åç§°æ¯å¦éå¤ï¼å¹¶è¾åºç¬¬å è¡éå¤ |
| | | var duplicate$EntityName$s = importItems.GroupBy(x => x.MaterialCode).Where(x => x.Count() > 1).ToList(); |
| | | var duplicate$EntityName$s = importItems.GroupBy(x => x.$ValidateRepeatName$).Where(x => x.Count() > 1).ToList(); |
| | | if (duplicate$EntityName$s?.Any() == true) |
| | | { |
| | | var duplicate$EntityName$Msgs = duplicate$EntityName$s.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} è¡ï¼{x.Key} åç§°éå¤"); |
| | |
| | | |
| | | foreach (var impItem in importItems) |
| | | { |
| | | if (impItem.MaterialCode.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace()) |
| | | if (impItem.$ValidateRepeatName$.IsNullOrWhiteSpace()) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | if (impItem.MaterialCode.IsNullOrWhiteSpace()) |
| | | if (impItem.$ValidateRepeatName$.IsNullOrWhiteSpace()) |
| | | { |
| | | var errorMsg = $"导å
¥å¤±è´¥ï¼é
ç½®ï¼ç¬¬{impItem.RowIndex}è¡ï¼$EntityName$åç§°ä¸è½ä¸ºç©º"; |
| | | throw new UserFriendlyException(errorMsg); |
| | | } |
| | | |
| | | var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync(impItem.MaterialCode); |
| | | var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync(impItem.$ValidateRepeatName$); |
| | | if (old$EntityName$ != null) |
| | | { |
| | | var $EntityInstanceName$UpdateDto = new $EntityName$UpdateDto |
| | | { |
| | | MaterialCode = impItem.MaterialCode, |
| | | MaterialName = impItem.MaterialName, |
| | | PurchaseType = impItem.PurchaseType, |
| | | MaterialType = impItem.MaterialType, |
| | | PrimaryUnit = impItem.PrimaryUnit, |
| | | Standard = impItem.Standard, |
| | | OuterDiameter = impItem.OuterDiameter, |
| | | WallThickness = impItem.WallThickness, |
| | | MaterialQuality = impItem.MaterialQuality, |
| | | Length = impItem.Length, |
| | | IsMainBranch = impItem.IsMainBranch, |
| | | Factory = impItem.Factory, |
| | | Certification = impItem.Certification, |
| | | Remark = impItem.Remark, |
| | | $AppService_ImportAsync$ |
| | | }; |
| | | |
| | | $EntityInstanceName$UpdateDtos.Add((impItem.RowIndex, old$EntityName$.Id, $EntityInstanceName$UpdateDto)); |
| | |
| | | { |
| | | var $EntityInstanceName$CreateDto = new $EntityName$CreateDto |
| | | { |
| | | MaterialCode = impItem.MaterialCode, |
| | | MaterialName = impItem.MaterialName, |
| | | PurchaseType = impItem.PurchaseType, |
| | | MaterialType = impItem.MaterialType, |
| | | PrimaryUnit = impItem.PrimaryUnit, |
| | | Standard = impItem.Standard, |
| | | OuterDiameter = impItem.OuterDiameter, |
| | | WallThickness = impItem.WallThickness, |
| | | MaterialQuality = impItem.MaterialQuality, |
| | | Length = impItem.Length, |
| | | IsMainBranch = impItem.IsMainBranch, |
| | | Factory = impItem.Factory, |
| | | Certification = impItem.Certification, |
| | | Remark = impItem.Remark, |
| | | $AppService_ImportAsync$ |
| | | }; |
| | | |
| | | $EntityInstanceName$CreateDtos.Add((impItem.RowIndex, $EntityInstanceName$CreateDto)); |
| | |
| | | ["é
ç½®"] = ExportHelper.ConvertListToExportData(result), |
| | | }; |
| | | |
| | | var fileName = result.Count > 1 ? "$EntityName$å表" : result.Count == 1 ? result[0]?.MaterialCode : "$EntityName$模ç"; |
| | | var fileName = result.Count > 1 ? "$ChinaComment$å表" : result.Count == 1 ? result[0]?.$ValidateRepeatName$ : "$EntityName$模ç"; |
| | | return (sheets, fileName); |
| | | } |
| | | |