public static NewLoanApplicationViewModel RetrieveNewApplicationViewModel(NewLoanApplicationListState newLoanApplicationListState, List <int> userAccountIds, int userAccountId, Guid companyId, int channelId, int divisionId, Guid branchId, string searchTerm = null)
        {
            if (newLoanApplicationListState == null)
            {
                newLoanApplicationListState = new NewLoanApplicationListState();
            }

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

            string isOnLineUser = String.IsNullOrEmpty(newLoanApplicationListState.BorrowerStatusFilter) ? String.Empty :
                                  newLoanApplicationListState.BorrowerStatusFilter == BorrowerStatusType.Offline.GetStringValue() ? "0" : "1";

            NewLoanApplicationViewData newLoanApplicationViewData = LoanServiceFacade.RetrieveNewLoanApplicationItemsView(userAccountIds,
                                                                                                                          newLoanApplicationListState.CurrentPage,
                                                                                                                          newLoanApplicationListState.SortColumn.GetStringValue(),
                                                                                                                          newLoanApplicationListState.SortDirection,
                                                                                                                          newLoanApplicationListState.BoundDate,
                                                                                                                          userAccountId,
                                                                                                                          searchTerm,
                                                                                                                          companyId,
                                                                                                                          channelId,
                                                                                                                          divisionId,
                                                                                                                          newLoanApplicationListState.LoanPurposeFilter,
                                                                                                                          isOnLineUser,
                                                                                                                          branchId
                                                                                                                          );

            if (newLoanApplicationViewData == null)
            {
                newLoanApplicationViewData = new NewLoanApplicationViewData {
                    NewLoanApplicationItems = new List <NewLoanApplicationViewItem>(), TotalItems = 0, TotalPages = 0
                };
            }

            NewLoanApplicationViewModel newLoanApplicationViewModel = new NewLoanApplicationViewModel
            {
                NewLoanApplicationViewItems = newLoanApplicationViewData.NewLoanApplicationItems,
                PageCount          = newLoanApplicationViewData.TotalPages,
                TotalItems         = newLoanApplicationViewData.TotalItems,
                LoanPurposeList    = new List <LoanTransactionType>(Enum.GetValues(typeof(LoanTransactionType)).Cast <LoanTransactionType>().Skip(1)),
                BorrowerStatusList = new List <BorrowerStatusType>(Enum.GetValues(typeof(BorrowerStatusType)).Cast <BorrowerStatusType>().Skip(1)),
            };

            NewLoanApplicationGridHelper.ProcessPagingOptions(newLoanApplicationListState, newLoanApplicationViewModel);
            NewLoanApplicationGridHelper.ApplyClassCollection(newLoanApplicationViewModel);

            return(newLoanApplicationViewModel);
        }
예제 #2
0
        public static void ApplyClassCollection(NewLoanApplicationViewModel newLoanApplicationViewModel)
        {
            if (newLoanApplicationViewModel.NewLoanApplicationViewItems != null)
            {
                // Business rule
                foreach (var newLoanApplicationItem in newLoanApplicationViewModel.NewLoanApplicationViewItems)
                {
                    foreach (var item in newLoanApplicationItem.NewLoanApplicationViewItems)
                    {
                        if (item.LockExpiration < DateTime.Now && item.LockExpiration != DateTime.MinValue)
                        {
                            item.ClassCollection = "newloanapplicationtablelistduedate";
                        }
                        else
                        {
                            item.ClassCollection = "newloanapplicationtablelist";
                        }

                        if (item.ExceptionItemMaxWeight != -1)
                        {
                            item.ExceptionClassCollection = item.ExceptionItemMaxWeight < 300
                                ? "exceptionIcon exceptionIcon0"
                                : "exceptionIcon exceptionIcon1";
                        }
                        if (item == newLoanApplicationItem.NewLoanApplicationViewItems.First())
                        {
                            item.ClassCollection = item.ClassCollection + " first last";
                        }

                        if (item == newLoanApplicationItem.NewLoanApplicationViewItems.Last())
                        {
                            item.ClassCollection = item.ClassCollection + " last";
                        }
                    }
                }
            }
        }
