public void CalculoFinanceiroTestCredito()
        {
            FinancialProduct produto        = FinancialProduct.Credit;
            double           pvp            = 9900;
            double           entradaInicial = 0;
            double           residual       = 0;
            int    duracacao = 18;
            double taxa      = 4.836;

            double prestacaoEsperada = 571.30;

            FinancialCalculation calculoFinanceiro = new FinancialCalculation(produto, pvp, entradaInicial, residual, duracacao, taxa);

            Assert.AreEqual(prestacaoEsperada, calculoFinanceiro.MonthlyPayment);
        }
 protected override void OnFinancialCalculationChanged(FinancialCalculation value)
 {
     m_SelectedFinancialCalculation = value;
 }
 protected abstract void OnFinancialCalculationChanged(FinancialCalculation value);
 protected override void OnFinancialCalculationChanged(FinancialCalculation value)
 {
     m_SelectedFinancialCalculation = value;
     NotifyOfPropertyChange(() => PlotModelAnnualCapitalValueChange);
     NotifyOfPropertyChange(() => PlotModelCapitalValue);
 }
 protected override void OnFinancialCalculationChanged(FinancialCalculation value)
 {
     m_SelectedFinancialCalculation = value;
     m_Payments = m_SelectedFinancialCalculation.Payments;
     NotifyOfPropertyChange(() => Payments);
 }
示例#6
0
        public Object FinancialCalculation(string id)
        {
            Guid comparisonId;

            if (!Guid.TryParse(id,
                               out comparisonId))
            {
                return(BadRequest());
            }

            UserProfile userProfile = UserManager.FindById(User.Identity.GetUserId());

            Comparison comparison = _unitOfWork.ComparisonRepository.First(c => c.ComparisonId == comparisonId,
                                                                           "InvestmentPlan");

            if (comparison == null)
            {
                return(NotFound());
            }

            var companyId = comparison.InvestmentPlan.CompanyId.GetValueOrDefault();

            if (!UserManager.HasPermission(userProfile,
                                           companyId))
            {
                return(null);
            }


            var financialCalculation = new FinancialCalculation(comparison.InvestmentPlan,
                                                                comparison);

            var calculation = new object();

            try
            {
                calculation = new
                {
                    financialCalculation.DynamicAmortization,
                    financialCalculation.DynamicAmortizationPercentage,
                    financialCalculation.InterneVerzinsung,
                    financialCalculation.JahreskostenAltNeu,
                    financialCalculation.JahreskostenVergleich,
                    financialCalculation.Kapitalwert,
                    financialCalculation.Kostenersparnis,
                    financialCalculation.KreditFürInvestition,
                    financialCalculation.StaticAmortization,
                    financialCalculation.StaticAmortizationPercentage,
                    financialCalculation.KapitalwertArrayInvestition,
                    financialCalculation.KapitalwertArrayKosten,
                    financialCalculation.KapitalwertArrayNutzungsdauer,
                    financialCalculation.Payments,
                    financialCalculation.ComparisonName,
                    Amortisation10Percent           = financialCalculation.DynamicAmortization,
                    Amortisation10PercentPercentage = financialCalculation.DynamicAmortizationPercentage,
                    JährlicheKostenUndErträge       = financialCalculation.KapitalwertArrayKosten[500,
                                                                                                  0],
                    CapitalValue10Percent           = financialCalculation.Kapitalwert,
                    CapitalValue10PercentPercentage = financialCalculation.Kapitalwert,
                    InterestRate =
                        financialCalculation.InvestmentPlanModel == null
              ? 0
              : financialCalculation.InvestmentPlanModel.ImputedInterestRate * 100,
                    Lifetime =
                        financialCalculation.InvestmentPlanModel == null ? 0 : financialCalculation.InvestmentPlanModel.Lifetime
                };
            }
            catch (NullReferenceException e)
            {
                calculation = new { error = true };
            }

            return(calculation);
        }