Пример #1
0
        public void TestIfRealDisbursmentCurveCorrectlyCalculate()
        {
            int      forecastDays = 8;
            DateTime date         = new DateTime(2006, 1, 1);

            List <KeyValuePair <DateTime, decimal> > list = new List <KeyValuePair <DateTime, decimal> >
            {
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 1), 100),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 2), 200),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 4), 400),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 6), 1233),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 9), 4876)
            };

            mockContractManagement.SetReturnValue("CalculateCashToDisburseByDay", list);
            contractManagement = (LoanManager)mockContractManagement.MockInstance;
            this.graphServices = new GraphServices(contractManagement);
            double[] disbursmentState = new double[forecastDays];

            disbursmentState = this.graphServices.CalculateRealDisbursmentCurve(date, forecastDays);
            Assert.AreEqual(100, disbursmentState[0]);
            Assert.AreEqual(300, disbursmentState[1]);
            Assert.AreEqual(300, disbursmentState[2]);
            Assert.AreEqual(700, disbursmentState[3]);
            Assert.AreEqual(700, disbursmentState[4]);
            Assert.AreEqual(1933, disbursmentState[5]);
            Assert.AreEqual(1933, disbursmentState[6]);
            Assert.AreEqual(1933, disbursmentState[7]);
        }
Пример #2
0
        public void TestIfRealRepayCurveCorrectlyCalculate()
        {
            int      forecastDays = 10;
            DateTime date         = new DateTime(2006, 1, 1);

            List <KeyValuePair <DateTime, decimal> > cashToRepayByDay = new List <KeyValuePair <DateTime, decimal> >
            {
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 1), 100),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 2), 184),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 4), 3944),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 5), 5978),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 7), 6000),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 8), 6001),
                new KeyValuePair <DateTime, decimal>(new DateTime(2006, 1, 10), 6876)
            };

            mockContractManagement.SetReturnValue("CalculateCashToRepayByDay", cashToRepayByDay);

            contractManagement = (LoanManager)mockContractManagement.MockInstance;
            this.graphServices = new GraphServices(contractManagement);
            double[] realPrevision = new double[forecastDays];
            realPrevision = this.graphServices.CalculateRealRepayCurve(date, forecastDays);

            Assert.AreEqual(100, realPrevision[0]);
            Assert.AreEqual(284, realPrevision[1]);
            Assert.AreEqual(284, realPrevision[2]);
            Assert.AreEqual(4228, realPrevision[3]);
            Assert.AreEqual(10206, realPrevision[4]);
            Assert.AreEqual(10206, realPrevision[5]);
            Assert.AreEqual(16206, realPrevision[6]);
            Assert.AreEqual(22207, realPrevision[7]);
            Assert.AreEqual(22207, realPrevision[8]);
            Assert.AreEqual(29083, realPrevision[9]);
        }
Пример #3
0
        public static void DisplayChart(MainForm form)
        {
            DateTime data       = new DateTime(form.dtpStatystykiWyborDaty.Value.Date.Year, 1, 1);
            int      idEmployee = Convert.ToInt32(form.cbStatisticSelectEmployee.SelectedValue);

            double[] months = new double[12];

            //zerowanie punktów żeby przy wyświetlaniu kolejnego roku się nie dodawały
            foreach (Series s in form.chart2.Series)
            {
                s.Points.Clear();
            }

            LoanManager.GetLoanToList(idEmployee);

            //dodaje do paska postępu
            MainForm.progressLoading += 8;

            foreach (Loan l in LoanManager.arrayLoans)
            {
                //jezeli data jest mniejsza od wybranej to przypisuje kwote
                //pożyczki od tego miesiąca w góre
                if (l.Date.Year == data.Year)
                {
                    AddLoanAmount(months, l.Date.Month - 1, l.Amount);
                }

                //jeżeli kredyt był w poprzednim roku to pwisuje kwote kredytu na casły rok
                if (l.Date.Year < data.Year)
                {
                    AddLoanAmount(months, 0, l.Amount);
                }

                foreach (LoanInstallment rp in l.ArrayInstallmentLoan)
                {
                    if (rp.Date.Year == data.Year)
                    {
                        SubLoanInstallmentAmount(months, rp.Date.Month - 1, rp.InstallmentAmount);
                    }
                    if (rp.Date.Year < data.Year)
                    {
                        SubLoanInstallmentAmount(months, 0, rp.InstallmentAmount);
                    }
                }
            }
            // i wyświetla w grafie
            for (int i = 0; i < months.Length; i++)
            {
                form.chart2.Series["pozyczki"].Points.AddXY(i + 1, months[i]);
            }

            //nie wyświetla kwoty gdy =0.00
            for (int i = 0; i < 12; i++)
            {
                if ((int)form.chart2.Series["pozyczki"].Points[i].YValues[0] == 0)
                {
                    form.chart2.Series["pozyczki"].Points[i].Label = string.Format(" ");
                }
            }
        }