예제 #3
0
        public static void ProcessPagingOptions(NewLoanApplicationListState newLoanApplicationListState, NewLoanApplicationViewModel newLoanApplicationViewModel)
        {
            if (newLoanApplicationViewModel.PageCount % 10 == 0)
            {
                newLoanApplicationViewModel.PageGroups = (newLoanApplicationViewModel.PageCount / 10);
            }
            else
            {
                newLoanApplicationViewModel.PageGroups = (newLoanApplicationViewModel.PageCount / 10) + 1;
            }

            newLoanApplicationViewModel.PageGroups = ( int )newLoanApplicationViewModel.PageGroups;
            if (newLoanApplicationViewModel.PageCount % 10 != 0)
            {
                newLoanApplicationViewModel.LastPageItems = newLoanApplicationViewModel.PageCount % 10;
            }
            else
            {
                newLoanApplicationViewModel.LastPageItems = 10;
            }

            newLoanApplicationViewModel.CurrentPage = newLoanApplicationListState.CurrentPage;

            if (newLoanApplicationViewModel.CurrentPage % 10 != 0)
            {
                newLoanApplicationViewModel.StartPage = ( int )(newLoanApplicationViewModel.CurrentPage / 10) * 10 + 1;
                if ((( int )((newLoanApplicationViewModel.CurrentPage) / 10) + 1) == newLoanApplicationViewModel.PageGroups)
                {
                    newLoanApplicationViewModel.EndPage      = ( int )(newLoanApplicationViewModel.CurrentPage / 10) * 10 + newLoanApplicationViewModel.LastPageItems;
                    newLoanApplicationViewModel.LastPageDots = true;
                }
                else
                {
                    newLoanApplicationViewModel.EndPage      = ( int )(newLoanApplicationViewModel.CurrentPage / 10) * 10 + 10;
                    newLoanApplicationViewModel.LastPageDots = false;
                }
            }
            else
            {
                newLoanApplicationViewModel.StartPage = ( int )((newLoanApplicationViewModel.CurrentPage - 1) / 10) * 10 + 1;
                if ((( int )((newLoanApplicationViewModel.CurrentPage - 1) / 10) + 1) == newLoanApplicationViewModel.PageGroups)
                {
                    newLoanApplicationViewModel.EndPage      = ( int )(newLoanApplicationViewModel.CurrentPage / 10) * 10;
                    newLoanApplicationViewModel.LastPageDots = true;
                }
                else
                {
                    newLoanApplicationViewModel.EndPage      = ( int )((newLoanApplicationViewModel.CurrentPage - 1) / 10) * 10 + 10;
                    newLoanApplicationViewModel.LastPageDots = false;
                }
            }
        }
