public void CanCommitLoan()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            Assert.NotNull(loan);

            Assert.Equal(1, loanDao.LoanList.Count);
            Assert.Equal(loan, loanDao.LoanList[0]);

            Assert.NotEqual(0, loan.ID);
        }
        public void CanUpdateOverdueStatus()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            Assert.Equal(LoanState.CURRENT, loan.State);

            loanDao.UpdateOverDueStatus(DateTime.Today.AddMonths(1));

            Assert.Equal(LoanState.OVERDUE, loan.State);
        }
        public static AlertsViewModel RetrieveAlertViewModel(AlertsListState alertsListState, List <int> userAccountIds, GridDateFilter dateFilter, int userAccountId, Guid companyid, int channelId, int divisionId, Guid branchId, string searchTerm = null)
        {
            if (alertsListState == null)
            {
                alertsListState = new AlertsListState();
            }

            if (userAccountIds == null)
            {
                userAccountIds = new List <int>();
            }

            var alertsViewData = AlertMessageServiceFacade.RetrieveAlertItemsView(userAccountId, userAccountIds,
                                                                                  alertsListState.CurrentPage,
                                                                                  alertsListState.SortColumn.GetStringValue(),
                                                                                  alertsListState.SortDirection,
                                                                                  alertsListState.BoundDate,
                                                                                  searchTerm,
                                                                                  alertsListState.LoanPurposeFilter,
                                                                                  alertsListState.ActivityTypeFilter,
                                                                                  companyid, channelId, divisionId, branchId
                                                                                  ) ??
                                 new AlertViewData {
                AlertItems = new List <AlertViewItem>(), TotalItems = 0, TotalPages = 0, NumberOfAlerts = 0
            };


            foreach (AlertViewItem alertViewItems in alertsViewData.AlertItems)
            {
                foreach (AlertView alertViewItem in alertViewItems.AlertViewItems)
                {
                    DataForShortProductDescription data =
                        LoanServiceFacade.RetrieveDataForShortProductDescription(alertViewItem.LoanId);

                    alertViewItem.ProgramName = LoanHelper.FormatShortProductDescription(alertViewItem.IsHarp,
                                                                                         ((AmortizationType)data.AmortizationType).GetStringValue(),
                                                                                         data.LoanTerm,
                                                                                         data.FixedRateTerm,
                                                                                         ((MortgageType)data.MortgageType).GetStringValue());
                }
            }
            var alertsViewModel = new AlertsViewModel
            {
                ActivityTypeList = CommonHelper.RetrieveActivityListForQueueFilter(),
                LoanPurposeList  = new List <LoanTransactionType>(Enum.GetValues(typeof(LoanTransactionType)).Cast <LoanTransactionType>().Skip(1)),
                AlertItems       = alertsViewData.AlertItems,
                PageCount        = alertsViewData.TotalPages,
                TotalItems       = alertsViewData.TotalItems,
                NumberOfAlerts   = alertsViewData.NumberOfAlerts
            };

            AlertsGridHelper.ProcessPagingOptions(alertsListState, alertsViewModel);
            AlertsGridHelper.ApplyClassCollection(alertsViewModel);

            return(alertsViewModel);
        }
Esempio n. 4
0
        public void LoanHelperImplementsILoanHelperInterface()
        {
            var helper = new LoanHelper();

            Assert.IsAssignableFrom <ILoanHelper>(helper);

            var typedMember = helper as ILoanHelper;

            Assert.NotNull(typedMember);
        }
