public void CalculateCredit_Exception_CreditScore()
        {
            var customer   = new Customer(300, 2, 1, 44);
            var calculator = new CreditCalculator();

            Assert.Throws <InvalidCreditScoreException>(() => calculator.CalculateCredit(customer));
        }
        public void Calculate_Credit_John()
        {
            var john       = new Customer(750, 1, 4, 29);
            var calculator = new CreditCalculator();

            Assert.Equal(400, calculator.CalculateCredit(john));
        }
 private void Calculation_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (datePickerCalc.Text == "")
         {
             throw new Exception("Вы не указали дату окончания кредита!");
         }
         if (Convert.ToDateTime(datePickerCalc.Text) <= DateTime.Now)
         {
             throw new Exception("Дата окончания кредита указана неверно!");
         }
         if (_consumerCreditModel.TypePayment == "Annuitet")
         {
             SumCredit.Content      = CreditCalculator.AnnuitetSumPayment(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽";
             MonthlyPayment.Content = CreditCalculator.MonthlyPaymentAnnuitet(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽";
         }
         else
         {
             SumCredit.Content      = CreditCalculator.DifferSumPayment(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽";
             MonthlyPayment.Content = CreditCalculator.MonthlyPaymentAnnuitet(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽";
             MessageBox.Show("Расчет не точен т.к. при дифференцируемых платежах ежемесячный платеж может отличаться!");
         }
         MessageBox.Show("Расчет произведён!");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString());
     }
 }
Esempio n. 4
0
        public void CalculateCreditTest()
        {
            var creditCalculator = new CreditCalculator();
            var creditInfo       = creditCalculator.Calculate(1200, 0, 10, 12, 200);

            Assert.AreEqual(Math.Round(creditInfo.PaymentMonth, 0), 106);
            Assert.AreEqual(Math.Round(creditInfo.FullPrice, 0), 1266);
            Assert.IsTrue(creditInfo.IsPossible);

            creditInfo = creditCalculator.Calculate(1200, 0, 10, 12, 100);
            Assert.IsFalse(creditInfo.IsPossible);
        }
Esempio n. 5
0
        public void Initialize()
        {
            var memoryService     = new PhoneMemoryService();
            var iconsService      = new IconsService();
            var statisticsManager = new StatisticsManager();

            var options     = new Options(memoryService);
            var dataContext = new DataContext(memoryService);

            var skyDriveFileManager = new SkyDriveFileManager(memoryService);
            var skyDriveService     = new SkyDriveService(dataContext, skyDriveFileManager);

            var csvDataExportService = new CsvDataExportService(memoryService);

            var cashService                  = new CashService(dataContext);
            var tileService                  = new TileService(dataContext);
            var categoryUsageService         = new CategoryUsageService(dataContext.Operations);
            var dependenciesService          = new DependenciesService(dataContext, iconsService);
            var defaultCategoriesInitializer = new DefaultCategoriesInitializer(dataContext, iconsService);
            var accountInitializer           = new AccountsInitializer(dataContext);

            var ratesHtmlParser   = new RatesHtmlParser();
            var ratesWebClient    = new RatesWebClient();
            var ratesService      = new RatesService(memoryService, ratesHtmlParser, ratesWebClient);
            var depositCalculator = new DepositCalculator();
            var creaditCalculator = new CreditCalculator();

            _container.RegisterInstance <IPhoneMemoryService>(memoryService);
            _container.RegisterInstance <IIconsService>(iconsService);
            _container.RegisterInstance <IStatisticsManager>(statisticsManager);

            _container.RegisterInstance <Options>(options);
            _container.RegisterInstance <IDataContext>(dataContext);

            _container.RegisterInstance <ISkyDriveService>(skyDriveService);
            _container.RegisterInstance <IDataExportService>(csvDataExportService);
            _container.RegisterInstance <ICashService>(cashService);
            _container.RegisterInstance <IRatesService>(ratesService);
            _container.RegisterInstance <DepositCalculator>(depositCalculator);
            _container.RegisterInstance <CreditCalculator>(creaditCalculator);
        }
Esempio n. 6
0
 private void Calculation_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (datePickerCalc.Text == "")
         {
             throw new Exception("Вы не указали дату окончания ипотеки!");
         }
         if (Convert.ToDateTime(datePickerCalc.Text) <= DateTime.Now)
         {
             throw new Exception("Дата окончания ипотеки указана неверно!");
         }
         SumCredit.Content      = CreditCalculator.AnnuitetSumPaymentWithInitialFee(Convert.ToDecimal(sliderSum.Value), Convert.ToDecimal(sliderFee.Value), _mortrageModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽";
         MonthlyPayment.Content = CreditCalculator.MonthlyPaymentAnnuitetWithInitialFee(Convert.ToDecimal(sliderSum.Value), Convert.ToDecimal(sliderFee.Value), _mortrageModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽";
         MessageBox.Show("Расчет произведён!");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString());
     }
 }
Esempio n. 7
0
 public CreditViewModel()
 {
     _statistics = App.Container.GetInstance <IStatisticsManager>();
     _calculator = App.Container.GetInstance <CreditCalculator>();
 }