예제 #4
0
        public void Execute()
        {
            String searchValue = CommonHelper.GetSearchValue(_httpContext);
            /* State retrieval */
            NewLoanApplicationViewModel newLoanApplicationViewModel = null;

            if (_httpContext.Session[SessionHelper.NewLoanApplicationViewModel] != null)
            {
                newLoanApplicationViewModel = new NewLoanApplicationViewModel().FromXml(_httpContext.Session[SessionHelper.NewLoanApplicationViewModel].ToString());
            }
            else
            {
                newLoanApplicationViewModel = new NewLoanApplicationViewModel();
            }

            NewLoanApplicationListState newLoanApplicationListState = null;

            if (_httpContext.Session[SessionHelper.NewLoanApplicationListState] != null)
            {
                newLoanApplicationListState = ( NewLoanApplicationListState )_httpContext.Session[SessionHelper.NewLoanApplicationListState];
            }
            else
            {
                newLoanApplicationListState = new NewLoanApplicationListState();
            }

            if (!InputParameters.ContainsKey("LoanPurposeFilter"))
            {
                throw new ArgumentException("LoanPurposeFilter was expected!");
            }

            if (InputParameters["LoanPurposeFilter"].ToString() == "0")
            {
                newLoanApplicationListState.LoanPurposeFilter = "";
            }
            else
            {
                newLoanApplicationListState.LoanPurposeFilter = InputParameters["LoanPurposeFilter"].ToString();
            }

            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null && (( UserAccount )_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = ( UserAccount )_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

            if (user == null)
            {
                throw new InvalidOperationException("User is null");
            }


            // on date filter change, reset page number
            FilterViewModel userFilterViewModel = null;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.FilterViewModel] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(_httpContext.Session[SessionHelper.FilterViewModel].ToString());
            }
            else
            {
                userFilterViewModel = new FilterViewModel();
            }
            newLoanApplicationListState.CurrentPage = 1;

            newLoanApplicationViewModel = NewLoanApplicationDataHelper.RetrieveNewApplicationViewModel(newLoanApplicationListState,
                                                                                                       _httpContext.Session[SessionHelper.UserAccountIds] != null
                                                              ? (List <int>)_httpContext.Session[SessionHelper.UserAccountIds]
                                                              : new List <int> {
            }, user.UserAccountId, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId,
                                                                                                       userFilterViewModel.BranchId, searchValue);


            _viewName  = "Queues/_newLoanApplication";
            _viewModel = newLoanApplicationViewModel;

            /* Persist new state */
            _httpContext.Session[SessionHelper.NewLoanApplicationViewModel] = newLoanApplicationViewModel.ToXml();
            _httpContext.Session[SessionHelper.NewLoanApplicationListState] = newLoanApplicationListState;
        }
        public void Execute()
        {
            String searchValue = CommonHelper.GetSearchValue(_httpContext);

            NewLoanApplicationListState newLoanApplicationListState = null;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.NewLoanApplicationListState] != null))
            {
                newLoanApplicationListState = ( NewLoanApplicationListState )_httpContext.Session["NewLoanApplicationListState"];
            }
            else
            {
                newLoanApplicationListState = new NewLoanApplicationListState();
            }

            FilterViewModel userFilterViewModel = null;

            if ((_httpContext != null) && (_httpContext.Session["FilterViewModel"] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(_httpContext.Session["FilterViewModel"].ToString());
                userFilterViewModel.FilterContext = FilterContextEnum.NewLoanApplication;
            }
            else
            {
                // possible state retrieval?
                userFilterViewModel = new FilterViewModel();
                userFilterViewModel.FilterContext = FilterContextEnum.NewLoanApplication;
            }

            Boolean refresh = InputParameters != null && InputParameters.ContainsKey("Refresh") && InputParameters["Refresh"].ToString().Trim() == "true";

            // reset Page Number to 1st on Tab change
            if (!refresh)
            {
                newLoanApplicationListState.CurrentPage = 1;
            }

            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null)
            {
                user = ( UserAccount )_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                throw new InvalidOperationException("UserData is null");
            }

            NewLoanApplicationViewModel newLoanApplicationViewModel = new NewLoanApplicationViewModel();

            newLoanApplicationViewModel = NewLoanApplicationDataHelper.RetrieveNewApplicationViewModel(newLoanApplicationListState,
                                                                                                       _httpContext.Session[SessionHelper.UserAccountIds] != null
                                                              ? (List <int>)_httpContext.Session[SessionHelper.UserAccountIds]
                                                              : new List <int> {
            }, user.UserAccountId, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId, userFilterViewModel.BranchId, searchValue);


            _viewName  = "Queues/_newLoanApplication";
            _viewModel = newLoanApplicationViewModel;

            /* Persist new state */
            _httpContext.Session["NewLoanApplicationViewModel"] = newLoanApplicationViewModel.ToXml();
            _httpContext.Session["NewLoanApplicationListState"] = newLoanApplicationListState;
            _httpContext.Session["FilterViewModel"]             = userFilterViewModel.ToXml();
            _httpContext.Session["CurrentTab"] = LoanCenterTab.NewLoanApplication;
        }
        public void Execute()
        {
            String searchValue = CommonHelper.GetSearchValue(_httpContext);

            /* State retrieval */
            NewLoanApplicationViewModel newLoanApplicationViewModel = null;

            if (_httpContext.Session[SessionHelper.NewLoanApplicationViewModel] != null)
            {
                newLoanApplicationViewModel = new NewLoanApplicationViewModel().FromXml(_httpContext.Session[SessionHelper.NewLoanApplicationViewModel].ToString());
            }
            else
            {
                newLoanApplicationViewModel = new NewLoanApplicationViewModel();
            }

            NewLoanApplicationListState newLoanApplicationListState = null;

            if (_httpContext.Session[SessionHelper.NewLoanApplicationListState] != null)
            {
                newLoanApplicationListState = ( NewLoanApplicationListState )_httpContext.Session[SessionHelper.NewLoanApplicationListState];
            }
            else
            {
                newLoanApplicationListState = new NewLoanApplicationListState();
            }

            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = ( UserAccount )_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

            if (user == null)
            {
                throw new InvalidOperationException("User is null");
            }

            /* parameter processing */
            NewLoanApplicationAttribute newSortColumn;

            if (!InputParameters.ContainsKey("Column"))
            {
                throw new ArgumentException("Column value was expected!");
            }
            else
            {
                newSortColumn = ( NewLoanApplicationAttribute )Enum.Parse(typeof(NewLoanApplicationAttribute), InputParameters["Column"].ToString());
            }

            // switch direction
            if (newLoanApplicationListState.SortColumn == newSortColumn && newLoanApplicationListState.SortDirection == "ASC")
            {
                newLoanApplicationListState.SortDirection = "DESC";
            }
            else
            {
                newLoanApplicationListState.SortDirection = "ASC";
            }

            newLoanApplicationListState.SortColumn  = newSortColumn;
            newLoanApplicationListState.CurrentPage = 1;

            /* Command processing */
            FilterViewModel userFilterViewModel = null;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.FilterViewModel] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(_httpContext.Session[SessionHelper.FilterViewModel].ToString());
            }
            else
            {
                userFilterViewModel = new FilterViewModel();
            }

            newLoanApplicationViewModel = NewLoanApplicationDataHelper.RetrieveNewApplicationViewModel(newLoanApplicationListState,
                                                                                                       _httpContext.Session["UserAccountIds"] !=
                                                                                                       null
                                                                                    ? (List <int>)
                                                                                                       _httpContext.Session[
                                                                                                           "UserAccountIds"]
                                                                                    : new List <int> {
            },
                                                                                                       user.UserAccountId, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId, userFilterViewModel.BranchId, searchValue);

            _viewName  = "Queues/_newLoanApplication";
            _viewModel = newLoanApplicationViewModel;

            /* Persist new state */
            _httpContext.Session[SessionHelper.NewLoanApplicationViewModel] = newLoanApplicationViewModel.ToXml();
            _httpContext.Session[SessionHelper.NewLoanApplicationListState] = newLoanApplicationListState;
        }