Esempio n. 5
0
        public void CanMakeLoan()
        {
            var book       = Substitute.For <IBook>();
            var borrower   = Substitute.For <IMember>();
            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var helper = new LoanHelper();

            var loan = helper.MakeLoan(book, borrower, borrowDate, dueDate);

            Assert.NotNull(loan);
            Assert.Equal(0, loan.ID);
            Assert.Equal(book, loan.Book);
            Assert.Equal(borrower, loan.Borrower);
        }
        public void CanGetOverdueLoans()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            Assert.Equal(LoanState.CURRENT, loan.State);

            loanDao.UpdateOverDueStatus(DateTime.Today.AddMonths(1));

            Assert.Equal(LoanState.OVERDUE, loan.State);

            for (int i = 0; i < 10; i++)
            {
                var m = memberDao.AddMember("Test", "Test", "Test Phone", "Test Email");
                var b = bookDao.AddBook("Test", "Test", "Test");

                var l = loanDao.CreateLoan(m, b, borrowDate, dueDate);

                loanDao.CommitLoan(l);
            }

            var overdue = loanDao.FindOverDueLoans();

            Assert.Equal(1, overdue.Count);
            Assert.Equal(loan, overdue[0]);
        }
        public void OnGet()
        {
            LoanApplicationResults = _loanResultRepository.GetLoanApplicationResults().Take(5).ToList();
            LoanRates = _loanRateRepository.GetLoanRates();


            if (_env.IsDevelopment())
            {
                MarketRates = this.GetSampleMarketRates();
            }
            else
            {
                try
                {
                    MarketRates = LoanHelper.GetMarketRates();
                }
                catch (Exception e)
                {
                }
            }
        }
        public void CanGetLoanByBorrower()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            for (int i = 0; i < 10; i++)
            {
                var m = memberDao.AddMember("Test", "Test", "Test Phone", "Test Email");
                var b = bookDao.AddBook("Test", "Test", "Test");

                var l = loanDao.CreateLoan(m, b, borrowDate, dueDate);

                loanDao.CommitLoan(l);
            }

            var result = loanDao.FindLoansByBorrower(member);

            var single = result.Single();

            Assert.Equal(loan, single);
        }
        public void GetLoanByLoanIdReturnsNullIfNotFound()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            for (int i = 0; i < 10; i++)
            {
                var m = memberDao.AddMember("Test", "Test", "Test Phone", "Test Email");
                var b = bookDao.AddBook("Test", "Test", "Test");

                var l = loanDao.CreateLoan(m, b, borrowDate, dueDate);

                loanDao.CommitLoan(l);
            }

            var result = loanDao.GetLoanByID(1000);

            Assert.Null(result);
        }