Пример #4
0
        public IActionResult GetLoanHistory(int userId, bool isRequest)
        {
            var loanMgr = new LoanManager(_context, _configuration);
            var loans   = loanMgr.GetLoanHistory(userId, isRequest);

            return(Ok(loans));
        }
Пример #5
0
        static void Main(string[] args)
        {
            var isContinue = true;

            while (isContinue)                                                  //Loop while user not enter 'Exit'
            {
                ILoanCalculationModel loanInfo = null;
                var loanmanager = new LoanManager();
                var loanModel   = InputHelper.FillLoanFields();                // Filling viewModel from console
                try
                {
                    loanInfo = loanmanager.CalculateLoanStatistics(loanModel); //Calculating loan info
                }

                //Catching  Bl exceptions and writin to log
                catch (InvalidAmountException)
                {
                    Log.Error(Errors.InvalidAmount);
                }
                catch (InvalidInterestException)
                {
                    Log.Error(Errors.InvalidInterest);
                }
                catch (InvalidDownPaymentException)
                {
                    Log.Error(Errors.InvalidDownPayment);
                }
                catch (InvalidTermException)
                {
                    Log.Error(Errors.InvalidTerm);
                }
                catch (LoanInfoModelNotFoundException)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(Errors.LoanInfoModelNotFound);
                    Console.ResetColor();
                    Log.Error(Errors.LoanInfoModelNotFound);
                }
                catch (InvalidTotalInterestException)
                {
                    Log.Error(Errors.InvalidTotalInterest);
                }
                catch (InvalidMonthlyPaymentException)
                {
                    Log.Error(Errors.InvalidMonthlyPayment);
                }
                catch (InvalidTotalPaymentException)
                {
                    Log.Error(Errors.InvalidTotalPayment);
                }
                InputHelper.WriteLoanInfo(loanInfo);                                // Writing to the display
                Console.WriteLine(Errors.ExitMessage);
                var exit = Console.ReadLine();
                if (!string.IsNullOrEmpty(exit))                                    // Trying to exit
                {
                    isContinue = exit.ToLower() != "e";
                }
            }
        }
Пример #6
0
        //GET api/loan
        public IHttpActionResult Get()
        {
            apiResp = new ApiResponse();
            var mng = new LoanManager();

            apiResp.Data = mng.RetrieveAll();
            return(Ok(apiResp));
        }
Пример #7
0
 public EventProcessorServices(EventManager eventManagement, AccountingTransactionManager movementSetManagement, LoanManager loanManager,
                               AccountManager accountManagement)
 {
     _eventManagement       = eventManagement;
     _movementSetManagement = movementSetManagement;
     _loanManager           = loanManager;
     _InitializeEventProcessor();
 }
        public void SearchCreditContractByCriteresProxy1()
        {
            LoanManager c = (LoanManager)container["LoanManager"];
            int         count;
            List <CreditSearchResult> list = c.SearchCreditContractByCriteres(1, "44", out count);

            Assert.IsTrue(list.Count > 0);
        }
        public void GetNumberCreditContract1()
        {
            LoanManager c = (LoanManager)container["LoanManager"];
            int         count;

            c.SearchCreditContractByCriteres(1, "DFR", out count);
            Assert.IsTrue(count == 0);
        }
Пример #10
0
        public IActionResult GetLoanDetails(string loanId, bool isRequest)
        {
            var loanMgr = new LoanManager(_context, _configuration);
            var loan    = loanMgr.GetLoanDetails(loanId);

            if (isRequest == true)
            {
                loan.Documents = loanMgr.GetRequiredDocuments();
            }
            return(Ok(loan));
        }
Пример #11
0
        public AmortizationDetailsViewModel(LoanDetailsModel loanDetails)
        {
            AmortizationDetails = new ObservableCollection <AmortizationDetails>();
            var results = new LoanManager(loanDetails).GenerateFullAmortization();

            GetAmortizationOverview(loanDetails, results);

            foreach (var result in results.AmortizationDetails)
            {
                AmortizationDetails.Add(result);
            }
        }
Пример #12
0
 public ProjectManager(User pUser, bool pInitializeAll) : base(pUser)
 {
     if (pInitializeAll)
     {
         _creditManager = new LoanManager(pUser);
         _locations     = new LocationsManager(pUser);
     }
     else
     {
         _clientManager = new ClientManager(pUser, false, false);
     }
 }
