示例#1
0
        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"));
                    }
                }
            }
        }
示例#2
0
        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();
        }
示例#3
0
        public virtual async Task UpdateAsync(BankAccountPaymentRangeUnit input)
        {
            await ValidatePaymentRangeAsync(input);

            await BankAccountPaymentRangeUnitRepository.UpdateAsync(input);
        }