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); }
public void LoanHelperImplementsILoanHelperInterface() { var helper = new LoanHelper(); Assert.IsAssignableFrom <ILoanHelper>(helper); var typedMember = helper as ILoanHelper; Assert.NotNull(typedMember); }
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); }
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)); }