Esempio n. 10
0
        public void CanCreateLoanHelper()
        {
            var helper = new LoanHelper();

            Assert.NotNull(helper);
        }
        public static CancelViewModel RetrieveCancelViewModel(CancelLoanListState cancelListState, List <int> userAccountIds, GridDateFilter dateFilter, int userAccountId, Guid companyId, int channelId, int divisionId, Guid branchId, string searchTerm = null)
        {
            if (cancelListState == null)
            {
                cancelListState = new CancelLoanListState();
            }

            if (userAccountIds == null)
            {
                userAccountIds = new List <int>();
            }

            string isOnLineUser = cancelListState.BorrowerStatusFilter == null ? null :
                                  cancelListState.BorrowerStatusFilter == BorrowerStatusType.Offline.GetStringValue() ? "0" : "1";

            CancelViewData cancelViewData = LoanServiceFacade.RetrieveCancelItemsView(userAccountId, userAccountIds,
                                                                                      cancelListState.CurrentPage,
                                                                                      cancelListState.SortColumn.GetStringValue(),
                                                                                      cancelListState.SortDirection,
                                                                                      cancelListState.BoundDate,
                                                                                      searchTerm,
                                                                                      isOnLineUser,
                                                                                      companyId,
                                                                                      channelId,
                                                                                      divisionId,
                                                                                      branchId
                                                                                      ) ??
                                            new CancelViewData {
                CancelViewItems = new List <CancelViewItem>(), TotalItems = 0, TotalPages = 0
            };

            for (int i = 0; i < cancelViewData.CancelViewItems.Count; i++)
            {
                for (int j = 0; j < cancelViewData.CancelViewItems[i].CancelViewItems.Count; j++)
                {
                    DataForShortProductDescription data =
                        LoanServiceFacade.RetrieveDataForShortProductDescription(cancelViewData.CancelViewItems[i].CancelViewItems[j].LoanId);

                    cancelViewData.CancelViewItems[i].CancelViewItems[j].ProgramName = LoanHelper.FormatShortProductDescription(cancelViewData.CancelViewItems[i].CancelViewItems[j].IsHarp,
                                                                                                                                EnumHelper.GetStringValue((AmortizationType)data.AmortizationType),
                                                                                                                                data.LoanTerm,
                                                                                                                                data.FixedRateTerm,
                                                                                                                                EnumHelper.GetStringValue((MortgageType)data.MortgageType));
                }
            }

            var cancelViewModel = new CancelViewModel
            {
                BorrowerStatusList = new List <BorrowerStatusType>(Enum.GetValues(typeof(BorrowerStatusType)).Cast <BorrowerStatusType>().Skip(1)),
                CancelItems        = cancelViewData.CancelViewItems,
                PageCount          = cancelViewData.TotalPages,
                TotalItems         = cancelViewData.TotalItems
            };

            CancelGridHelper.ApplyClassCollection(cancelViewModel);
            CancelGridHelper.ProcessPagingOptions(cancelListState, cancelViewModel);


            return(cancelViewModel);
        }
        public static PipelineViewModel RetrievePipelineViewModel(PipelineListState pipelineListState, List <int> userAccountIds, int userAccountId, Guid companyId, int channelId, int divisionId, Guid branchId, string searchTerm = null)
        {
            if (pipelineListState == null)
            {
                pipelineListState = new PipelineListState();
            }

            if (userAccountIds == null)
            {
                userAccountIds = new List <int>();
            }

            string isOnLineUser = pipelineListState.BorrowerStatusFilter == null ? null :
                                  pipelineListState.BorrowerStatusFilter == BorrowerStatusType.Offline.GetStringValue() ? "0" : "1";

            PipelineViewData pipelineViewData = LoanServiceFacade.RetrievePipelineItemsView(userAccountIds,
                                                                                            pipelineListState.CurrentPage,
                                                                                            pipelineListState.SortColumn.GetStringValue(),
                                                                                            pipelineListState.SortDirection,
                                                                                            userAccountId,
                                                                                            searchTerm,
                                                                                            pipelineListState.ActivityTypeFilter,
                                                                                            pipelineListState.BoundDate,
                                                                                            pipelineListState.LoanPurposeFilter,
                                                                                            isOnLineUser,
                                                                                            companyId,
                                                                                            channelId,
                                                                                            divisionId,
                                                                                            branchId
                                                                                            );

            if (pipelineViewData == null)
            {
                pipelineViewData = new PipelineViewData {
                    PipelineItems = new List <PipelineViewItem>(), TotalItems = 0, TotalPages = 0
                };
            }
            // Set paging numbers
            else if (userAccountIds.Any())
            {
                pipelineViewData.TotalItems = pipelineViewData.TotalItems;
                pipelineViewData.TotalPages = pipelineViewData.TotalItems / 10;
                if ((pipelineViewData.TotalItems % 10) != 0)
                {
                    pipelineViewData.TotalPages++;
                }
            }
            for (int i = 0; i < pipelineViewData.PipelineItems.Count(); i++)
            {
                if (pipelineViewData.PipelineItems[i].PipelineViewItems.Count > 0)
                {
                    DataForShortProductDescription data =
                        LoanServiceFacade.RetrieveDataForShortProductDescription(pipelineViewData.PipelineItems[i].PipelineViewItems[0].LoanId);

                    pipelineViewData.PipelineItems[i].PipelineViewItems[0].ProgramName = LoanHelper.FormatShortProductDescription(pipelineViewData.PipelineItems[i].PipelineViewItems[0].IsHarp,
                                                                                                                                  EnumHelper.GetStringValue((AmortizationType)data.AmortizationType),
                                                                                                                                  data.LoanTerm,
                                                                                                                                  data.FixedRateTerm,
                                                                                                                                  EnumHelper.GetStringValue((MortgageType)data.MortgageType));
                }
            }
            PipelineViewModel pipelineViewModel = new PipelineViewModel
            {
                ActivityTypeList   = CommonHelper.RetrieveActivityListForQueueFilter(),
                LoanPurposeList    = new List <LoanTransactionType>(Enum.GetValues(typeof(LoanTransactionType)).Cast <LoanTransactionType>().Skip(1)),
                BorrowerStatusList = new List <BorrowerStatusType>(Enum.GetValues(typeof(BorrowerStatusType)).Cast <BorrowerStatusType>().Skip(1)),
                PipelineItems      = pipelineViewData.PipelineItems,
                PageCount          = pipelineViewData.TotalPages,
                TotalItems         = pipelineViewData.TotalItems
            };

            PipelineGridHelper.ProcessPagingOptions(pipelineListState, pipelineViewModel);
            PipelineGridHelper.ApplyClassCollection(pipelineViewModel);

            return(pipelineViewModel);
        }
        public void TestFormattingAllNumbersToHaveTwoDecimalPlaces(double input, string expected)
        {
            string actual = LoanHelper.FormatToTwoDecimalPlaces(input);

            Assert.That(actual, Is.EqualTo(expected));
        }
        public void TestAddCurrencyCommas_LargeNumbers(double input, string expected)
        {
            string actual = LoanHelper.AddCurrencyCommas(input);

            Assert.That(actual, Is.EqualTo(expected));
        }