Example #1
0
        public void SaveTransaction(NetPresentValueInputDto netPresentValueInputDto)
        {
            var transaction   = _mapper.Map <Transaction>(netPresentValueInputDto);
            var transactionId = _transactionRepository.InsertTransaction(transaction).Result;

            foreach (var item in netPresentValueInputDto.CashFlows)
            {
                item.TransactionId = Convert.ToInt32(transactionId);
            }

            foreach (var item in netPresentValueInputDto.NetPresentValueResults)
            {
                item.TransactionId = Convert.ToInt32(transactionId);
            }

            var cashFlows = _mapper.Map <IEnumerable <CashFlow> >(netPresentValueInputDto.CashFlows);

            cashFlows.ToList().ForEach(c =>
            {
                _cashFlowRepository.InsertCashFlow(c);
            });

            var results = _mapper.Map <IEnumerable <NetPresentValue> >(netPresentValueInputDto.NetPresentValueResults);

            results.ToList().ForEach(r =>
            {
                _netPresentValueRepository.InsertNetPresentValue(r);
            });
        }
Example #2
0
        public IEnumerable <double> GetNetPresentValue(NetPresentValueInputDto netPresentValueInputDto)
        {
            var npvCalculator = _npvCalculatorFactory.Build(netPresentValueInputDto.DiscountRateType);
            var toBeCompute   = _mapper.Map <NetPresentValueCalculationInputDto>(netPresentValueInputDto);
            var result        = npvCalculator.Compute(toBeCompute);

            return(result);
        }
Example #3
0
        public IActionResult ComputeNetPresentValue([FromBody] NetPresentValueInputDto request)
        {
            var result = _netPresentValueService.GetNetPresentValue(request);

            return(Ok(result));
        }
 public IActionResult SaveNetPresentValue([FromBody] NetPresentValueInputDto netPresentValueInputDto)
 {
     _netPresentValueService.SaveTransaction(netPresentValueInputDto);
     return(Ok());
 }