| | |
| | | try |
| | | { |
| | | List<Dt_SupplierInfo> OldsupplierInfos = BaseDal.QueryData(x => x.InvOrgId == MaterielInvOrgEnum.èå.ObjToInt()); |
| | | //夿é夿å
¥ |
| | | Dt_SupplierInfo? ExistSupplier = OldsupplierInfos.FirstOrDefault(x => bSTSupplierDTOs.Where(x => x.Way == 1).Select(x => x.VendId).Contains(x.SupplierSourceId)); |
| | | if (ExistSupplier != null) |
| | | //æ°å¢ |
| | | List<BSTSupplierDTO> bSTSupplierDTOsAdd = bSTSupplierDTOs.Where(x => x.Way == 1).ToList(); |
| | | //ä¿®æ¹ |
| | | List<BSTSupplierDTO> bSTSupplierDTOsUpdate = bSTSupplierDTOs.Where(x => x.Way == 2).ToList(); |
| | | //å é¤ |
| | | List<BSTSupplierDTO> bSTSupplierDTOsDTODel = bSTSupplierDTOs.Where(x => x.Way == 3).ToList(); |
| | | List<Dt_SupplierInfo> supplierInfosAdd = new List<Dt_SupplierInfo>(); |
| | | List<Dt_SupplierInfo> supplierInfosUpdate = new List<Dt_SupplierInfo>(); |
| | | //æ°å¢ |
| | | if (bSTSupplierDTOsAdd.Count > 0) |
| | | { |
| | | return content.Error($"ç©æId{nameof(BSTSupplierDTO.VendId)}:{ExistSupplier.SupplierSourceId}å·²åå¨"); |
| | | //夿é夿å
¥ |
| | | Dt_SupplierInfo? ExistSupplier = OldsupplierInfos.FirstOrDefault(x => bSTSupplierDTOsAdd.Select(x => x.VendId).Contains(x.SupplierSourceId)); |
| | | if (ExistSupplier != null) |
| | | { |
| | | return content.Error($"ä¾åºå{nameof(BSTSupplierDTO.VendId)}:{ExistSupplier.SupplierSourceId}å·²åå¨"); |
| | | } |
| | | |
| | | foreach (var item in bSTSupplierDTOsAdd) |
| | | { |
| | | if (bSTSupplierDTOsUpdate.FirstOrDefault(x => x.VendId == item.VendId) != null) |
| | | { |
| | | continue; |
| | | } |
| | | Dt_SupplierInfo supplierInfo = _mapper.Map<Dt_SupplierInfo>(item); |
| | | supplierInfosAdd.Add(supplierInfo); |
| | | } |
| | | } |
| | | List<Dt_SupplierInfo> supplierInfos = new List<Dt_SupplierInfo>(); |
| | | foreach (var item in bSTSupplierDTOs) |
| | | //æ´æ° |
| | | if (bSTSupplierDTOsUpdate.Count > 0) |
| | | { |
| | | Dt_SupplierInfo supplierInfo = _mapper.Map<Dt_SupplierInfo>(item); |
| | | supplierInfos.Add(supplierInfo); |
| | | //è·åå·²åå¨çç©æ |
| | | List<Dt_SupplierInfo>? ExistbSTSuppliersUpdate = OldsupplierInfos.Where(x => bSTSupplierDTOsUpdate.Select(x => x.VendId).Contains(x.SupplierSourceId)).ToList(); |
| | | foreach (var item in bSTSupplierDTOsUpdate) |
| | | { |
| | | Dt_SupplierInfo? supplierInfoUpdate = ExistbSTSuppliersUpdate.FirstOrDefault(x => x.SupplierSourceId == item.VendId); |
| | | //å¦æç©æå·²åå¨åè¿è¡æ´æ¹ |
| | | if (supplierInfoUpdate != null) |
| | | { |
| | | supplierInfoUpdate.SupplierSourceId = item.VendId; |
| | | supplierInfoUpdate.SupplierCode = item.VendNo; |
| | | supplierInfoUpdate.SupplierShortName = item.ShortName; |
| | | supplierInfoUpdate.SupplierName = item.ShortName; |
| | | supplierInfoUpdate.Contacts = item.BusinessContact; |
| | | supplierInfoUpdate.ContactNumber = item.Tel; |
| | | supplierInfoUpdate.ContactAddress = item.Address; |
| | | supplierInfosUpdate.Add(supplierInfoUpdate); |
| | | } |
| | | else//妿ä¸åå¨åè¿è¡æ°å¢ |
| | | { |
| | | Dt_SupplierInfo supplierInfo = _mapper.Map<Dt_SupplierInfo>(item); |
| | | supplierInfosAdd.Add(supplierInfo); |
| | | } |
| | | } |
| | | } |
| | | BaseDal.AddData(supplierInfos); |
| | | //å é¤ |
| | | if (bSTSupplierDTOsDTODel.Count > 0) |
| | | { |
| | | |
| | | } |
| | | //æ´æ°æ°æ® |
| | | _unitOfWorkManage.CommitTran(); |
| | | BaseDal.AddData(supplierInfosAdd); |
| | | BaseDal.UpdateData(supplierInfosUpdate); |
| | | _unitOfWorkManage.CommitTran(); |
| | | content.OK("æ¥æ¶æå"); |
| | | } |
| | | catch (Exception ex) |