protected virtual async Task ValidatePaymentRangeAsync(BankAccountPaymentRangeUnit input) { if (BankAccountPaymentRangeUnitRepository != null) { var paymentRangeUnit = await BankAccountPaymentRangeUnitRepository.GetAll() .Where( u => (((u.StartingPaymentNumber <= input.StartingPaymentNumber && u.EndingPaymentNumber >= input.StartingPaymentNumber) || (u.StartingPaymentNumber <= input.EndingPaymentNumber && u.EndingPaymentNumber >= input.EndingPaymentNumber) || (u.StartingPaymentNumber >= input.StartingPaymentNumber && u.EndingPaymentNumber <= input.EndingPaymentNumber)) && u.BankAccountId == input.BankAccountId)).ToListAsync(); if (input.Id == 0) { if (paymentRangeUnit.Count > 0) { throw new UserFriendlyException(L("StartingCheck# and EndingCheck# should not be overlap")); } } else { if (paymentRangeUnit.Select(p => p.Id != input.Id && p.StartingPaymentNumber == input.StartingPaymentNumber && p.EndingPaymentNumber == input.EndingPaymentNumber).Count() != 0) { throw new UserFriendlyException(L("StartingCheck# and EndingCheck# should not be overlap")); } } } }
public async Task UpdateBankAccountUnit(UpdateBankAccountUnitInput input) { var bankAccountUnit = await _bankAccountUnitRepository.GetAsync(input.BankAccountId); Mapper.Map(input, bankAccountUnit); await _bankAccountUnitManager.UpdateAsync(bankAccountUnit); #region Address Insertion if (!ReferenceEquals(input.Addresses, null)) { foreach (var address in input.Addresses) { if (address.AddressId != 0) { await _addressAppService.UpdateAddressUnit(address); } else { if (!string.IsNullOrEmpty(address.Line1) || !string.IsNullOrEmpty(address.Line2) || !string.IsNullOrEmpty(address.Line4) || !string.IsNullOrEmpty(address.Line4) || !string.IsNullOrEmpty(address.State) || !string.IsNullOrEmpty(address.Country) || !string.IsNullOrEmpty(address.Email) || !string.IsNullOrEmpty(address.Phone1) || !string.IsNullOrEmpty(address.Website)) { address.TypeofObjectId = TypeofObject.BankAccountUnit; address.ObjectId = input.BankAccountId; //AutoMapper.Mapper.CreateMap<UpdateAddressUnitInput, CreateAddressUnitInput>(); await _addressAppService.CreateAddressUnit( AutoMapper.Mapper.Map <UpdateAddressUnitInput, CreateAddressUnitInput>(address)); } } await CurrentUnitOfWork.SaveChangesAsync(); } } #endregion if (!ReferenceEquals(input.BankAccountPaymentRangeList, null)) { foreach (var bankAccPayRange in input.BankAccountPaymentRangeList) { if (bankAccPayRange.BankAccountPaymentRangeId == 0) { BankAccountPaymentRangeUnit bankaccpayrangeinput = bankAccPayRange.MapTo <BankAccountPaymentRangeUnit>(); await _bankAccountPaymentRangeUnitManager.CreateAsync(bankaccpayrangeinput); } else { var bankAccountPaymentRange = await _bankAccountPaymentRangeRepository.GetAsync(bankAccPayRange.BankAccountPaymentRangeId); Mapper.Map(bankAccPayRange, bankAccountPaymentRange); await _bankAccountPaymentRangeUnitManager.UpdateAsync(bankAccountPaymentRange); } await CurrentUnitOfWork.SaveChangesAsync(); } } await CurrentUnitOfWork.SaveChangesAsync(); }
public virtual async Task UpdateAsync(BankAccountPaymentRangeUnit input) { await ValidatePaymentRangeAsync(input); await BankAccountPaymentRangeUnitRepository.UpdateAsync(input); }