Пример #13
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.L))
     {
         Loan loan = LoanManager.NewLoan();
         wealth += loan.Amount;
     }
     if (Input.GetKeyDown(KeyCode.K))
     {
         LoanManager.GetLoan().Print();
     }
 }
Пример #14
0
 public EventProcessorServices(User pUser)
 {
     _user                  = pUser;
     _eventManagement       = new EventManager(_user);
     _savingEventManagement = new SavingEventManager(_user);
     _movementSetManagement = new AccountingTransactionManager(_user);
     _loanManager           = new LoanManager(_user);
     _packageManager        = new LoanProductManager(_user);
     _accountingServices    = new Accounting.AccountingServices(_user);
     _clientManagement      = new ClientManager(_user, false, false);
     _InitializeEventProcessor();
 }
Пример #15
0
        public void InitManager()
        {
            TechnicalSettings.CheckSettings();

            LoanProductManager           loanProductManager           = new LoanProductManager(DataUtil.TESTDB);
            AccountingTransactionManager accountingTransactionManager = new AccountingTransactionManager(DataUtil.TESTDB);
            EventManager            eventManager            = new EventManager(DataUtil.TESTDB);
            ExchangeRateManager     exchangeRateManager     = new ExchangeRateManager(DataUtil.TESTDB);
            ProvisioningRuleManager provisioningRuleManager = new ProvisioningRuleManager(DataUtil.TESTDB);
            AccountManager          accountManager          = new AccountManager(DataUtil.TESTDB);
            InstallmentTypeManager  installmentTypeManager  = new InstallmentTypeManager(DataUtil.TESTDB);
            UserManager             userManager             = new UserManager(DataUtil.TESTDB);
            EconomicActivityManager economicActivityManager = new EconomicActivityManager(DataUtil.TESTDB);
            InstallmentManager      installmentManager      = new InstallmentManager(DataUtil.TESTDB);
            FundingLineManager      fundingLineManager      = new FundingLineManager(DataUtil.TESTDB);
            ClientManager           clientManager           = new ClientManager(DataUtil.TESTDB);
            LocationsManager        locationsManager        = new LocationsManager(DataUtil.TESTDB);
            LoanManager             loanManager             = new LoanManager(DataUtil.TESTDB);
            ProjectManager          projectManager          = new ProjectManager(DataUtil.TESTDB);
            MFIManager            mfiManager            = new MFIManager(DataUtil.TESTDB);
            SavingManager         savingManager         = new SavingManager(DataUtil.TESTDB);
            SavingProductManager  savingProductManager  = new SavingProductManager(DataUtil.TESTDB);
            SavingEventManager    savingEventManager    = new SavingEventManager(DataUtil.TESTDB);
            CurrencyManager       currencyManager       = new CurrencyManager(DataUtil.TESTDB);
            AccountingRuleManager accountingRuleManager = new AccountingRuleManager(DataUtil.TESTDB);
            FundingLineServices   fundingLineServices   = new FundingLineServices(DataUtil.TESTDB);

            container = new Hashtable
            {
                { "LoanProductManager", loanProductManager },
                { "AccountingTransactionManager", accountingTransactionManager },
                { "EventManager", eventManager },
                { "ExchangeRateManager", exchangeRateManager },
                { "ProvisioningRuleManager", provisioningRuleManager },
                { "AccountManager", accountManager },
                { "InstallmentTypeManager", installmentTypeManager },
                { "UserManager", userManager },
                { "FundingLineManager", fundingLineManager },
                { "LoanManager", loanManager },
                { "ClientManager", clientManager },
                { "LocationsManager", locationsManager },
                { "ProjectManager", projectManager },
                { "EconomicActivityManager", economicActivityManager },
                { "InstallmentManager", installmentManager },
                { "MFIManager", mfiManager },
                { "SavingManager", savingManager },
                { "SavingProductManager", savingProductManager },
                { "SavingEventManager", savingEventManager },
                { "CurrencyManager", currencyManager },
                { "FundingLineServices", fundingLineServices },
                { "AccountingRuleManager", accountingRuleManager }
            };
        }
Пример #16
0
        void AssignLoan(int id)
        {
            //pobieranie danych o pożyczce z bazy danych
            loan = LoanManager.GetLoan(id);

            //wyświetlenie ich w polach textowych
            cbEmployee.SelectedValue = loan.IdEmployee;
            tbName.Text            = loan.Name;
            dtpData.Value          = loan.Date.Date;
            tbAmount.Text          = loan.Amount.ToString();
            tbInstallmentLoan.Text = loan.InstallmentLoan.ToString();
            tbOther.Text           = loan.OtherInfo;
        }
