Exemplo n.º 1
0
        private async Task <DebtModel> EnrichDebtModel(DebtModel debt, DebtDto debtDto)
        {
            var customerDto = await customerService.GetCustomerByIdAsync(debtDto.CustomerId).ConfigureAwait(false);

            var agreemnetDto = await agreementService.GetAgreementByIdAsync(debtDto.AgreementId).ConfigureAwait(false);

            debt.CustomerINN   = customerDto.INN;
            debt.CustomerName  = customerDto.Name;
            debt.AgreementName = agreemnetDto.Name;
            debt.Postponement  = agreemnetDto.Postponement;
            debt.Total         = debt.StateDuty + debt.Fine + debt.StateDuty + debt.Penalties + debt.InterestAmount;
            debt.TotalExacted  = debt.StateDutyExacted + debt.FineExacted + debt.StateDutyExacted + debt.PenaltiesExacted + debt.InterestAmountExacted;
            var statusDto = debtStatus.GetDebtStatusByDebtId(debt.Id);
            var status    = statusDto.Select(p => mapper.Map <DebtStatusDto, DebtStatusModel>(p)).ToList();

            debt.DebtStatuses = status ?? new List <DebtStatusModel>();

            var debtPaidDto = debtPaid.GetDebtPaidByDebtId(debt.Id);

            debt.DebtPaid = GetDebtPaidModel(debtPaidDto.Sum, debt);

            var storesDto = debtStore.GetDebtStoreByDebtId(debt.Id);
            var stores    = storesDto.Select(p => mapper.Map <DebtStoreDto, DebtStoreModel>(p)).ToList();

            debt.DebtStores = stores ?? new List <DebtStoreModel>();

            debt.DebtClaim = new DebtClaimModel
            {
                DebtId          = 1,
                ClaimName       = "ОД +%",
                DateClaimStart  = DateTime.Now,
                DateClaimEnd    = DateTime.Now,
                NumberClaim     = "1",
                PenaltyRate     = 0.15,
                RefinancingRate = 9.5
            };

            return(debt);
        }