| | |
| | | |
| | | var $EntityInstanceName$CreateDtos = new List<(int RowIndex, $EntityName$CreateDto Item)>(); |
| | | var $EntityInstanceName$UpdateDtos = new List<(int RowIndex, Guid Id, $EntityName$UpdateDto Item)>(); |
| | | var $EntityInstanceName$s = input.$EntityInstanceName$s; |
| | | var importItems = input.$EntityName$s; |
| | | |
| | | if ($EntityInstanceName$s != null && $EntityInstanceName$s.Any()) |
| | | if (importItems != null && importItems.Any()) |
| | | { |
| | | #region 导å
¥æ ¡éª |
| | | |
| | | // 夿åç§°æ¯å¦éå¤ï¼å¹¶è¾åºç¬¬å è¡éå¤ |
| | | var duplicate$EntityName$s = $EntityInstanceName$s.GroupBy(x => x.MaterialCode).Where(x => x.Count() > 1).ToList(); |
| | | var duplicate$EntityName$s = importItems.GroupBy(x => x.MaterialCode).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} åç§°éå¤"); |
| | |
| | | |
| | | #endregion |
| | | |
| | | foreach (var $EntityInstanceName$ in $EntityInstanceName$s) |
| | | foreach (var impItem in importItems) |
| | | { |
| | | if ($EntityInstanceName$.MaterialCode.IsNullOrWhiteSpace() && $EntityInstanceName$.MaterialName.IsNullOrWhiteSpace()) |
| | | if (impItem.MaterialCode.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace()) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | if ($EntityInstanceName$.MaterialCode.IsNullOrWhiteSpace()) |
| | | if (impItem.MaterialCode.IsNullOrWhiteSpace()) |
| | | { |
| | | var errorMsg = $"导å
¥å¤±è´¥ï¼é
ç½®ï¼ç¬¬{$EntityInstanceName$.RowIndex}è¡ï¼$EntityInstanceName$åç§°ä¸è½ä¸ºç©º"; |
| | | var errorMsg = $"导å
¥å¤±è´¥ï¼é
ç½®ï¼ç¬¬{impItem.RowIndex}è¡ï¼$EntityName$åç§°ä¸è½ä¸ºç©º"; |
| | | throw new UserFriendlyException(errorMsg); |
| | | } |
| | | |
| | | var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync($EntityName$.MaterialCode); |
| | | var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync(impItem.MaterialCode); |
| | | if (old$EntityName$ != null) |
| | | { |
| | | var $EntityInstanceName$UpdateDto = new $EntityName$UpdateDto |
| | | { |
| | | $UpdateAttributesForImport$ |
| | | 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, |
| | | }; |
| | | |
| | | $EntityInstanceName$UpdateDtos.Add(($EntityName$.RowIndex, old$EntityName$.Id, $EntityInstanceName$UpdateDto)); |
| | | $EntityInstanceName$UpdateDtos.Add((impItem.RowIndex, old$EntityName$.Id, $EntityInstanceName$UpdateDto)); |
| | | } |
| | | else |
| | | { |
| | | var $EntityName$CreateDto = new $EntityName$CreateDto |
| | | var $EntityInstanceName$CreateDto = new $EntityName$CreateDto |
| | | { |
| | | $UpdateAttributesForImport$ |
| | | 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, |
| | | }; |
| | | |
| | | $EntityInstanceName$CreateDtos.Add(($EntityName$.RowIndex, $EntityName$CreateDto)); |
| | | $EntityInstanceName$CreateDtos.Add((impItem.RowIndex, $EntityInstanceName$CreateDto)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // æ°å¢ |
| | | foreach (var $EntityName$Dto in $EntityInstanceName$CreateDtos) |
| | | foreach (var $EntityInstanceName$Dto in $EntityInstanceName$CreateDtos) |
| | | { |
| | | try |
| | | { |
| | | await CreateAsync($EntityName$Dto.Item); |
| | | await CreateAsync($EntityInstanceName$Dto.Item); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | var errorMsg = $"导å
¥å¤±è´¥ï¼é
ç½®ï¼ç¬¬{$EntityName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å
¥"; |
| | | var errorMsg = $"导å
¥å¤±è´¥ï¼é
ç½®ï¼ç¬¬{$EntityInstanceName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å
¥"; |
| | | throw new UserFriendlyException(errorMsg); |
| | | } |
| | | } |
| | | |
| | | // æ´æ° |
| | | foreach (var $EntityName$Dto in $EntityInstanceName$UpdateDtos) |
| | | foreach (var $EntityInstanceName$Dto in $EntityInstanceName$UpdateDtos) |
| | | { |
| | | try |
| | | { |
| | | await UpdateAsync($EntityName$Dto.Id, $EntityName$Dto.Item); |
| | | await UpdateAsync($EntityInstanceName$Dto.Id, $EntityInstanceName$Dto.Item); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | var errorMsg = $"导å
¥å¤±è´¥ï¼é
ç½®ï¼ç¬¬{$EntityName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å
¥"; |
| | | var errorMsg = $"导å
¥å¤±è´¥ï¼é
ç½®ï¼ç¬¬{$EntityInstanceName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å
¥"; |
| | | throw new UserFriendlyException(errorMsg); |
| | | } |
| | | } |