Пример #17
0
    void OnNewMonthEvent(NewMonthEvent e)
    {
        foreach (Building b in buildings)
        {
            wealth += b.State == BuildingState.Owned ? b.TotalRent : 0;
        }
        Loan loan = LoanManager.GetLoan();

        if (loan != null && !loan.Completed)
        {
            wealth -= loan.MonthlyPayment;
        }
    }
Пример #18
0
 public HttpResponseMessage GetLoans([FromUri] int?from = null, [FromUri] int?amount = null)
 {
     try
     {
         LoanSupportRequests loans    = LoanManager.GetLoans(from, amount);
         List <LoansDto>     loansDto = Converters.Convert(loans);
         return(Request.CreateResponse(HttpStatusCode.OK, loansDto));
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, $"Failed to load loans"));
     }
 }
Пример #19
0
        public void TestDeleteInstallmentsByCredit()
        {
            InstallmentManager installmentManagement    = (InstallmentManager)container["InstallmentManager"];
            LoanManager        creditContractManagement = (LoanManager)container["LoanManager"];

            Loan myCredit           = creditContractManagement.SelectLoan(1, true, true, true);
            List <Installment> list = installmentManagement.SelectInstallments(1);

            Assert.AreEqual(3, list.Count);

            installmentManagement.DeleteInstallments(myCredit.Id);
            list = installmentManagement.SelectInstallments(1);
            Assert.AreEqual(0, list.Count);
        }
Пример #20
0
 // DELETE
 public IHttpActionResult Delete(Loans loan)
 {
     try
     {
         var mng = new LoanManager();
         mng.Delete(loan);
         apiResp         = new ApiResponse();
         apiResp.Message = "Action was executed";
         return(Ok(apiResp));
     }
     catch (BusinessException bex)
     {
         return(InternalServerError(new Exception(bex.ExceptionID + "-" + bex.AppMessage.Message)));
     }
 }
Пример #21
0
        /// <summary>
        /// Zapisuje pożyczke w bazie danych
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                CheckDataCorrectness();

                DataAssignment();

                if (isEdit)
                {
                    LoanManager.EditLoan(loan, ConnectionToDB.notDisconnect);
                    Blokady.UsuwanieBlokady(Polaczenia.idUser, NazwaTabeli.pozyczka);
                }
                else
                {
                    LoanManager.AddLoan(loan, ConnectionToDB.disconnect);
                }
                //jeżeli nie było błedów ustawia poprawność na true
                Loan.correctLoan = true;

                //zamykanie formularza
                this.Close();
            }
            catch (FormatException)
            {
                MessageBox.Show("Musisz podać kwotę oddzieloną przecinkiem (np. 120,80)", "Błędne dane, popraw i spróbuj ponownie", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (EmptyStringException ex1)
            {
                MessageBox.Show(ex1.Message, "Błędne dane, popraw i spróbuj ponownie", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (WrongSizeStringException ex2)
            {
                MessageBox.Show(ex2.Message, "Błędne dane, popraw i spróbuj ponownie", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (Exception ex1)
            {
                MessageBox.Show(ex1.Message, "Błąd podczas edycji pożyczki", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //log
                LogErr.DodajLogErrorDoBazy(new LogErr(Polaczenia.idUser, DateTime.Now, Polaczenia.ip, 0, NazwaTabeli.pozyczka, "PozyczkaNowaForm.btnDodaj_Click()/n/n" + ex1.Message));
                //zamykanie formularza
            }
            finally
            {
                Polaczenia.OdlaczenieOdBazy();
            }
        }
Пример #22
0
 // GET api/loan/5
 public IHttpActionResult Get(string id)
 {
     try
     {
         var mng  = new LoanManager();
         var loan = new Loans
         {
             LoansID = id
         };
         loan         = mng.RetrieveById(loan);
         apiResp      = new ApiResponse();
         apiResp.Data = loan;
         return(Ok(apiResp));
     }
     catch (BusinessException bex)
     {
         return(InternalServerError(new Exception(bex.ExceptionID + "-" + bex.AppMessage.Message)));
     }
 }
Пример #23
0
        private void GameLoaded(object sender, SaveLoadedEventArgs e)
        {
            Monitor.Log("Current Locale: " + Helper.Translation.LocaleEnum, LogLevel.Info);
            InitMenus();

            //checks if player is currently taking any loans, if so it will load all the loan data.
            if (Game1.player.IsMainPlayer)
            {
                loanManager = this.Helper.Data.ReadSaveData <LoanManager>("Doomnik.MoneyManage");
            }

            if (loanManager == null || Config.Reset)
            {
                loanManager  = new LoanManager();
                Config.Reset = false;
                Helper.WriteConfig <ModConfig>(Config);
                AddMessage(I18n.Msg_Create(), HUDMessage.achievement_type);
            }
        }
Пример #24
0
 public HttpResponseMessage InsertLoans([FromBody] LoansDto loanDto)
 {
     try
     {
         LoanSupportRequest loan = Converters.Convert(loanDto);
         if (!ValidateModel.IsValid(new List <object>()
         {
             loan
         }))
         {
             return(Request.CreateResponse(HttpStatusCode.BadRequest, ValidateModel.ModelsResults));
         }
         LoanManager.InsertLoan(loan);
         return(Request.CreateResponse(HttpStatusCode.OK, loan.Id));
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, $"Failed to insert the loan, {ex.Message}"));
     }
 }
Пример #25
0
        public static void Main()
        {
            Inventory inv = Inventory.Instance;

            inv[7043] = new Book("Professional C#", "Robinson");
            inv[0871] = new Book("Instant UML", "Muller");

            MemberManager mem = MemberManager.Instance;

            mem[100] = new Member("Georgia", "5th Ave.", "New York");
            mem[101] = new Member("William", "Park Lane", "London");

            LoanManager loanmgr = LoanManager.Instance;

            loanmgr.BorrowBook(7043, 100);
            loanmgr.BorrowBook(0871, 101);

            loanmgr.ReturnBook(7043);
            loanmgr.ReturnBook(0871);
        }
Пример #26
0
 protected override void SetUp()
 {
     base.SetUp();
     _loanManager = (LoanManager)container["LoanManager"];
     _loan        = new Loan(new User(), ApplicationSettings.GetInstance(""), NonWorkingDateSingleton.GetInstance(""), ProvisionTable.GetInstance(new User()), ChartOfAccounts.GetInstance(new User()))
     {
         ClientType  = OClientTypes.Person,
         LoanOfficer = new User {
             Id = 1
         },
         BranchCode            = "DU",
         CreationDate          = DateTime.Today.AddDays(-1),
         StartDate             = DateTime.Today,
         FirstInstallmentDate  = DateTime.Today.AddDays(1),
         AlignDisbursementDate = DateTime.Today,
         CloseDate             = DateTime.Today.AddDays(1),
         Product = new LoanProduct {
             Id = 1, Currency = new Currency {
                 Id = 1
             }
         },
         Amount          = 1000m,
         InterestRate    = 3,
         InstallmentType = new InstallmentType {
             Id = 1
         },
         NbOfInstallments = 2,
         FundingLine      = new FundingLine {
             Id = 1
         },
         InstallmentList = new List <Installment> {
             _installment1, _installment2
         },
         EconomicActivityId = 1,
         EconomicActivity   = new EconomicActivity {
             Id = 1
         },
         GracePeriodOfLateFees = 0
     };
 }
Пример #27
0
        public async Task <string> Upload(IFormFile file)
        {
            var loanMgr = new LoanManager(_context, _configuration);

            if (file == null)
            {
                throw new Exception("File is null");
            }
            if (file.Length == 0)
            {
                throw new Exception("File is empty");
            }
            string filePath = null;

            using (Stream stream = file.OpenReadStream())
            {
                using (var binaryReader = new BinaryReader(stream))
                {
                    var fileContent = binaryReader.ReadBytes((int)file.Length);
                    filePath = await loanMgr.UploadFile(fileContent, file.FileName, file.ContentType);
                }
            }
            return(filePath);
        }
Пример #28
0
        public IActionResult CreateLoanRequest([FromBody] LoanRequest loanRequest)
        {
            var loanMgr = new LoanManager(_context, _configuration);

            return(Ok(new { refNo = loanMgr.CreateLoanRequest(loanRequest) }));
        }
Пример #29
0
        public IActionResult UpdateLoanRequest(bool isSave, [FromBody] LoanApplication loanApplication)
        {
            var loanMgr = new LoanManager(_context, _configuration);

            return(Ok(new { refNo = loanMgr.UpdateLoanRequest(loanApplication, isSave) }));
        }
Пример #30
0
        public IActionResult GetLatestLoanRefNo(int userId)
        {
            var loanMgr = new LoanManager(_context, _configuration);

            return(Ok(new { refNo = loanMgr.GetLatestLoanId(userId) }));
        }