{"version":3,"mappings":"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","names":["e","webpackEmptyAsyncContext","module","AchUSBankStatementComponent","selectors","decls","vars","consts","template","_angular_core__WEBPACK_IMPORTED_MODULE_0__","AppComponent","userService","currentApp","CurrentAppService","browserCheck","browser","bowser__WEBPACK_IMPORTED_MODULE_0__","window","navigator","userAgent","showBowserAlert","satisfies","chrome","firefox","edge","ios_saf","and_chr","and_ff","_angular_core__WEBPACK_IMPORTED_MODULE_12__","features","_services_text_retriever_service__WEBPACK_IMPORTED_MODULE_1__","_services_utilities_service__WEBPACK_IMPORTED_MODULE_2__","_services_recaptcha_service__WEBPACK_IMPORTED_MODULE_3__","_services_history_service__WEBPACK_IMPORTED_MODULE_4__","AppModule","bootstrap","_app_component__WEBPACK_IMPORTED_MODULE_12__","_ng_idle_core__WEBPACK_IMPORTED_MODULE_130__","provide","useExisting","_services_authorization_guard__WEBPACK_IMPORTED_MODULE_1__","_services_user_service__WEBPACK_IMPORTED_MODULE_109__","_services_auth_service__WEBPACK_IMPORTED_MODULE_111__","_services_authenticated_http_service__WEBPACK_IMPORTED_MODULE_112__","_services_current_application_service__WEBPACK_IMPORTED_MODULE_113__","_services_application_http_service__WEBPACK_IMPORTED_MODULE_114__","_services_current_registration_service__WEBPACK_IMPORTED_MODULE_115__","_services_account_http_service__WEBPACK_IMPORTED_MODULE_116__","_services_storage_service__WEBPACK_IMPORTED_MODULE_110__","_services_user_account_guard__WEBPACK_IMPORTED_MODULE_88__","_services_document_service__WEBPACK_IMPORTED_MODULE_117__","_services_message_center_service__WEBPACK_IMPORTED_MODULE_118__","_services_vendor_service__WEBPACK_IMPORTED_MODULE_119__","_services_authorized_party_service__WEBPACK_IMPORTED_MODULE_120__","_services_financial_summary_service__WEBPACK_IMPORTED_MODULE_121__","_services_logging_service__WEBPACK_IMPORTED_MODULE_122__","_services_changelog_service__WEBPACK_IMPORTED_MODULE_126__","_services_custom_error_handler__WEBPACK_IMPORTED_MODULE_2__","_angular_core__WEBPACK_IMPORTED_MODULE_129__","useClass","_services_lookup_service__WEBPACK_IMPORTED_MODULE_108__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_131__","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_132__","_angular_forms__WEBPACK_IMPORTED_MODULE_133__","_angular_common_http__WEBPACK_IMPORTED_MODULE_134__","_app_routes__WEBPACK_IMPORTED_MODULE_3__","_angular_material_datepicker__WEBPACK_IMPORTED_MODULE_135__","_angular_material_input__WEBPACK_IMPORTED_MODULE_136__","_angular_material_core__WEBPACK_IMPORTED_MODULE_137__","primeng_checkbox__WEBPACK_IMPORTED_MODULE_138__","primeng_accordion__WEBPACK_IMPORTED_MODULE_139__","primeng_dialog__WEBPACK_IMPORTED_MODULE_140__","primeng_table__WEBPACK_IMPORTED_MODULE_141__","primeng_radiobutton__WEBPACK_IMPORTED_MODULE_142__","primeng_dropdown__WEBPACK_IMPORTED_MODULE_143__","primeng_button__WEBPACK_IMPORTED_MODULE_144__","primeng_tabmenu__WEBPACK_IMPORTED_MODULE_145__","primeng_toast__WEBPACK_IMPORTED_MODULE_146__","primeng_inputtextarea__WEBPACK_IMPORTED_MODULE_147__","primeng_autocomplete__WEBPACK_IMPORTED_MODULE_148__","angular2_text_mask__WEBPACK_IMPORTED_MODULE_0__","primeng_calendar__WEBPACK_IMPORTED_MODULE_149__","_angular_material_select__WEBPACK_IMPORTED_MODULE_150__","_angular_material_radio__WEBPACK_IMPORTED_MODULE_151__","primeng_message__WEBPACK_IMPORTED_MODULE_152__","primeng_messages__WEBPACK_IMPORTED_MODULE_153__","_angular_flex_layout__WEBPACK_IMPORTED_MODULE_154__","if_angular_core__WEBPACK_IMPORTED_MODULE_155__","_appshared_app_shared_module__WEBPACK_IMPORTED_MODULE_127__","declarations","_idle_idle_component__WEBPACK_IMPORTED_MODULE_47__","_form_reusables_address_address_component__WEBPACK_IMPORTED_MODULE_13__","_form_reusables_autocomplete_autocomplete_component__WEBPACK_IMPORTED_MODULE_14__","_form_reusables_change_application_type_component__WEBPACK_IMPORTED_MODULE_15__","_form_reusables_address_combined_address_component__WEBPACK_IMPORTED_MODULE_16__","_form_reusables_wizard_complex_question_component__WEBPACK_IMPORTED_MODULE_17__","_form_reusables_contact_information_component__WEBPACK_IMPORTED_MODULE_18__","_contact_contact_page_component__WEBPACK_IMPORTED_MODULE_19__","_form_reusables_autocomplete_corporation_component__WEBPACK_IMPORTED_MODULE_20__","_form_reusables_credit_requirements_component__WEBPACK_IMPORTED_MODULE_21__","_form_reusables_date_date_box_component__WEBPACK_IMPORTED_MODULE_22__","_form_reusables_view_footer_component__WEBPACK_IMPORTED_MODULE_23__","_form_reusables_view_header_component__WEBPACK_IMPORTED_MODULE_24__","_form_reusables_fullname_component__WEBPACK_IMPORTED_MODULE_25__","_form_reusables_account_login_component__WEBPACK_IMPORTED_MODULE_26__","_form_reusables_account_password_expired_component__WEBPACK_IMPORTED_MODULE_27__","_form_reusables_phone_phone_component__WEBPACK_IMPORTED_MODULE_28__","_form_reusables_recaptcha_component__WEBPACK_IMPORTED_MODULE_29__","_form_reusables_account_reset_password_component__WEBPACK_IMPORTED_MODULE_30__","_form_reusables_account_security_question_component__WEBPACK_IMPORTED_MODULE_31__","_form_reusables_view_side_nav_component__WEBPACK_IMPORTED_MODULE_32__","_form_reusables_wizard_simple_question_component__WEBPACK_IMPORTED_MODULE_33__","_form_reusables_address_states_component__WEBPACK_IMPORTED_MODULE_34__","_form_reusables_address_zip_component__WEBPACK_IMPORTED_MODULE_35__","_form_validation_autoselect_directive__WEBPACK_IMPORTED_MODULE_4__","_form_validation_checkbox_required_directive__WEBPACK_IMPORTED_MODULE_5__","_form_validation_comparison_validator_directive__WEBPACK_IMPORTED_MODULE_6__","_form_validation_email_validator_directive__WEBPACK_IMPORTED_MODULE_7__","_form_validation_date_range_validator_directive__WEBPACK_IMPORTED_MODULE_8__","_form_validation_number_validator_directive__WEBPACK_IMPORTED_MODULE_9__","_form_validation_password_validator_directive__WEBPACK_IMPORTED_MODULE_10__","_terms_and_conditions_component__WEBPACK_IMPORTED_MODULE_48__","_form_validation_force_decimals_directive__WEBPACK_IMPORTED_MODULE_36__","_form_reusables_number_input_component__WEBPACK_IMPORTED_MODULE_72__","_form_line_of_business_line_of_business_information_component__WEBPACK_IMPORTED_MODULE_51__","_form_borrower_borrower_detail_component__WEBPACK_IMPORTED_MODULE_52__","_form_confirmation_confirmation_component__WEBPACK_IMPORTED_MODULE_54__","_form_entity_entity_information_component__WEBPACK_IMPORTED_MODULE_55__","_form_balance_sheet_financial_information_balance_sheet_component__WEBPACK_IMPORTED_MODULE_57__","_form_balance_sheet_financial_information_balance_sheet_selection_component__WEBPACK_IMPORTED_MODULE_56__","_form_balance_sheet_financial_information_component__WEBPACK_IMPORTED_MODULE_59__","_form_income_financial_information_income_component__WEBPACK_IMPORTED_MODULE_58__","_form_balance_sheet_financial_summary_component__WEBPACK_IMPORTED_MODULE_60__","_form_ownership_owner_detail_component__WEBPACK_IMPORTED_MODULE_61__","_form_ownership_ownership_component__WEBPACK_IMPORTED_MODULE_62__","_form_line_of_business_radio_complete_component__WEBPACK_IMPORTED_MODULE_63__","_form_reset_password_reset_password_landing_component__WEBPACK_IMPORTED_MODULE_64__","_form_summary_summary_and_sign_component__WEBPACK_IMPORTED_MODULE_65__","_form_confirmation_survey_component__WEBPACK_IMPORTED_MODULE_66__","_form_program_vendor_programs_component__WEBPACK_IMPORTED_MODULE_67__","_dashboard_preferences_account_preferences_component__WEBPACK_IMPORTED_MODULE_74__","_dashboard_home_application_status_summary_application_status_summary_component__WEBPACK_IMPORTED_MODULE_80__","_dashboard_user_dashboard_component__WEBPACK_IMPORTED_MODULE_82__","_dashboard_home_dashboard_home_component__WEBPACK_IMPORTED_MODULE_81__","_dashboard_account_navigation_navigation_component__WEBPACK_IMPORTED_MODULE_73__","_landing_new_landing_component__WEBPACK_IMPORTED_MODULE_69__","_form_borrower_borrower_information_component__WEBPACK_IMPORTED_MODULE_53__","_form_reusables_help_tip_component__WEBPACK_IMPORTED_MODULE_71__","_registration_registration_component__WEBPACK_IMPORTED_MODULE_39__","_registration_profile_registration_profile_component__WEBPACK_IMPORTED_MODULE_40__","_registration_profile_registration_linkaccount_component__WEBPACK_IMPORTED_MODULE_41__","_registration_profile_linkaccount_component__WEBPACK_IMPORTED_MODULE_46__","_registration_navigation_registration_navigation_component__WEBPACK_IMPORTED_MODULE_42__","_registration_agreement_registration_agreement_component__WEBPACK_IMPORTED_MODULE_43__","_registration_security_registration_security_component__WEBPACK_IMPORTED_MODULE_44__","_registration_summary_registration_summary_component__WEBPACK_IMPORTED_MODULE_45__","_dashboard_home_account_summary_account_summary_component__WEBPACK_IMPORTED_MODULE_83__","_dashboard_account_payments_payments_component__WEBPACK_IMPORTED_MODULE_84__","_dashboard_account_payments_payment_navigation_component__WEBPACK_IMPORTED_MODULE_86__","_dashboard_account_account_details_account_details_component__WEBPACK_IMPORTED_MODULE_89__","_dashboard_account_account_template_component__WEBPACK_IMPORTED_MODULE_90__","_dashboard_account_payments_payment_history_component__WEBPACK_IMPORTED_MODULE_91__","_shared_environment_banner_environment_banner_component__WEBPACK_IMPORTED_MODULE_99__","_electronic_statement_component__WEBPACK_IMPORTED_MODULE_49__","_ach_us_bank_statement_component__WEBPACK_IMPORTED_MODULE_50__","_dashboard_account_statements_account_statements_component__WEBPACK_IMPORTED_MODULE_87__","_dashboard_account_account_details_subcommitment_details_component__WEBPACK_IMPORTED_MODULE_92__","_shared_loading_feedback_loading_feedback_component__WEBPACK_IMPORTED_MODULE_100__","_shared_section_header_section_header_component__WEBPACK_IMPORTED_MODULE_101__","_home_home_component__WEBPACK_IMPORTED_MODULE_70__","_dashboard_account_payments_payoff_component__WEBPACK_IMPORTED_MODULE_85__","_dashboard_preferences_contact_preferences_contact_component__WEBPACK_IMPORTED_MODULE_75__","_dashboard_preferences_password_preferences_password_component__WEBPACK_IMPORTED_MODULE_77__","_dashboard_preferences_alerts_preferences_alerts_component__WEBPACK_IMPORTED_MODULE_78__","_dashboard_preferences_security_preferences_security_component__WEBPACK_IMPORTED_MODULE_79__","_form_reusables_attachments_attachments_component__WEBPACK_IMPORTED_MODULE_37__","_dashboard_preferences_name_preferences_name_component__WEBPACK_IMPORTED_MODULE_76__","_form_reusables_auto_focus_auto_focus_component__WEBPACK_IMPORTED_MODULE_38__","_dashboard_account_amendment_amendment_component__WEBPACK_IMPORTED_MODULE_93__","_pipes_keys_pipe__WEBPACK_IMPORTED_MODULE_123__","_shared_message_center_message_center_component__WEBPACK_IMPORTED_MODULE_107__","_pipes_SafeHtml_pipe__WEBPACK_IMPORTED_MODULE_124__","_form_program_vendor_component__WEBPACK_IMPORTED_MODULE_68__","_dashboard_account_authorized_party_add_form_add_form_component__WEBPACK_IMPORTED_MODULE_95__","_dashboard_account_authorized_party_in_progress_detail_in_progress_detail_component__WEBPACK_IMPORTED_MODULE_96__","_dashboard_account_authorized_party_response_response_component__WEBPACK_IMPORTED_MODULE_97__","_dashboard_account_authorized_party_authorized_party_component__WEBPACK_IMPORTED_MODULE_94__","_dashboard_account_transaction_report_transaction_report_component__WEBPACK_IMPORTED_MODULE_98__","_form_preapproval_preapproval_component__WEBPACK_IMPORTED_MODULE_102__","_form_reusables_account_edit_security_questions_component__WEBPACK_IMPORTED_MODULE_103__","_form_reusables_account_reset_security_questions_component__WEBPACK_IMPORTED_MODULE_104__","_form_entity_doing_business_as_doing_business_as_component__WEBPACK_IMPORTED_MODULE_105__","_form_validation_no_duplicates_directive__WEBPACK_IMPORTED_MODULE_11__","_form_increased_risk_countries_increased_risk_countries_component__WEBPACK_IMPORTED_MODULE_106__","_shared_modal_dialog_modal_dialog_component__WEBPACK_IMPORTED_MODULE_125__","_shared_directives_debounce_click_directive__WEBPACK_IMPORTED_MODULE_128__","imports","_angular_router__WEBPACK_IMPORTED_MODULE_156__","exports","routes","path","component","_contact_contact_page_component__WEBPACK_IMPORTED_MODULE_43__","_form_reset_password_reset_password_landing_component__WEBPACK_IMPORTED_MODULE_40__","_form_program_vendor_component__WEBPACK_IMPORTED_MODULE_37__","_dashboard_user_dashboard_component__WEBPACK_IMPORTED_MODULE_15__","canActivate","_services_authorization_guard__WEBPACK_IMPORTED_MODULE_35__","children","_form_reusables_account_login_failure_component__WEBPACK_IMPORTED_MODULE_48__","redirectTo","pathMatch","_dashboard_home_dashboard_home_component__WEBPACK_IMPORTED_MODULE_14__","_dashboard_preferences_account_preferences_component__WEBPACK_IMPORTED_MODULE_29__","_dashboard_preferences_contact_preferences_contact_component__WEBPACK_IMPORTED_MODULE_30__","data","tab","_dashboard_preferences_name_preferences_name_component__WEBPACK_IMPORTED_MODULE_31__","_dashboard_preferences_password_preferences_password_component__WEBPACK_IMPORTED_MODULE_32__","_dashboard_preferences_alerts_preferences_alerts_component__WEBPACK_IMPORTED_MODULE_33__","_dashboard_preferences_security_preferences_security_component__WEBPACK_IMPORTED_MODULE_34__","_dashboard_account_account_template_component__WEBPACK_IMPORTED_MODULE_19__","_services_user_account_guard__WEBPACK_IMPORTED_MODULE_21__","_dashboard_account_account_details_account_details_component__WEBPACK_IMPORTED_MODULE_18__","_dashboard_account_payments_payments_component__WEBPACK_IMPORTED_MODULE_16__","_dashboard_account_payments_payment_history_component__WEBPACK_IMPORTED_MODULE_22__","_dashboard_account_payments_payoff_component__WEBPACK_IMPORTED_MODULE_17__","_dashboard_account_statements_account_statements_component__WEBPACK_IMPORTED_MODULE_20__","_dashboard_account_transaction_report_transaction_report_component__WEBPACK_IMPORTED_MODULE_28__","_dashboard_account_authorized_party_authorized_party_component__WEBPACK_IMPORTED_MODULE_24__","_dashboard_account_authorized_party_in_progress_detail_in_progress_detail_component__WEBPACK_IMPORTED_MODULE_26__","_dashboard_account_authorized_party_add_form_add_form_component__WEBPACK_IMPORTED_MODULE_25__","_dashboard_account_authorized_party_response_response_component__WEBPACK_IMPORTED_MODULE_27__","_dashboard_account_amendment_amendment_component__WEBPACK_IMPORTED_MODULE_23__","_registration_registration_component__WEBPACK_IMPORTED_MODULE_5__","_registration_profile_registration_profile_component__WEBPACK_IMPORTED_MODULE_0__","_registration_profile_registration_linkaccount_component__WEBPACK_IMPORTED_MODULE_1__","_registration_security_registration_security_component__WEBPACK_IMPORTED_MODULE_2__","_registration_agreement_registration_agreement_component__WEBPACK_IMPORTED_MODULE_3__","_registration_summary_registration_summary_component__WEBPACK_IMPORTED_MODULE_4__","_landing_new_landing_component__WEBPACK_IMPORTED_MODULE_38__","_home_home_component__WEBPACK_IMPORTED_MODULE_39__","_form_borrower_borrower_information_component__WEBPACK_IMPORTED_MODULE_6__","_form_entity_entity_information_component__WEBPACK_IMPORTED_MODULE_7__","_form_line_of_business_line_of_business_information_component__WEBPACK_IMPORTED_MODULE_42__","_form_ownership_ownership_component__WEBPACK_IMPORTED_MODULE_8__","_form_balance_sheet_financial_information_component__WEBPACK_IMPORTED_MODULE_9__","_form_income_financial_information_income_component__WEBPACK_IMPORTED_MODULE_10__","_form_balance_sheet_financial_information_balance_sheet_component__WEBPACK_IMPORTED_MODULE_11__","_form_balance_sheet_financial_information_balance_sheet_selection_component__WEBPACK_IMPORTED_MODULE_41__","_form_summary_summary_and_sign_component__WEBPACK_IMPORTED_MODULE_12__","_form_confirmation_confirmation_component__WEBPACK_IMPORTED_MODULE_13__","_terms_and_conditions_component__WEBPACK_IMPORTED_MODULE_36__","_electronic_statement_component__WEBPACK_IMPORTED_MODULE_44__","_ach_us_bank_statement_component__WEBPACK_IMPORTED_MODULE_45__","_form_preapproval_preapproval_component__WEBPACK_IMPORTED_MODULE_46__","_form_reusables_account_reset_security_questions_component__WEBPACK_IMPORTED_MODULE_47__","routing","_angular_router__WEBPACK_IMPORTED_MODULE_49__","relativeLinkResolution","_angular_core__WEBPACK_IMPORTED_MODULE_8__","ctx_r3","ContactPageComponent","accountService","utilitiesService","_form_top_form__WEBPACK_IMPORTED_MODULE_0__","_angular_forms__WEBPACK_IMPORTED_MODULE_9__","_form_reusables_phone_phone_component__WEBPACK_IMPORTED_MODULE_1__","scrollTo","contactRequest","_models_contact_request__WEBPACK_IMPORTED_MODULE_2__","form","addControl","name","phone","message","userLoggedIn","checkForSubmittedContactRequest","getUserPhoneNumbers","phoneNumbers","getPhoneNumbers","then","forEach","raw","phoneNumber","replace","push","formatted","formatPhoneNumber","event","query","substring","filteredPhoneNumbers","filterNumbers","filtered","i","length","includes","user","GetUser","isAnonymous","loading","result","submitted","submissionErrors","undefined","markAsPristine","valid","submitting","submitContactRequest","errors","_angular_core__WEBPACK_IMPORTED_MODULE_3__","AccountDetailsComponent","route","router","getAccount","getCurrentAccount","snapshot","parent","account","act","errorMessage","err","error","_angular_core__WEBPACK_IMPORTED_MODULE_1__","SubCommitmentDetailsComponent","loanDetails","subcommitment","Loans","getLoanDetails","loan","AcctRefNo","Transactions","detail","NextRateDate","commitment","StatusCode","IsPastDrawPeriod","CreditLimit","PrincipalBalance","IsDelinquent","inputs","AccountTemplateComponent","accountUpdated$","subscribe","_angular_core__WEBPACK_IMPORTED_MODULE_2__","ctx","_angular_core__WEBPACK_IMPORTED_MODULE_9__","ctx_r8","AmendmentComponent","fb","vendorService","text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_3___default","prefix","includeThousandsSeperator","allowDecimal","group","Dealer","_angular_forms__WEBPACK_IMPORTED_MODULE_10__","formSubCommitment","_models_accounts_sub_commitment__WEBPACK_IMPORTED_MODULE_0__","GetVendors","setVendorList","amendment","filterSelectedVendors","SubCommitments","map","s","RowId","vendors","filteredVendors","vendor","label","getShortName","value","rowId","unshift","doesAccountHaveAmendment","LoanNumber","preexisting","_models_accounts_amendment__WEBPACK_IMPORTED_MODULE_1__","selectedSubCommitment","selectedVendor","updatingSubCommitment","showForm","formSubmitted","match","findIndex","selected","find","_models_accounts_dealer_header__WEBPACK_IMPORTED_MODULE_2__","Name","DealerNumber","dealerNumber","sc","SubCommitmentNumber","Index","reduce","psc","toggleForm","cancelSub","sub","subCommitmentToDelete","deletingSubCommitment","splice","submittingAmendment","changeSummary","pipe","_angular_common__WEBPACK_IMPORTED_MODULE_11__","modifiedsc","fsc","concat","transform","newSubs","filter","getTotalLoanAmount","waitingOnRequest","submitAmendment","res","successfulSubmission","convert","clearmask","Number","isNaN","str","newstr","_angular_core__WEBPACK_IMPORTED_MODULE_15__","ctx_r0","AuthorizedPartyAddFormComponent","authorizedPartyService","storageService","lookupService","_models_authorized_party_request__WEBPACK_IMPORTED_MODULE_2__","moment__WEBPACK_IMPORTED_MODULE_6__","subtract","toDate","Date","authorizedPartyReq","USCitizen","_form_top_form__WEBPACK_IMPORTED_MODULE_1__","firstname","_angular_forms__WEBPACK_IMPORTED_MODULE_16__","middlename","lastname","suffix","dob","minDob","maxDob","ssn","streetaddress","city","email","uscitizen","permanentresident","requiredIfNotUSCitizen","countryofcitizenship","CurrentCommitment","c","getCitizenshipCountriesExceptUSA","citizenshipCountries","resolve","toString","nonUSCitizenFieldsRequired","required","checkForm","addAuthorizedParty","response","storeInSession","_authorized_party_base__WEBPACK_IMPORTED_MODULE_0__","AuthorizedPartyRequestId","Error","location","href","DocuSignUrl","navigate","accountNumber","queryParams","disable","waitingOnDocuSign","control","specificErrorType","controls","dirty","touched","hasError","isFormControlInvalid","authorizedPartyIdStorageKey","AuthorizedPartyBase","r","params","AuthorizedPartyComponent","_angular_core__WEBPACK_IMPORTED_MODULE_6__","AuthorizedPartyInProgressDetailComponent","loadPendingRequests","workflow","Status","_models_authorized_party_status__WEBPACK_IMPORTED_MODULE_1__","getDocuSignURL","Id","selectedWorkflow","showConfirmation","closeDialog","cancelAuthorizedPartyRequest","getAllAuthorizedPartyWorkflows","workflows","_angular_core__WEBPACK_IMPORTED_MODULE_4__","AuthorizedPartyResponseComponent","accountHttpService","eventQP","parseUrl","url","status","title","showContinue","id","getFromSession","getPrintableRequest","blob","msSaveOrOpenBlob","fileURL","URL","createObjectURL","open","showPrintDialog","NavigationDashboardComponent","activatedRoute","firstChild","currentTab","HasCreditHold","HasExtension","loan_number","PaymentHistoryComponent","loanNumber","GetPaymentHistory","pendingPayments","completedPayments","getPaymentHistory","results","cancelingPayment","cancelError","cancelConfirmation","cancelPendingPayments","reversalIds","cancelCancel","updateAccountObservable","text","PaymentNavigationComponent","options","alias","getIndexByAlias","selectedAlias","page","show","showingMenu","ctx_r16","ctx_r19","PaymentsComponent","text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_1___default","payments","HasPendingPayment","HasBalance","GetPaymentDetails","SetMenu","reject","BankAccountNumber","BankRoutingNumber","ACHAccountType","BankAccountHolder","paymentTypes","command","JSON","parse","stringify","defaultPayments","AccountPayment","defaultType","GetACHProcessingCutoffHour","getACHProcessingCutoffHour","ACHProcessingCutoff","getPayoffDetails","AccountPaymentAmount","TotalPayoffAmount","convertedValue","toNumber","toFixed","totalAmount","element","PayoffAmount","PaymentAmount","invalid","TotalPaymentAmount","ABACheckSum","submitError","VerifyPaymentAmount","payment","bankAccountNumber","bankRoutingNumber","achAccountType","bankAccountHolder","pass","aba","numericRegex","total","test","parseInt","charAt","paymentError","submitPayments","confirmationNumbers","print","PayoffComponent","payoffLength","_angular_core__WEBPACK_IMPORTED_MODULE_5__","AccountStatementsComponent","messageService","getStatements","getInterestPaidStatements","_models_document_document_query__WEBPACK_IMPORTED_MODULE_2__","RefNo","Description","minimumDate","moment__WEBPACK_IMPORTED_MODULE_1__","MinimumDocumentDate","getDocuments","statements","year","statement","DocumentDate","statementYears","sort","a","b","parseFloat","reverse","interestPaidStatements","document","downloadDocument","DocumentId","console","log","size","file_saver__WEBPACK_IMPORTED_MODULE_0__","add","severity","summary","clear","primeng_api__WEBPACK_IMPORTED_MODULE_7__","TransactionReportComponent","transactionReport","_models_accounts_transaction_report__WEBPACK_IMPORTED_MODULE_1__","_models_accounts_transaction_query__WEBPACK_IMPORTED_MODULE_0__","getTransactionReport","MinimumDate","MaximumDate","Type","Program","datesInvalid","_r0","_r1","AccountSummaryComponent","notifySvc","getAccountSummaries","linkedData","cifno","linking","SetUser","linkAccount","loadingAccounts","emit","getAccounts","accounts","accts","_a","hasAccount","wait","Promise","setTimeout","statusText","life","Logout","userCifno","AccountHolder","CifNo","Relationship","Relationships","customer","OwnershipRelationships","outputs","ApplicationStatusSummaryComponent","applicationService","currentApplicationService","notificationService","history","logService","getApplicationStatuses","currentUser","_b","recordInfo","loadingApplications","getApplicationHeaders","applications","applicationHeaders","inProcessStatuses","applicationHeader","hasOpenApplication","setApplicationLoadErrorMessage","recordError","getApplicationStatus","getApplication","app","setCurrentApplication","init","_models_navigation_options__WEBPACK_IMPORTED_MODULE_0__","getDocuSignUrl","docuSignURL","application","editSigningApplication","cancel","refresh","getCurrentApplication","showAttachment","selectedApplicationId","applicationLoadError","applicationLoadDetails","_services_application_http_service__WEBPACK_IMPORTED_MODULE_1__","DashboardHomeComponent","AccountPreferencesComponent","authService","PreferencesAlertsComponent","getUserData","getCustomerContactPreferences","contactDetails","verifyTextNumber","textNumberError","updateCustomerContactPreferences","alertChangeComplete","UserPreferences","TextOptIn","PhoneNumber","newNumberRadio","newNumber","ctx_r12","PhoneMask","PreferencesContactComponent","ZipMask","_models_state_list__WEBPACK_IMPORTED_MODULE_7__","newPhone","_models_accounts_contact_phone__WEBPACK_IMPORTED_MODULE_6__","contactInfoForm","_angular_forms__WEBPACK_IMPORTED_MODULE_13__","password","newPhoneCtrl","_models_user__WEBPACK_IMPORTED_MODULE_0__","getCustomerContactDetails","checkPhysicalAddress","_models_accounts_contact_detail__WEBPACK_IMPORTED_MODULE_3__","_models_user_preferences__WEBPACK_IMPORTED_MODULE_4__","EmailAddress","sameAsPhysical","setPhysicalAddressValidators","PhysicalAddress","_models_accounts_contact_address__WEBPACK_IMPORTED_MODULE_5__","substr","addingNewPhone","get","setValidators","PhoneNumbers","primaryPhone","p","IsPrimary","PrimaryPhoneNumber","updateValueAndValidity","updateInfoError","updateCustomerContactDetails","contactInfoChangeComplete","rejected","Password","Message","addPhone","inputValue","array","PreferencesNameComponent","firstName","_angular_forms__WEBPACK_IMPORTED_MODULE_4__","lastName","formGroup","UpdateUser","_angular_core__WEBPACK_IMPORTED_MODULE_7__","PreferencesPasswordComponent","model","_models_password_change__WEBPACK_IMPORTED_MODULE_2__","resetChangePasswordForm","errorObj","passwordChangeComplete","changePasswordForm","oldPassword","_angular_forms__WEBPACK_IMPORTED_MODULE_8__","newPassword","confirmPassword","newPasswordGroup","_form_validation_password_matcher_validator__WEBPACK_IMPORTED_MODULE_4__","changePasswordError","ChangePassword","PreferencesSecurityComponent","UserDashboardComponent","ElectronicStatementComponent","AbstractFormPage","currentAppSvc","utilities","currentPage","pageNumber","maxPageReached","isEmpty","prePopulateHistory","Count","afterInitPage","currentPageIndex","visiblePages","forward","numberToMove","currentAlias","currentMaxPageReached","newPage","newPageAlias","getMaxPageAlias","save","success","navigateByUrl","prevPageRoute","back","prevPage","currPageRoute","afterSave","pageAlias","pageIndex","maxIndex","querySelector","scrollIntoView","scrollBy","FinancialInformationBalanceSheetSelectionComponent","initPage","goToPage","_abstractpage__WEBPACK_IMPORTED_MODULE_0__","_angular_core__WEBPACK_IMPORTED_MODULE_14__","ctx_r2","ctx_r1","FinancialInformationBalanceSheetComponent","wizardService","financialSummaryService","_top_form__WEBPACK_IMPORTED_MODULE_1__","historyService","inputChildren","item","ContainsErrorsMethod","next","f","financesContainsErrorsCallback","characters","getCharacters","balanceSheet","questions","getQuestions","index","getCurrentWizardIndex","review","currentIndex","borrowers","person","fullName","entity","legalName","questionIsSimple","currentQuestion","question","_models_wizard_simple_question__WEBPACK_IMPORTED_MODULE_2__","editing","scrollToError","convertWizardAnswersToAppData","financesContainErrors","comp","split","removeControl","viewQuery","_angular_forms__WEBPACK_IMPORTED_MODULE_17__","_services_wizard_question_http_service__WEBPACK_IMPORTED_MODULE_3__","_angular_core__WEBPACK_IMPORTED_MODULE_13__","FinancialInformationComponent","_top_form__WEBPACK_IMPORTED_MODULE_2__","getMinimumBalanceSheetDate","_financial_validation__WEBPACK_IMPORTED_MODULE_4__","totalAssets","totalIncomeMax","totalLiabilities","income","totalFarmIncome","currentAssets","_angular_forms__WEBPACK_IMPORTED_MODULE_14__","termAssets","currentLiabilities","termLiabilities","intermediateAssets","intermediateLiabilities","creationDate","minBalanceSheetDate","minimumBalanceSheetDate","moment__WEBPACK_IMPORTED_MODULE_0__","startOfYear","getStartOfFiscalYear","month","date","minDateError","minDate","toDateString","maxDateError","noDateError","totalEquity","totalsOutsideOfRange","totalAssetsInvalid","totalLiabilitiesInvalid","totalFarmIncomeInvalid","isValidForm","_abstractpage__WEBPACK_IMPORTED_MODULE_1__","FinancialSummaryComponent","_financial_validation__WEBPACK_IMPORTED_MODULE_3__","character","finances","setContainsErrorsMethod","financesOutsideOfMax","indexOf","values","prev","curr","navigateWizard","sum","assets","liabilities","_models_finances__WEBPACK_IMPORTED_MODULE_0__","_models_wizard_simple_question__WEBPACK_IMPORTED_MODULE_1__","fieldType","toLowerCase","addQuestion","description","_models_wizard_complex_question__WEBPACK_IMPORTED_MODULE_2__","totalLiability","_angular_core__WEBPACK_IMPORTED_MODULE_11__","ctx_r11","BorrowerDetailComponent","_validation_custom_masks__WEBPACK_IMPORTED_MODULE_0__","_utilities","borrower","getPermanentResidenceCountries","addressCountries","setBorrowerCitizenshipToUS","isUSCitizen","hasBankruptcy","changeResident","reAddConditionalControls","countryOfCitizenship","_models_constants__WEBPACK_IMPORTED_MODULE_2__","isPermanentResident","contains","_angular_forms__WEBPACK_IMPORTED_MODULE_12__","ctx_r9","BorrowerInformationComponent","changeLogService","userSvc","changeLogSvc","isOpen","formGroups","accordionMap","containerClass","_top_form__WEBPACK_IMPORTED_MODULE_3__","opened","_angular_forms__WEBPACK_IMPORTED_MODULE_15__","preApprovalStagingId","SetPreApprovalStatus","isSubmitted","_models_person__WEBPACK_IMPORTED_MODULE_1__","closeAllTabs","found","mapping","idx","preventDefault","hasNonWhitespace","discharge","comparePreApprovalData","showModal","invalidTotalOwnership","pendingChangelogs","myUser","RefValue","ChangedBy","saveChangeLog","isEntityApplication","ownerPercent","borrowerOwnership","appType","_models_application_type__WEBPACK_IMPORTED_MODULE_0__","borrowerFullName","borrowerMailingAddress","mailingAddress","defaultName","preApprovalBorrower","defaultAddress","generateChangeLog","middleName","fieldName","oldValue","newValue","_app_models_changelog__WEBPACK_IMPORTED_MODULE_4__","Form","RefType","FieldName","OldValue","NewValue","defaults","line1","line2","state","zipcode","physicalAddress","isPhysicalAddress","submit","preApproved","isPreApproved","_abstractpage__WEBPACK_IMPORTED_MODULE_2__","ConfirmationComponent","currentAppSrvc","closePrintDialog","SHOW_SUBMITTED_TIME","SurveyComponent","surveyService","submitQuestions","showSubmitted","surveySubmit","Title","ThankYou","_services_survey_questions_http_service__WEBPACK_IMPORTED_MODULE_0__","DoingBusinessAsItem","dbaItem_r2","DoingBusinessAsComponent","changeDetectorRef","dbaFormGroup","_angular_forms__WEBPACK_IMPORTED_MODULE_3__","doingBusinessAs","addNewFormControlForDBA","detectChanges","dbaItem","_doing_business_as_item__WEBPACK_IMPORTED_MODULE_0__","uniqueIndex","dbas","_angular_core__WEBPACK_IMPORTED_MODULE_17__","EntityInformationComponent","_models_organization_type__WEBPACK_IMPORTED_MODULE_0__","addables","changes","items","_angular_forms__WEBPACK_IMPORTED_MODULE_20__","totalIncomeMaxNLS","FinancialValidation","NAN","max","CropItemFactory","Object","keys","getCropItems","el","bind","Crops","current","_models_crop__WEBPACK_IMPORTED_MODULE_1__","_top_form__WEBPACK_IMPORTED_MODULE_0__","_angular_forms__WEBPACK_IMPORTED_MODULE_5__","crop","cropName","acres","averageYield","cropYieldUnits","yieldUnits","price","update","cropFactory","_crop_item_factory__WEBPACK_IMPORTED_MODULE_4__","crops","cropItems","Acres","AverageYield","YieldUnits","Price","_angular_core__WEBPACK_IMPORTED_MODULE_18__","ctx_r4","ctx_r26","FinancialInformationIncomeComponent","_crop_item_factory__WEBPACK_IMPORTED_MODULE_6__","_yield_units_factory__WEBPACK_IMPORTED_MODULE_7__","_livestock_item_factory__WEBPACK_IMPORTED_MODULE_8__","_crops__WEBPACK_IMPORTED_MODULE_4__","_livestocks__WEBPACK_IMPORTED_MODULE_5__","valueInput","mask","grossCropIncome","grossLivestockIncome","otherFarmIncome","editingCrop","cropList","calculateValues","cropToRemove","livestock","editingLivestock","livestockList","livestockToRemove","otherFarmIncomeControl","_angular_forms__WEBPACK_IMPORTED_MODULE_19__","otherFarmIncomeForm","totalCropIncomeInvalid","totalLivestockIncomeInvalid","totalOtherIncomeInvalid","totalIncomeIsInvalid","LivestockItemFactory","Livestocks","_livestock_item_factory__WEBPACK_IMPORTED_MODULE_4__","_models_livestock__WEBPACK_IMPORTED_MODULE_1__","livestockName","count","livestocks","YieldUnitsFactory","IncreasedRiskCountriesComponent","isAnswered","isMissingIncreasedRiskCountries","showIncreasedRiskCountries","increasedRiskCountries","getCountries","getAddressCountries","countries","_models_option_model__WEBPACK_IMPORTED_MODULE_0__","x","DisplayName","selectedIncreasedRiskCountries","some","irc","updateIncreasedRiskCountries","country","autoCompleteFilteredCountries","sirc","increasedRiskCountriesChange","LineOfBusinessInformationComponent","_models_line_of_businesses__WEBPACK_IMPORTED_MODULE_1__","LOB","lineOfBusiness","increasedRiskCountriesComponent","isValid","_increased_risk_countries_increased_risk_countries_component__WEBPACK_IMPORTED_MODULE_0__","RadioCompleteComponent","shouldCheck","initialValue","changedValue","type","option","opt","OwnerDetailComponent","_validation_custom_masks__WEBPACK_IMPORTED_MODULE_1__","_models_person__WEBPACK_IMPORTED_MODULE_0__","moment__WEBPACK_IMPORTED_MODULE_2__","mode","ctx_r14","o_r20","OwnershipComponent","hasEntityOwnership","hasTrust","hasIosWithPercent","hasIndividualsWithPercent","additionalOwners","showOwnershipAdd","showControllingPartyAdd","ownersList","signer","o","signerSelect","signerTitle","saveSignerOnApplication","isControllingParty","isBorrower","additionalOwnersIndex","owner","totalOwnership","isTotalOwnershipValid","areAllInitialQuestionsAnswered","PreApprovalComponent","currentAppService","code","makeNewApp","serverError","recaptchaToken","ValidatePreApproval","proceed","token","stagingId","_models_application_type__WEBPACK_IMPORTED_MODULE_1__","startpage","_models_navigation_options__WEBPACK_IMPORTED_MODULE_2__","preApprovalCode","getPreApprovalStagingForApplication","_models_person__WEBPACK_IMPORTED_MODULE_3__","ctx_r5","ctx_r7","VendorProgramsComponent","cdr","_models_state_list__WEBPACK_IMPORTED_MODULE_3__","text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_7___default","_reusables_address_zip_component__WEBPACK_IMPORTED_MODULE_4__","_reusables_phone_phone_component__WEBPACK_IMPORTED_MODULE_5__","addAdditionalControls","loadingVendors","filterVendors","topVendorsFactory","_services_program_item_factories__WEBPACK_IMPORTED_MODULE_1__","GetSponsoringDealerForPreApproval","vendorControl","setErrors","preApprovalSponsorId","preApprovalChanged","vendorId","vendorName","preApprovalVendor","_models_vendor__WEBPACK_IMPORTED_MODULE_2__","creditLimit","getRetailersForVendor","zip","numberValidation","_financial_validation__WEBPACK_IMPORTED_MODULE_6__","retailerPhone","selectedVendors","v","service","clearRetailer","retailerId","retailer","retailerAddress","retailerCity","retailerState","retailerZip","loadingRetailers","nearZipCode","getZipCode","GetRetailersForVendor","vendorDealersFactory","vendorRetailers","getItemName","address","number","lessThanZero","VendorComponent","num","ResetPasswordLandingComponent","_angular_forms__WEBPACK_IMPORTED_MODULE_6__","passwordGroup","invalidFormMessage","GetSecurityQuestion","securityQuestion","reason","isInvalidUserOrTokenInfo","ResetPassword","securityAnswer","securityItem_r7","SECURITY_QUESTIONS_COUNT","EditSecurityQuestionsComponent","_models_security_questions__WEBPACK_IMPORTED_MODULE_2__","securityQuestionReset","_models_security_question_reset__WEBPACK_IMPORTED_MODULE_1__","credentials","pw","requirePassword","_form_top_form__WEBPACK_IMPORTED_MODULE_3__","_angular_forms__WEBPACK_IMPORTED_MODULE_7__","questionsGroup","noDuplicateQuestionsFactory","securityQuestions","_models_security_question__WEBPACK_IMPORTED_MODULE_0__","questionFC","answerFC","questionValue","self","g","selectedQuestions","duplicateQuestions","updateSecurityQuestions","changeComplete","ngOnInit","LoginFailureComponent","LoginComponent","answer","GetLastLoginMessage","loginMessage","closeEvent","skipLocationChange","passwordExpired","Login","securityQuestionPassed","setFailedLogin","checkContactAccountsEnabled","AccountsDisabled","checkAccountStatuses","getAllCommitments","allCommitments","hasBadCreditAccounts","isBadCreditAccount","hasGoodCreditAccounts","canApply","every","stopApplying","setValue","HasBankruptcy","HasCollections","onlySelf","hideCancel","PasswordExpiredComponent","ChangeExpiredPassword","onPasswordUpdated","ResetPasswordComponent","InitiatePasswordReset","ResetSecurityQuestionsComponent","SecurityQuestionComponent","answerForm","_angular_forms__WEBPACK_IMPORTED_MODULE_2__","answerUpdated","header","AddressComponent","pushAddress","streetCtrl","cityCtrl","disabledVal","handleDisableChange","isComplete","addressList","streetValidators","allowPOBox","disabled","stateCtrl","zipCtrl","useGroup","controlsConstructed","enable","CombinedAddressComponent","streetUpdated","combAddress","isPhysicalAddressRequired","physicalGroup","showHomeAddressPrefix","STATE_INPUT_CONTROL_VALUE_ACCESSOR","StateComponent","multi","_models_state_list__WEBPACK_IMPORTED_MODULE_0__","selectedState","fn","onChangeCallback","onTouchedCallback","ZIP_INPUT_CONTROL_VALUE_ACCESSOR","ZipComponent","zipMask","zipCode","AttachmentsComponent","documentService","uploadMessages","errorMessages","uploadDocuments","files","srcElement","newDocument","createDocumentFromFile","editingDocument","File","file","_models_document_document__WEBPACK_IMPORTED_MODULE_0__","MetaData","_models_document_document_meta_data__WEBPACK_IMPORTED_MODULE_1__","Refno","PrimaryCifNumber","DocumentType","DocumentDescription","uploading","cancelAll","today","dd","getDate","mm","getMonth","yyyy","getFullYear","pad","digits","slice","AutofocusDirective","_autofocus","nativeElement","focus","condition","autofocus","CorporationItemFactory","$","AutocompleteComponent","myElement","rxjs_util_noop__WEBPACK_IMPORTED_MODULE_1__","elementRef","DisplayTitle","notRequired","keyCode","filteredList","itemFactory","getItems","forceSelection","CORP_INPUT_CONTROL_VALUE_ACCESSOR","CorporationComponent","_CorporationItemFactory__WEBPACK_IMPORTED_MODULE_0__","corporationType","corpComp","ChangeApplicationTypeComponent","types","appTypes","previousType","redirect","_models_entity__WEBPACK_IMPORTED_MODULE_1__","clickedComponent","target","inside","changeAppDropDown","parentNode","showOptions","ContactComponent","CreditRequirements","showInstructions","DateBoxComponent","innerValue","format","outerValue","$event","candidate","cleanInput","parseDate","_onChange","input","illegalChars","dateLike","day","bumpTwoDigitYears","twoDigitYearCap","FullNameComponent","_angular_forms__WEBPACK_IMPORTED_MODULE_1__","HelpTipComponent","ngContentSelectors","NUMBER_INPUT_CONTROL_VALUE_ACCESSOR","NumberInputComponent","text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_0___default","initInput","_angular_common__WEBPACK_IMPORTED_MODULE_7__","select","phoneMask","PhoneComponent","phoneCtrl","ReCaptchaComponent","_zone","_captchaService","_environments_environment__WEBPACK_IMPORTED_MODULE_0__","getReady","language","ready","widgetId","grecaptcha","render","targetRef","site_key","theme","tabindex","run","recaptchaCallback","recaptchaExpiredCallback","reset","getResponse","captchaResponse","captchaExpired","FooterComponent","field","userexperience","storageperiod","ctx_r17","HeaderComponent","environment","modalView","hide","notice","hasCurrentApplication","option_r1","SideNavComponent","activeRoute","currentApplication","aliasIndex","isDisabled","isSelected","validateSave","relativeTo","ctx_r22","ComplexQuestionComponent","_financial_validation__WEBPACK_IMPORTED_MODULE_0__","assetCtrls","totalLibCtrls","shortTermLibCtrls","Characters","assetCustomValidators","totalLiabilityCustomValidators","termLessThanTotal","shortTermLiabilityCustomValidators","shortTermLiability","ctrl","questionIndex","InitNumbers","assetInput","ctrlNumber","termGreaterThanTotal","SimpleQuestionComponent","valueCtrls","validators","customValidators","initNumbers","inputElement","SummaryAndSignComponent","owners","ultimateBeneficialOwners","controllingParties","ownership","terms","selectedOwner","ownersToDisplay","selectedBorrower","currentDateTime","onlineAgreementAcceptanceDate","waiting","_models_navigation_options__WEBPACK_IMPORTED_MODULE_4__","docusignError","hasSubmitErrors","checked","acceptedDateTime","join","printing","TopForm","formGroupParams","_angular_forms__WEBPACK_IMPORTED_MODULE_0__","AutoSelectDirective","ele","hostBindings","validateCheckboxFactory","CheckboxValidatorDirective","validator","ComparisonValidatorDirective","comparisonFactory","tempValue","noMatch","hundredWithDecimalMask","hasDecimal","decimalCount","firstNumber","dateRangeValidator","min","validity","DateRangeValidatorDirective","setHours","validatorFn","validateEmailFactory","EMAIL_REGEXP","validateEmail","EmailValidatorDirective","ForceDecimalsDirective","numberValue","decimalValue","_angular_common__WEBPACK_IMPORTED_MODULE_1__","validateIsNotPOBox","valStr","filteredStr","isPOBox","NoDuplicatesValidatorDirective","noDuplicates","hasDuplicate","validateRange","numberVal","validateNumber","validateIfNumber","regex","REGEXP","RegExp","validateNumberFactory","allowNegative","retVal","regexStr","NumberValidatorDirective","passwordMatcher","minPasswordLength","maxPasswordLength","mustContainNumber","mustContainLowercaseLetter","mustContainCapitalLetter","mustContainNonAlphaNumeric","validatePasswordFactory","passwordValidation","passwordCompareFactory","PasswordValidatorDirective","HomeComponent","redirectIfLoggedIn","showLogin","TimeoutTime","IdleComponent","idle","auth","userSrvc","setIdle","setInterrupts","onIdleStart","onIdleEnd","onTimeoutWarning","onTimeout","showLogoutMessage","showWarningMessage","countdown","RefreshTokens","showErrorMessage","NewLandingComponent","forceVendor","decodeURI","top","_models_navigation_options__WEBPACK_IMPORTED_MODULE_3__","Amendment","MasterAcctRefNo","MasterLoanNumber","Array","from","_sub_commitment__WEBPACK_IMPORTED_MODULE_0__","totalLoanAmount","Commitment","_customer__WEBPACK_IMPORTED_MODULE_0__","d","Dealers","Balance","MaturityDate","_sub_commitment__WEBPACK_IMPORTED_MODULE_1__","PaymentHistory","IsPastDue","HasLegalAction","balance","UpcomingPaymentRequired","ContactAddress","appData","City","Line1","Line2","State","ZipCode","ContactDetail","MailingAddress","_contact_address__WEBPACK_IMPORTED_MODULE_0__","_contact_phone__WEBPACK_IMPORTED_MODULE_1__","_user_preferences__WEBPACK_IMPORTED_MODULE_2__","ContactPhone","IsMobile","IsSMSNumber","Customer","CifNumber","Address","Zip","DOB","SSN","LetterTitle","DealerHeader","Loan","ProgramName","InterestRate","_transaction__WEBPACK_IMPORTED_MODULE_0__","maxDays","withinTimeframe","setDate","Payment","PaymentDate","ProgramId","DealerName","ConfirmationNumber","PaymentGrowerDetailID","PaymentType","SubCommitment","CropYear","_dealer_header__WEBPACK_IMPORTED_MODULE_0__","_loan__WEBPACK_IMPORTED_MODULE_1__","maturityDate","pv","cl","TransactionQuery","TransactionReport","TransactionTypes","Programs","Transaction","Amount","TransactionDate","Vendor","POBOX_ABBREVIATIONS","lodash__WEBPACK_IMPORTED_MODULE_0__","pobox","ApplicationHeader","ID","ApplicationType","Application","appHttpService","_application_type__WEBPACK_IMPORTED_MODULE_5__","_balance_sheet__WEBPACK_IMPORTED_MODULE_2__","_vendor__WEBPACK_IMPORTED_MODULE_4__","_income__WEBPACK_IMPORTED_MODULE_3__","_constants__WEBPACK_IMPORTED_MODULE_6__","AppType","Borrowers","_person__WEBPACK_IMPORTED_MODULE_0__","Vendors","Entity","_entity__WEBPACK_IMPORTED_MODULE_1__","BalanceSheet","Income","LineOfBusiness","createdDate","CreatedDate","CurrentPage","OnlineAgreementAcceptanceDate","PreApprovalCode","HasEntityOwnership","IncreasedRiskCountries","originatingSite","OriginatingSite","PreApprovalStagingId","HasTrust","HasIosWithPercent","HasIndividualsWithPercent","MaxPageReached","beneficiaryIsBorrower","ol","CreateAnonymousUser","callHttpSave","_shared_error_handling__WEBPACK_IMPORTED_MODULE_7__","list","ownershipPercentage","AuthorizedPartyRequest","FirstName","MiddleName","LastName","Suffix","StreetAddress","StateAbbreviated","Email","PermanentResident","CountryOfBirth","CountryOfCitizenship","AuthorizedPartyStatus","AuthorizedPartyWorkflow","CifNum","_authorized_party_request__WEBPACK_IMPORTED_MODULE_0__","Questions","_wizard_simple_question__WEBPACK_IMPORTED_MODULE_0__","_wizard_complex_question__WEBPACK_IMPORTED_MODULE_1__","CreationDate","shortTermAssets","ShortTermAssets","shortTermLiabilities","ShortTermLiabilities","TermAssets","TermLiabilities","IntermediateAssets","IntermediateLiabilities","calculatedValues","Category","_question_summary__WEBPACK_IMPORTED_MODULE_0__","updateTotal","ChangeLogModel","ChangeDate","USA","GrowerOnline","GrowerOnlineWebsiteName","ContactRequest","Credentials","props","Crop","DocumentMetaData","DocumentCategory","DocumentQuery","Document","metaData","_address__WEBPACK_IMPORTED_MODULE_0__","dateOfOrganization","DateOfOrganization","entityType","EntityType","LegalName","stateOfOrganization","StateOfOrganization","taxId","TaxId","UltimateBeneficialOwners","_person__WEBPACK_IMPORTED_MODULE_1__","ControllingParties","Signer","SignerTitle","DoingBusinessAs","EventModel","Finances","_financial__WEBPACK_IMPORTED_MODULE_0__","Financial","categories","_category__WEBPACK_IMPORTED_MODULE_0__","categoryIndex","category","FullName","trim","CropList","_crop__WEBPACK_IMPORTED_MODULE_0__","LivestockList","_livestock__WEBPACK_IMPORTED_MODULE_1__","GrossCropIncome","GrossLivestockIncome","OtherFarmIncome","revenue","LineOfBusinesses","Livestock","MessageHeader","Text","NavigationOptionsRegistration","RegistrationPages","Pages","MAX_APP_AGE_TO_CONTINUE","NavigationOptions","GetStartPage","appPages","AppPages","GetPageIndexByAlias","includeHidden","VisiblePages","hideFromNav","_application_type__WEBPACK_IMPORTED_MODULE_0__","Option","OrganizationType","getValidTypes","LLC","LLP","GeneralPartnership","Corporation","Passport","countryOfIssuance","CountryOfIssuance","PasswordChange","Person","_fullname__WEBPACK_IMPORTED_MODULE_2__","_address__WEBPACK_IMPORTED_MODULE_1__","_passport__WEBPACK_IMPORTED_MODULE_3__","alternatePhoneNumber","AlternatePhoneNumber","bankruptcyDischargeDate","BankruptcyDischargeDate","bankruptcyFilingDate","BankruptcyFilingDate","countryOfPermanentResidence","CountryOfPermanentResidence","dateOfBirth","DateOfBirth","IsPermanentResident","IsUSCitizen","OwnershipPercentage","IsControllingParty","passport","QuestionSummary","Registree","userData","userId","authToken","refreshToken","authExpires","authCreated","SecurityQuestionReset","SecurityQuestion","Question","SecurityQuestions","States","SurveyQuestion","Answer","questionId","QuestionId","UserExtendedSecurityProfile","registeredSystem","RegisteredSystem","cifNo","isInternal","IsInternal","lastLoginDate","LastLoginDate","lastFailedLoginDate","LastFailedLoginDate","IsAnonymous","_user_security_profile__WEBPACK_IMPORTED_MODULE_1__","UserId","EmailOptIn","UserSecurityProfile","permissions","Permissions","roles","Roles","User","VendorHeader","TopVendors","VendorId","VendorName","RetailerId","Retailer","RetailerCity","RetailerState","RetailerAddress","RetailerZip","RetailerPhone","ComplexQuestion","assetQuestionText","assetExample","totalLiabilityQuestionText","totalLiabilityExample","shortTermLiabilityQuestionText","shortTermLiabilityExample","_question__WEBPACK_IMPORTED_MODULE_0__","order","SimpleQuestion","questionText","example","SafeHtmlPipe","sanitizer","val","bypassSecurityTrustHtml","pure","KeysPipe","key","_angular_core__WEBPACK_IMPORTED_MODULE_10__","RegistrationAgreementComponent","registrationService","_angular_forms__WEBPACK_IMPORTED_MODULE_11__","attestation","eStatement","achUSBankStatement","registree","getCurrentRegistree","isExistingCustomer","agreementAcceptanceDate","eStatementAcceptanceDate","achUSBankStatementAcceptanceDate","setCurrentRegistree","_models_user__WEBPACK_IMPORTED_MODULE_1__","_models_constants__WEBPACK_IMPORTED_MODULE_4__","Register","makeNewRegistree","recaptcha","_form_reusables_recaptcha_component__WEBPACK_IMPORTED_MODULE_2__","RegistrationNavigationComponent","_models_navigation_options_registration__WEBPACK_IMPORTED_MODULE_0__","LinkAccountComponent","checkboxValidator","skip","last4ssn","getUserAcceptanceDates","newUser","VerifyAccountDetails","AccountNumber","Last4ssn","updateUserAcceptanceDates","UpdateUserAcceptanceDates","GetUserAcceptanceDates","attestationVisible","eStatementVisible","EStatementAcceptanceDate","achUSBankStatementVisible","AchUSBankStatementAcceptanceDate","controlName","validate","checkboxIsVisible","RegistrationLinkAccountComponent","triggered","RegistrationProfileComponent","existingCustomer","CheckAvailability","emailError","RegistrationComponent","securityItem_r3","RegistrationSecurityComponent","_models_security_question__WEBPACK_IMPORTED_MODULE_1__","RegistrationSummaryComponent","AccountHttpService","http","_angular_common_http__WEBPACK_IMPORTED_MODULE_12__","_environments_environment__WEBPACK_IMPORTED_MODULE_7__","rxjs_Subject__WEBPACK_IMPORTED_MODULE_13__","accountUpdatedSource","asObservable","_models_credentials__WEBPACK_IMPORTED_MODULE_8__","forceRefresh","currentAccount","currentAccountLoading","currentAccountLoadingPromise","acct","apiUrl","resourceUrl","post","headers","toPromise","handleError","_models_accounts_commitment__WEBPACK_IMPORTED_MODULE_1__","foundAccount","_models_accounts_payment__WEBPACK_IMPORTED_MODULE_2__","json","payoffDays","_models_document_document__WEBPACK_IMPORTED_MODULE_3__","_models_accounts_transaction_report__WEBPACK_IMPORTED_MODULE_6__","documentId","responseType","observe","loanAcctRefNo","_models_accounts_loan__WEBPACK_IMPORTED_MODULE_4__","_models_accounts_contact_detail__WEBPACK_IMPORTED_MODULE_5__","factory","ApplicationHttpService","_environments_environment__WEBPACK_IMPORTED_MODULE_3__","_models_constants__WEBPACK_IMPORTED_MODULE_6__","_models_application_header__WEBPACK_IMPORTED_MODULE_2__","srvc","_models_application__WEBPACK_IMPORTED_MODULE_1__","msg","getAppDTO","byteChars","atob","byteNumbers","charCodeAt","byteArray","Uint8Array","Blob","GrowerFirstName","convertStagingToPerson","_models_person__WEBPACK_IMPORTED_MODULE_4__","_models_address__WEBPACK_IMPORTED_MODULE_5__","GrowerCity","GrowerAddress","GrowerAddress2","GrowerState","GrowerZip","GrowerLastName","GrowerMiddle","GrowerSuffix","AuthService","_angular_common_http__WEBPACK_IMPORTED_MODULE_7__","errorErrorMessage","parsed","_body","agreementAcceptedDate","respUser","_models_user__WEBPACK_IMPORTED_MODULE_2__","userName","userID","access_token","expires_in","updateUserAndTokens","username","passwordResetToken","ResetPasswordToken","browserDate","offsetMinutes","getTimezoneOffset","RefreshToken","updateTokens","isAttached","args","_ng_idle_core__WEBPACK_IMPORTED_MODULE_6__","onInterrupt","refresh_token","startIdleClock","createAuthorizationHeader","passwordChange","modelMessage","GetErrorFromModelState","ModelState","websiteName","usr","isUserAuthExpired","recordWarn","set","Code","AuthenticatedHttp","authv2","body","_version_helper__WEBPACK_IMPORTED_MODULE_0__","AuthorizationGuard","AuthorizedPartyService","_environments_environment__WEBPACK_IMPORTED_MODULE_2__","_angular_common_http__WEBPACK_IMPORTED_MODULE_4__","authorizedParty","acctRefNo","_models_authorized_party_workflow__WEBPACK_IMPORTED_MODULE_1__","requestId","accountRefNo","Headers","append","ChangeLogService","errorHandler","getJsonRequestHeaders","lodash__WEBPACK_IMPORTED_MODULE_2__","_models_changelog__WEBPACK_IMPORTED_MODULE_1__","_angular_common_http__WEBPACK_IMPORTED_MODULE_5__","providedIn","CurrentApplicationService","deleteFromLocal","appStorageKey","storeInLocal","getFromLocal","callingComponent","getCurrentApplicationRecursive","timesCalled","numTimes","appLock","storageAppId","_shared_error_handling__WEBPACK_IMPORTED_MODULE_1__","_models_application__WEBPACK_IMPORTED_MODULE_0__","CurrentRegistrationService","currentRegistree","_models_register__WEBPACK_IMPORTED_MODULE_0__","_models_navigation_options__WEBPACK_IMPORTED_MODULE_1__","CustomErrorHandler","injector","loggingService","_logging_service__WEBPACK_IMPORTED_MODULE_3__","getUrl","getUserId","stacktrace_js__WEBPACK_IMPORTED_MODULE_0__","stackTrace","stackframes","numberOfStackTraceItemsToReport","sf","_environments_environment__WEBPACK_IMPORTED_MODULE_1__","warn","_user_service__WEBPACK_IMPORTED_MODULE_2__","_angular_common__WEBPACK_IMPORTED_MODULE_4__","DocumentService","documents","formData","FormData","tempResults","_models_document_document__WEBPACK_IMPORTED_MODULE_1__","FinancialSummaryService","rxjs_Subject__WEBPACK_IMPORTED_MODULE_0__","HistoryService","pop","getCurrent","LoggingService","record","_models_event__WEBPACK_IMPORTED_MODULE_1__","website","LookupService","Map","lookupType","checkForCached","cachedValue","getObjectFromSession","inProcessLookups","has","promise","createHttpGetPromise","baseUri","payload","storeObjectInSession","_models_constants__WEBPACK_IMPORTED_MODULE_1__","errorVal","MessageCenterService","_messages","_models_message__WEBPACK_IMPORTED_MODULE_1__","serviceCalled","getGrowerMessages","messages","TopVendorsFactory","VendorDealersFactory","GetVendorRetailers","ReCaptchaService","zone","rxjs__WEBPACK_IMPORTED_MODULE_0__","onloadCallback","scriptLoaded","doc","script","createElement","innerHTML","src","async","defer","appendChild","readySubject","StorageService","localStorage","setItem","getItem","removeItem","sessionStorage","SurveyQuestionService","_models_survey_question__WEBPACK_IMPORTED_MODULE_1__","dto","TextRetrieverService","localization","REPO","UserAccountGuard","UserService","storageUser","getObjectFromLocal","userStorageKey","retrievedUser","storeObjectInLocal","appsrc","_currentAppSrv","difference","diff","idleTimeout","getTimeout","watch","stop","UtilitiesService","s2","m","VendorService","selectedVendorIds","uniqueLogId","_models_vendor_header__WEBPACK_IMPORTED_MODULE_0__","sponsoringVendor","WizardQuestionService","financialValidators","_form_financial_validation__WEBPACK_IMPORTED_MODULE_5__","testData","simple","complex","liabilityDescription","DebounceClickDirective","rxjs__WEBPACK_IMPORTED_MODULE_1__","subscription","clicks$","bounceTime","debounceClick","unsubscribe","stopPropagation","EnvironmentBannerComponent","ErrorHandling","extractMessage","LoadingFeedbackComponent","inline","MessageCenterComponent","messageCenter","getMessages","groupBy","arr","rv","ModalDialogComponent","close","ESCAPE","SectionHeaderComponent","navFunction","nav","TermsAndConditionsComponent","MSALInstanceFactory","msalConfig","clientId","_azure_msal_browser__WEBPACK_IMPORTED_MODULE_1__","AppSharedModule","_appv2_services_auth_service__WEBPACK_IMPORTED_MODULE_0__","_azure_msal_angular__WEBPACK_IMPORTED_MODULE_3__","useFactory","ifAuthService","rxjs__WEBPACK_IMPORTED_MODULE_8__","vfServcieInitOptions","appDestroyedSubject","_destroying$","onLoginCallback","onUserLogin","isLoggedInInApp","loggedIn","initService","complete","_app_services_text_retriever_service__WEBPACK_IMPORTED_MODULE_1__","_app_services_utilities_service__WEBPACK_IMPORTED_MODULE_2__","_app_services_recaptcha_service__WEBPACK_IMPORTED_MODULE_3__","_app_services_history_service__WEBPACK_IMPORTED_MODULE_4__","_azure_msal_browser__WEBPACK_IMPORTED_MODULE_57__","if_angular_security__WEBPACK_IMPORTED_MODULE_58__","_environments_environment__WEBPACK_IMPORTED_MODULE_53__","MSALGuardConfigFactory","interactionType","_azure_msal_browser__WEBPACK_IMPORTED_MODULE_59__","AppModuleV2","_app_component__WEBPACK_IMPORTED_MODULE_4__","_ng_idle_core__WEBPACK_IMPORTED_MODULE_61__","_app_services_authorization_guard__WEBPACK_IMPORTED_MODULE_1__","_app_services_user_service__WEBPACK_IMPORTED_MODULE_37__","_services_auth_service__WEBPACK_IMPORTED_MODULE_39__","_app_services_authenticated_http_service__WEBPACK_IMPORTED_MODULE_41__","_app_services_current_application_service__WEBPACK_IMPORTED_MODULE_42__","_app_services_application_http_service__WEBPACK_IMPORTED_MODULE_43__","_services_current_registration_service__WEBPACK_IMPORTED_MODULE_44__","_services_account_http_service__WEBPACK_IMPORTED_MODULE_45__","_app_services_storage_service__WEBPACK_IMPORTED_MODULE_38__","_app_services_user_account_guard__WEBPACK_IMPORTED_MODULE_34__","_app_services_document_service__WEBPACK_IMPORTED_MODULE_47__","_app_services_message_center_service__WEBPACK_IMPORTED_MODULE_48__","_app_services_vendor_service__WEBPACK_IMPORTED_MODULE_49__","_app_services_authorized_party_service__WEBPACK_IMPORTED_MODULE_50__","_app_services_financial_summary_service__WEBPACK_IMPORTED_MODULE_51__","_app_services_logging_service__WEBPACK_IMPORTED_MODULE_52__","_app_services_auth_service__WEBPACK_IMPORTED_MODULE_40__","_app_services_account_http_service__WEBPACK_IMPORTED_MODULE_46__","_services_user_account_guard__WEBPACK_IMPORTED_MODULE_35__","_angular_core__WEBPACK_IMPORTED_MODULE_60__","_app_services_custom_error_handler__WEBPACK_IMPORTED_MODULE_2__","_app_services_lookup_service__WEBPACK_IMPORTED_MODULE_36__","_azure_msal_angular__WEBPACK_IMPORTED_MODULE_62__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_63__","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_64__","_angular_forms__WEBPACK_IMPORTED_MODULE_65__","_angular_common_http__WEBPACK_IMPORTED_MODULE_66__","_angular_material_datepicker__WEBPACK_IMPORTED_MODULE_67__","_angular_material_input__WEBPACK_IMPORTED_MODULE_68__","_angular_material_core__WEBPACK_IMPORTED_MODULE_69__","primeng_checkbox__WEBPACK_IMPORTED_MODULE_70__","primeng_accordion__WEBPACK_IMPORTED_MODULE_71__","primeng_dialog__WEBPACK_IMPORTED_MODULE_72__","primeng_table__WEBPACK_IMPORTED_MODULE_73__","primeng_radiobutton__WEBPACK_IMPORTED_MODULE_74__","primeng_dropdown__WEBPACK_IMPORTED_MODULE_75__","primeng_button__WEBPACK_IMPORTED_MODULE_76__","primeng_tabmenu__WEBPACK_IMPORTED_MODULE_77__","primeng_toast__WEBPACK_IMPORTED_MODULE_78__","primeng_inputtextarea__WEBPACK_IMPORTED_MODULE_79__","primeng_autocomplete__WEBPACK_IMPORTED_MODULE_80__","primeng_calendar__WEBPACK_IMPORTED_MODULE_81__","_angular_material_select__WEBPACK_IMPORTED_MODULE_82__","_angular_material_radio__WEBPACK_IMPORTED_MODULE_83__","primeng_message__WEBPACK_IMPORTED_MODULE_84__","primeng_messages__WEBPACK_IMPORTED_MODULE_85__","_angular_flex_layout__WEBPACK_IMPORTED_MODULE_86__","if_angular_core__WEBPACK_IMPORTED_MODULE_87__","_app_app_module__WEBPACK_IMPORTED_MODULE_54__","_dashboard_preferences_account_preferences_component__WEBPACK_IMPORTED_MODULE_20__","_form_reusables_view_header_component__WEBPACK_IMPORTED_MODULE_5__","_form_reset_password_reset_password_landing_component__WEBPACK_IMPORTED_MODULE_18__","_form_reusables_account_reset_password_component__WEBPACK_IMPORTED_MODULE_9__","_idle_idle_component__WEBPACK_IMPORTED_MODULE_17__","_home_home_component__WEBPACK_IMPORTED_MODULE_19__","_shared_b2c_content_host_b2c_content_host_component__WEBPACK_IMPORTED_MODULE_6__","_form_reusables_account_login_component__WEBPACK_IMPORTED_MODULE_7__","_form_reusables_account_b2c_login_component__WEBPACK_IMPORTED_MODULE_8__","_registration_navigation_registration_navigation_component__WEBPACK_IMPORTED_MODULE_13__","_registration_registration_component__WEBPACK_IMPORTED_MODULE_10__","_registration_agreement_registration_agreement_component__WEBPACK_IMPORTED_MODULE_14__","_registration_profile_registration_linkaccount_component__WEBPACK_IMPORTED_MODULE_12__","_registration_profile_registration_profile_component__WEBPACK_IMPORTED_MODULE_11__","_registration_summary_registration_summary_component__WEBPACK_IMPORTED_MODULE_15__","_dashboard_preferences_name_preferences_name_component__WEBPACK_IMPORTED_MODULE_21__","_dashboard_preferences_contact_preferences_contact_component__WEBPACK_IMPORTED_MODULE_22__","_dashboard_preferences_email_preferences_email_component__WEBPACK_IMPORTED_MODULE_23__","_dashboard_preferences_email_preferences_email_frame_component__WEBPACK_IMPORTED_MODULE_24__","_dashboard_preferences_email_preferences_email_confirmation_component__WEBPACK_IMPORTED_MODULE_25__","_dashboard_preferences_email_change_email_confirmation_component__WEBPACK_IMPORTED_MODULE_26__","_dashboard_preferences_password_preferences_password_component__WEBPACK_IMPORTED_MODULE_27__","_dashboard_preferences_password_preferences_password_frame_component__WEBPACK_IMPORTED_MODULE_28__","_dashboard_preferences_password_preferences_password_confirmation_component__WEBPACK_IMPORTED_MODULE_29__","_dashboard_preferences_password_change_password_confirmation_component__WEBPACK_IMPORTED_MODULE_30__","_dashboard_preferences_alerts_preferences_alerts_component__WEBPACK_IMPORTED_MODULE_31__","_registration_profile_linkaccount_component__WEBPACK_IMPORTED_MODULE_16__","_dashboard_home_account_summary_account_summary_component__WEBPACK_IMPORTED_MODULE_33__","_dashboard_home_dashboard_home_component__WEBPACK_IMPORTED_MODULE_32__","_site_component__WEBPACK_IMPORTED_MODULE_55__","_app_form_reusables_account_login_failure_component__WEBPACK_IMPORTED_MODULE_56__","_version_config__WEBPACK_IMPORTED_MODULE_0__","_app_component__WEBPACK_IMPORTED_MODULE_60__","_site_component__WEBPACK_IMPORTED_MODULE_59__","_app_contact_contact_page_component__WEBPACK_IMPORTED_MODULE_48__","_form_reset_password_reset_password_landing_component__WEBPACK_IMPORTED_MODULE_44__","_app_form_program_vendor_component__WEBPACK_IMPORTED_MODULE_40__","_form_reusables_account_password_confirmation_component__WEBPACK_IMPORTED_MODULE_54__","_app_form_reusables_account_login_failure_component__WEBPACK_IMPORTED_MODULE_61__","_app_dashboard_user_dashboard_component__WEBPACK_IMPORTED_MODULE_15__","_app_services_authorization_guard__WEBPACK_IMPORTED_MODULE_38__","_dashboard_preferences_email_preferences_email_component__WEBPACK_IMPORTED_MODULE_31__","_dashboard_preferences_email_preferences_email_confirmation_component__WEBPACK_IMPORTED_MODULE_58__","_dashboard_preferences_name_preferences_name_component__WEBPACK_IMPORTED_MODULE_33__","_dashboard_preferences_password_preferences_password_component__WEBPACK_IMPORTED_MODULE_34__","_dashboard_preferences_password_preferences_password_confirmation_component__WEBPACK_IMPORTED_MODULE_57__","_dashboard_preferences_alerts_preferences_alerts_component__WEBPACK_IMPORTED_MODULE_36__","_services_user_account_guard__WEBPACK_IMPORTED_MODULE_37__","_app_dashboard_account_account_template_component__WEBPACK_IMPORTED_MODULE_19__","_app_services_user_account_guard__WEBPACK_IMPORTED_MODULE_21__","_app_dashboard_account_account_details_account_details_component__WEBPACK_IMPORTED_MODULE_18__","_app_dashboard_account_payments_payments_component__WEBPACK_IMPORTED_MODULE_16__","_app_dashboard_account_payments_payment_history_component__WEBPACK_IMPORTED_MODULE_22__","_app_dashboard_account_payments_payoff_component__WEBPACK_IMPORTED_MODULE_17__","_app_dashboard_account_statements_account_statements_component__WEBPACK_IMPORTED_MODULE_20__","_app_dashboard_account_transaction_report_transaction_report_component__WEBPACK_IMPORTED_MODULE_28__","_app_dashboard_account_authorized_party_authorized_party_component__WEBPACK_IMPORTED_MODULE_24__","_app_dashboard_account_authorized_party_in_progress_detail_in_progress_detail_component__WEBPACK_IMPORTED_MODULE_26__","_app_dashboard_account_authorized_party_add_form_add_form_component__WEBPACK_IMPORTED_MODULE_25__","_app_dashboard_account_authorized_party_response_response_component__WEBPACK_IMPORTED_MODULE_27__","_app_dashboard_account_amendment_amendment_component__WEBPACK_IMPORTED_MODULE_23__","_registration_profile_registration_profile_component__WEBPACK_IMPORTED_MODULE_1__","_registration_profile_registration_linkaccount_component__WEBPACK_IMPORTED_MODULE_2__","_app_landing_new_landing_component__WEBPACK_IMPORTED_MODULE_41__","_home_home_component__WEBPACK_IMPORTED_MODULE_42__","_app_terms_and_conditions_component__WEBPACK_IMPORTED_MODULE_39__","_app_electronic_statement_component__WEBPACK_IMPORTED_MODULE_49__","_app_ach_us_bank_statement_component__WEBPACK_IMPORTED_MODULE_50__","_app_form_preapproval_preapproval_component__WEBPACK_IMPORTED_MODULE_51__","_app_form_borrower_borrower_information_component__WEBPACK_IMPORTED_MODULE_6__","_app_form_entity_entity_information_component__WEBPACK_IMPORTED_MODULE_7__","_app_form_line_of_business_line_of_business_information_component__WEBPACK_IMPORTED_MODULE_47__","_app_form_balance_sheet_financial_information_component__WEBPACK_IMPORTED_MODULE_9__","_app_form_income_financial_information_income_component__WEBPACK_IMPORTED_MODULE_10__","_app_form_balance_sheet_financial_information_balance_sheet_component__WEBPACK_IMPORTED_MODULE_11__","_app_form_balance_sheet_financial_information_balance_sheet_selection_component__WEBPACK_IMPORTED_MODULE_46__","_app_form_summary_summary_and_sign_component__WEBPACK_IMPORTED_MODULE_12__","_app_form_ownership_ownership_component__WEBPACK_IMPORTED_MODULE_8__","_app_form_confirmation_confirmation_component__WEBPACK_IMPORTED_MODULE_13__","_dashboard_preferences_email_preferences_email_frame_component__WEBPACK_IMPORTED_MODULE_32__","_dashboard_preferences_password_preferences_password_frame_component__WEBPACK_IMPORTED_MODULE_35__","_dashboard_preferences_email_change_email_confirmation_component__WEBPACK_IMPORTED_MODULE_55__","_dashboard_preferences_password_change_password_confirmation_component__WEBPACK_IMPORTED_MODULE_56__","_form_reusables_account_b2c_login_component__WEBPACK_IMPORTED_MODULE_43__","if_angular_security__WEBPACK_IMPORTED_MODULE_62__","_azure_msal_angular__WEBPACK_IMPORTED_MODULE_63__","_form_reset_password_reset_password_login_component__WEBPACK_IMPORTED_MODULE_45__","_form_reusables_account_forgot_password_login_component__WEBPACK_IMPORTED_MODULE_52__","_form_reusables_account_forgot_password_confirmation_component__WEBPACK_IMPORTED_MODULE_53__","Routing","_angular_router__WEBPACK_IMPORTED_MODULE_65__","_app_form_top_form__WEBPACK_IMPORTED_MODULE_0__","_app_models_state_list__WEBPACK_IMPORTED_MODULE_4__","_app_models_accounts_contact_phone__WEBPACK_IMPORTED_MODULE_3__","_app_form_top_form__WEBPACK_IMPORTED_MODULE_1__","_app_models_user__WEBPACK_IMPORTED_MODULE_0__","_app_models_accounts_contact_address__WEBPACK_IMPORTED_MODULE_2__","ChangeEmailConfirmationComponent","PreferencesEmailConfirmationComponent","PreferencesEmailFrameComponent","ifAuthSecurityService","redirectRequest","policy","redirectUri","loginRedirect","PreferencesEmailComponent","scroll","ChangePasswordConfirmationComponent","PreferencesPasswordConfirmationComponent","PreferencesPasswordFrameComponent","frameSrc","getSafeFrameSource","shouldHideFrame","searchParams","encodedEmail","encodeURIComponent","encodedToken","frameBaseUrl","bypassSecurityTrustResourceUrl","ResetPasswordLoginComponent","routeParams","_app_models_constants__WEBPACK_IMPORTED_MODULE_1__","extraQueryParameters","B2CLoginComponent","encapsulation","ForgotPasswordConfirmationComponent","ForgotPasswordLoginComponent","processMessageParams","if_angular_security__WEBPACK_IMPORTED_MODULE_3__","messageParam","PasswordConfirmationComponent","router_Temp","userService_Temp","currentAppService_Temp","accountService_Temp","_app_form_reusables_view_header_component__WEBPACK_IMPORTED_MODULE_0__","_app_home_home_component__WEBPACK_IMPORTED_MODULE_0__","t","logout","postLogoutUrl","PageAliases","profile","agreement","fromAlias","toAlias","isAllowed","routerV1","authServiceV1","authServiceV2","registrationServiceV1","registrationServiceV2","userToken","gotoNextPage","_app_registration_agreement_registration_agreement_component__WEBPACK_IMPORTED_MODULE_2__","activeRouteV1","_models_navigation_options_registration__WEBPACK_IMPORTED_MODULE_1__","isDisabledViaConfig","pageNavsMatched","disabledViaConfig","_app_registration_navigation_registration_navigation_component__WEBPACK_IMPORTED_MODULE_0__","_app_registration_profile_registration_linkaccount_component__WEBPACK_IMPORTED_MODULE_0__","_app_registration_profile_registration_profile_component__WEBPACK_IMPORTED_MODULE_0__","_angular_common_http__WEBPACK_IMPORTED_MODULE_10__","rxjs_Subject__WEBPACK_IMPORTED_MODULE_11__","_app_models_credentials__WEBPACK_IMPORTED_MODULE_8__","_app_models_accounts_commitment__WEBPACK_IMPORTED_MODULE_1__","_app_models_accounts_payment__WEBPACK_IMPORTED_MODULE_2__","_app_models_document_document__WEBPACK_IMPORTED_MODULE_3__","_app_models_accounts_transaction_report__WEBPACK_IMPORTED_MODULE_6__","_app_models_accounts_loan__WEBPACK_IMPORTED_MODULE_4__","_app_models_accounts_contact_detail__WEBPACK_IMPORTED_MODULE_5__","resourceUrlV2","LoginHandlingType","msalService","_angular_common_http__WEBPACK_IMPORTED_MODULE_11__","LoginDefault","getAccessToken","onTokenRefresh","_ng_idle_core__WEBPACK_IMPORTED_MODULE_10__","isNotLoggedIn","processUserLoginData","userFromService","_version_helper__WEBPACK_IMPORTED_MODULE_7__","loginHandlingType","onUserLoginLoginDefault","Registration","onUserLoginRegistration","all","hasGoodCustomContactStatus","hasGoodAccountStatuses","tokenData","getUserSecurityProfile","buildUserObject","customGetWithToken","accessToken","_app_models_user_extended_security_profile__WEBPACK_IMPORTED_MODULE_4__","_app_models_user__WEBPACK_IMPORTED_MODULE_2__","expires","accountResourceUrl","_app_models_accounts_commitment__WEBPACK_IMPORTED_MODULE_5__","_app_models_accounts_contact_detail__WEBPACK_IMPORTED_MODULE_6__","postLogoutRedirectUri","logoutRequest","logoutRedirect","newRegistree","_app_models_register__WEBPACK_IMPORTED_MODULE_1__","_app_models_navigation_options__WEBPACK_IMPORTED_MODULE_2__","allPages","showAccountPage","availablePages","take","indexOfCurrentPage","endsWith","nextPage","UserContactGuard","B2cContentHostComponent","b2cframeSrc","b2cFrameSource","setupFrameListener","addEventListener","b2cUri","origin","height","b2cFrameHeight","debug","SiteComponent","VERSIONCONFIG","redirectPrefix","bootstrapPath","migrateV2","v2path","CONFIG","apiBaseUri","runAsProd","recaptchaSiteKey","env","sessionTimeoutPostLogoutRedirectUri","b2cConfig","tenantId","b2cSigninFrame","b2cUpdatePasswordFrame","b2cPasswordResetFrame","b2cEmailChangeFrame","b2cPasswordChangeFrame","enableAppV2","migrateAppV2","b2cFrameDelay","_version_helper__WEBPACK_IMPORTED_MODULE_3__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__","bootstrapModule","_appv2_app_module__WEBPACK_IMPORTED_MODULE_1__","_app_app_module__WEBPACK_IMPORTED_MODULE_0__","AppVersionHelper","isVersion1","isVersion2","pathname","_appv2_version_config__WEBPACK_IMPORTED_MODULE_0__","getVersionRoute","pathFromRoot","startsWith","versionAwarePath","versionRoutePrefix","webpackContext"],"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions:%20%7B%7D|namespace%20object","webpack:///src/app/ach-us-bank-statement.component.ts","webpack:///src/app/ach-us-bank-statement.component.html","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/app.routes.ts","webpack:///src/app/contact/contact-page.component.html","webpack:///src/app/contact/contact-page.component.ts","webpack:///src/app/dashboard/account/account-details/account-details.component.html","webpack:///src/app/dashboard/account/account-details/account-details.component.ts","webpack:///src/app/dashboard/account/account-details/subcommitment-details.component.html","webpack:///src/app/dashboard/account/account-details/subcommitment-details.component.ts","webpack:///src/app/dashboard/account/account-template.component.ts","webpack:///src/app/dashboard/account/account-template.component.html","webpack:///src/app/dashboard/account/amendment/amendment.component.html","webpack:///src/app/dashboard/account/amendment/amendment.component.ts","webpack:///src/app/dashboard/account/authorized-party/add-form/add-form.component.html","webpack:///src/app/dashboard/account/authorized-party/add-form/add-form.component.ts","webpack:///src/app/dashboard/account/authorized-party/authorized-party-base.ts","webpack:///src/app/dashboard/account/authorized-party/authorized-party.component.ts","webpack:///src/app/dashboard/account/authorized-party/authorized-party.component.html","webpack:///src/app/dashboard/account/authorized-party/in-progress-detail/in-progress-detail.component.html","webpack:///src/app/dashboard/account/authorized-party/in-progress-detail/in-progress-detail.component.ts","webpack:///src/app/dashboard/account/authorized-party/response/response.component.html","webpack:///src/app/dashboard/account/authorized-party/response/response.component.ts","webpack:///src/app/dashboard/account/navigation/navigation.component.html","webpack:///src/app/dashboard/account/navigation/navigation.component.ts","webpack:///src/app/dashboard/account/payments/payment-history.component.html","webpack:///src/app/dashboard/account/payments/payment-history.component.ts","webpack:///src/app/dashboard/account/payments/payment-navigation.component.html","webpack:///src/app/dashboard/account/payments/payment-navigation.component.ts","webpack:///src/app/dashboard/account/payments/payments.component.html","webpack:///src/app/dashboard/account/payments/payments.component.ts","webpack:///src/app/dashboard/account/payments/payoff.component.html","webpack:///src/app/dashboard/account/payments/payoff.component.ts","webpack:///src/app/dashboard/account/statements/account-statements.component.html","webpack:///src/app/dashboard/account/statements/account-statements.component.ts","webpack:///src/app/dashboard/account/transaction-report/transaction-report.component.html","webpack:///src/app/dashboard/account/transaction-report/transaction-report.component.ts","webpack:///src/app/dashboard/home/account-summary/account-summary.component.html","webpack:///src/app/dashboard/home/account-summary/account-summary.component.ts","webpack:///src/app/dashboard/home/application-status-summary/application-status-summary.component.html","webpack:///src/app/dashboard/home/application-status-summary/application-status-summary.component.ts","webpack:///src/app/dashboard/home/dashboard-home.component.html","webpack:///src/app/dashboard/home/dashboard-home.component.ts","webpack:///src/app/dashboard/preferences/account-preferences.component.ts","webpack:///src/app/dashboard/preferences/account-preferences.component.html","webpack:///src/app/dashboard/preferences/alerts/preferences-alerts.component.html","webpack:///src/app/dashboard/preferences/alerts/preferences-alerts.component.ts","webpack:///src/app/dashboard/preferences/contact/preferences-contact.component.html","webpack:///src/app/dashboard/preferences/contact/preferences-contact.component.ts","webpack:///src/app/dashboard/preferences/name/preferences-name.component.html","webpack:///src/app/dashboard/preferences/name/preferences-name.component.ts","webpack:///src/app/dashboard/preferences/password/preferences-password.component.html","webpack:///src/app/dashboard/preferences/password/preferences-password.component.ts","webpack:///src/app/dashboard/preferences/security/preferences-security.component.ts","webpack:///src/app/dashboard/preferences/security/preferences-security.component.html","webpack:///src/app/dashboard/user-dashboard.component.ts","webpack:///src/app/electronic-statement.component.ts","webpack:///src/app/electronic-statement.component.html","webpack:///src/app/form/abstractpage.ts","webpack:///src/app/form/balance-sheet/financial-information-balance-sheet-selection.component.ts","webpack:///src/app/form/balance-sheet/financial-information-balance-sheet.component.html","webpack:///src/app/form/balance-sheet/financial-information-balance-sheet.component.ts","webpack:///src/app/form/balance-sheet/financial-information.component.html","webpack:///src/app/form/balance-sheet/financial-information.component.ts","webpack:///src/app/form/balance-sheet/financial-summary.component.html","webpack:///src/app/form/balance-sheet/financial-summary.component.ts","webpack:///src/app/form/borrower/borrower-detail.component.html","webpack:///src/app/form/borrower/borrower-detail.component.ts","webpack:///src/app/form/borrower/borrower-information.component.html","webpack:///src/app/form/borrower/borrower-information.component.ts","webpack:///src/app/form/confirmation/confirmation.component.html","webpack:///src/app/form/confirmation/confirmation.component.ts","webpack:///src/app/form/confirmation/survey.component.ts","webpack:///src/app/form/entity/doing-business-as/doing-business-as-item.ts","webpack:///src/app/form/entity/doing-business-as/doing-business-as.component.html","webpack:///src/app/form/entity/doing-business-as/doing-business-as.component.ts","webpack:///src/app/form/entity/entity-information.component.html","webpack:///src/app/form/entity/entity-information.component.ts","webpack:///src/app/form/financial-validation.ts","webpack:///src/app/form/income/crop-item-factory.ts","webpack:///src/app/form/income/crops.ts","webpack:///src/app/form/income/financial-information-income.component.html","webpack:///src/app/form/income/financial-information-income.component.ts","webpack:///src/app/form/income/livestock-item-factory.ts","webpack:///src/app/form/income/livestocks.ts","webpack:///src/app/form/income/yield-units-factory.ts","webpack:///src/app/form/increased-risk-countries/increased-risk-countries.component.html","webpack:///src/app/form/increased-risk-countries/increased-risk-countries.component.ts","webpack:///src/app/form/line-of-business/line-of-business-information.component.html","webpack:///src/app/form/line-of-business/line-of-business-information.component.ts","webpack:///src/app/form/line-of-business/radio-complete.component.html","webpack:///src/app/form/line-of-business/radio-complete.component.ts","webpack:///src/app/form/ownership/owner-detail.component.html","webpack:///src/app/form/ownership/owner-detail.component.ts","webpack:///src/app/form/ownership/ownership.component.html","webpack:///src/app/form/ownership/ownership.component.ts","webpack:///src/app/form/preapproval/preapproval.component.html","webpack:///src/app/form/preapproval/preapproval.component.ts","webpack:///src/app/form/program/vendor-programs.component.html","webpack:///src/app/form/program/vendor-programs.component.ts","webpack:///src/app/form/program/vendor.component.html","webpack:///src/app/form/program/vendor.component.ts","webpack:///src/app/form/reset-password/reset-password-landing.component.html","webpack:///src/app/form/reset-password/reset-password-landing.component.ts","webpack:///src/app/form/reusables/account/edit-security-questions.component.html","webpack:///src/app/form/reusables/account/edit-security-questions.component.ts","webpack:///src/app/form/reusables/account/login-failure.component.ts","webpack:///src/app/form/reusables/account/login-failure.component.html","webpack:///src/app/form/reusables/account/login.component.html","webpack:///src/app/form/reusables/account/login.component.ts","webpack:///src/app/form/reusables/account/password-expired.component.html","webpack:///src/app/form/reusables/account/password-expired.component.ts","webpack:///src/app/form/reusables/account/reset-password.component.html","webpack:///src/app/form/reusables/account/reset-password.component.ts","webpack:///src/app/form/reusables/account/reset-security-questions.component.ts","webpack:///src/app/form/reusables/account/reset-security-questions.component.html","webpack:///src/app/form/reusables/account/security-question.component.html","webpack:///src/app/form/reusables/account/security-question.component.ts","webpack:///src/app/form/reusables/address/address.component.html","webpack:///src/app/form/reusables/address/address.component.ts","webpack:///src/app/form/reusables/address/combined-address.component.html","webpack:///src/app/form/reusables/address/combined-address.component.ts","webpack:///src/app/form/reusables/address/states.component.ts","webpack:///src/app/form/reusables/address/zip.component.ts","webpack:///src/app/form/reusables/attachments/attachments.component.html","webpack:///src/app/form/reusables/attachments/attachments.component.ts","webpack:///src/app/form/reusables/auto-focus/auto-focus.component.ts","webpack:///src/app/form/reusables/autocomplete/CorporationItemFactory.ts","webpack:///src/app/form/reusables/autocomplete/autocomplete.component.html","webpack:///src/app/form/reusables/autocomplete/autocomplete.component.ts","webpack:///src/app/form/reusables/autocomplete/corporation.component.ts","webpack:///src/app/form/reusables/change-application-type.component.ts","webpack:///src/app/form/reusables/contact-information.component.ts","webpack:///src/app/form/reusables/credit-requirements.component.ts","webpack:///src/app/form/reusables/date/date-box.component.ts","webpack:///src/app/form/reusables/date/date-box.component.html","webpack:///src/app/form/reusables/fullname.component.html","webpack:///src/app/form/reusables/fullname.component.ts","webpack:///src/app/form/reusables/help-tip.component.ts","webpack:///src/app/form/reusables/help-tip.component.html","webpack:///src/app/form/reusables/number-input.component.ts","webpack:///src/app/form/reusables/number-input.component.html","webpack:///src/app/form/reusables/phone/phone.component.html","webpack:///src/app/form/reusables/phone/phone.component.ts","webpack:///src/app/form/reusables/recaptcha.component.ts","webpack:///src/app/form/reusables/view/footer.component.html","webpack:///src/app/form/reusables/view/footer.component.ts","webpack:///src/app/form/reusables/view/header.component.html","webpack:///src/app/form/reusables/view/header.component.ts","webpack:///src/app/form/reusables/view/side-nav.component.html","webpack:///src/app/form/reusables/view/side-nav.component.ts","webpack:///src/app/form/reusables/wizard/complex-question.component.html","webpack:///src/app/form/reusables/wizard/complex-question.component.ts","webpack:///src/app/form/reusables/wizard/simple-question.component.ts","webpack:///src/app/form/summary/summary-and-sign.component.html","webpack:///src/app/form/summary/summary-and-sign.component.ts","webpack:///src/app/form/top-form.ts","webpack:///src/app/form/validation/autoselect.directive.ts","webpack:///src/app/form/validation/checkbox-required.directive.ts","webpack:///src/app/form/validation/comparison-validator.directive.ts","webpack:///src/app/form/validation/comparisonFactory.ts","webpack:///src/app/form/validation/custom-masks.ts","webpack:///src/app/form/validation/date-range-validator.directive.ts","webpack:///src/app/form/validation/email-validator.directive.ts","webpack:///src/app/form/validation/force-decimals.directive.ts","webpack:///src/app/form/validation/is-not-po-box.ts","webpack:///src/app/form/validation/no-duplicates.directive.ts","webpack:///src/app/form/validation/number-validator.directive.ts","webpack:///src/app/form/validation/password-matcher.validator.ts","webpack:///src/app/form/validation/password-validator.directive.ts","webpack:///src/app/home/home.component.html","webpack:///src/app/home/home.component.ts","webpack:///src/app/idle/idle.component.ts","webpack:///src/app/landing/new-landing.component.ts","webpack:///src/app/landing/new-landing.component.html","webpack:///src/app/models/accounts/amendment.ts","webpack:///src/app/models/accounts/commitment.ts","webpack:///src/app/models/accounts/contact-address.ts","webpack:///src/app/models/accounts/contact-detail.ts","webpack:///src/app/models/accounts/contact-phone.ts","webpack:///src/app/models/accounts/customer.ts","webpack:///src/app/models/accounts/dealer-header.ts","webpack:///src/app/models/accounts/loan.ts","webpack:///src/app/models/accounts/payment.ts","webpack:///src/app/models/accounts/sub-commitment.ts","webpack:///src/app/models/accounts/transaction-query.ts","webpack:///src/app/models/accounts/transaction-report.ts","webpack:///src/app/models/accounts/transaction.ts","webpack:///src/app/models/address.ts","webpack:///src/app/models/application-header.ts","webpack:///src/app/models/application-type.ts","webpack:///src/app/models/application.ts","webpack:///src/app/models/authorized-party-request.ts","webpack:///src/app/models/authorized-party-status.ts","webpack:///src/app/models/authorized-party-workflow.ts","webpack:///src/app/models/balance-sheet.ts","webpack:///src/app/models/category.ts","webpack:///src/app/models/changelog.ts","webpack:///src/app/models/constants.ts","webpack:///src/app/models/contact-request.ts","webpack:///src/app/models/credentials.ts","webpack:///src/app/models/crop.ts","webpack:///src/app/models/document/document-meta-data.ts","webpack:///src/app/models/document/document-query.ts","webpack:///src/app/models/document/document.ts","webpack:///src/app/models/entity.ts","webpack:///src/app/models/event.ts","webpack:///src/app/models/finances.ts","webpack:///src/app/models/financial.ts","webpack:///src/app/models/fullname.ts","webpack:///src/app/models/income.ts","webpack:///src/app/models/line-of-businesses.ts","webpack:///src/app/models/livestock.ts","webpack:///src/app/models/message.ts","webpack:///src/app/models/navigation-options-registration.ts","webpack:///src/app/models/navigation-options.ts","webpack:///src/app/models/option.model.ts","webpack:///src/app/models/organization-type.ts","webpack:///src/app/models/passport.ts","webpack:///src/app/models/password-change.ts","webpack:///src/app/models/person.ts","webpack:///src/app/models/question-summary.ts","webpack:///src/app/models/register.ts","webpack:///src/app/models/security-question-reset.ts","webpack:///src/app/models/security-question.ts","webpack:///src/app/models/security-questions.ts","webpack:///src/app/models/state-list.ts","webpack:///src/app/models/survey-question.ts","webpack:///src/app/models/user-extended-security-profile.ts","webpack:///src/app/models/user-preferences.ts","webpack:///src/app/models/user-security-profile.ts","webpack:///src/app/models/user.ts","webpack:///src/app/models/vendor-header.ts","webpack:///src/app/models/vendor.ts","webpack:///src/app/models/wizard/complex-question.ts","webpack:///src/app/models/wizard/question.ts","webpack:///src/app/models/wizard/simple-question.ts","webpack:///src/app/pipes/SafeHtml.pipe.ts","webpack:///src/app/pipes/keys.pipe.ts","webpack:///src/app/registration/agreement/registration-agreement.component.html","webpack:///src/app/registration/agreement/registration-agreement.component.ts","webpack:///src/app/registration/navigation/registration-navigation.component.html","webpack:///src/app/registration/navigation/registration-navigation.component.ts","webpack:///src/app/registration/profile/linkaccount.component.html","webpack:///src/app/registration/profile/linkaccount.component.ts","webpack:///src/app/registration/profile/registration-linkaccount.component.ts","webpack:///src/app/registration/profile/registration-linkaccount.component.html","webpack:///src/app/registration/profile/registration-profile.component.html","webpack:///src/app/registration/profile/registration-profile.component.ts","webpack:///src/app/registration/registration.component.ts","webpack:///src/app/registration/security/registration-security.component.html","webpack:///src/app/registration/security/registration-security.component.ts","webpack:///src/app/registration/summary/registration-summary.component.ts","webpack:///src/app/registration/summary/registration-summary.component.html","webpack:///src/app/services/account-http.service.ts","webpack:///src/app/services/application-http.service.ts","webpack:///src/app/services/auth.service.ts","webpack:///src/app/services/authenticated-http.service.ts","webpack:///src/app/services/authorization-guard.ts","webpack:///src/app/services/authorized-party.service.ts","webpack:///src/app/services/changelog.service.ts","webpack:///src/app/services/current-application.service.ts","webpack:///src/app/services/current-registration.service.ts","webpack:///src/app/services/custom-error-handler.ts","webpack:///src/app/services/document.service.ts","webpack:///src/app/services/financial-summary.service.ts","webpack:///src/app/services/history.service.ts","webpack:///src/app/services/logging.service.ts","webpack:///src/app/services/lookup.service.ts","webpack:///src/app/services/message-center.service.ts","webpack:///src/app/services/program-item-factories.ts","webpack:///src/app/services/recaptcha.service.ts","webpack:///src/app/services/storage.service.ts","webpack:///src/app/services/survey-questions-http.service.ts","webpack:///src/app/services/text-retriever.service.ts","webpack:///src/app/services/user-account-guard.ts","webpack:///src/app/services/user.service.ts","webpack:///src/app/services/utilities.service.ts","webpack:///src/app/services/vendor.service.ts","webpack:///src/app/services/wizard-question-http.service.ts","webpack:///src/app/shared/directives/debounce-click.directive.ts","webpack:///src/app/shared/environment-banner/environment-banner.component.ts","webpack:///src/app/shared/error-handling.ts","webpack:///src/app/shared/loading-feedback/loading-feedback.component.ts","webpack:///src/app/shared/loading-feedback/loading-feedback.component.html","webpack:///src/app/shared/message-center/message-center.component.html","webpack:///src/app/shared/message-center/message-center.component.ts","webpack:///src/app/shared/modal-dialog/modal-dialog.component.html","webpack:///src/app/shared/modal-dialog/modal-dialog.component.ts","webpack:///src/app/shared/section-header/section-header.component.html","webpack:///src/app/shared/section-header/section-header.component.ts","webpack:///src/app/terms-and-conditions.component.ts","webpack:///src/app/terms-and-conditions.html","webpack:///src/appshared/app-shared.module.ts","webpack:///src/appv2/app.component.ts","webpack:///src/appv2/app.component.html","webpack:///src/appv2/app.module.ts","webpack:///src/appv2/app.routes.ts","webpack:///src/appv2/dashboard/home/account-summary/account-summary.component.ts","webpack:///src/appv2/dashboard/home/dashboard-home.component.ts","webpack:///src/appv2/dashboard/preferences/account-preferences.component.html","webpack:///src/appv2/dashboard/preferences/account-preferences.component.ts","webpack:///src/appv2/dashboard/preferences/alerts/preferences-alerts.component.html","webpack:///src/appv2/dashboard/preferences/alerts/preferences-alerts.component.ts","webpack:///src/appv2/dashboard/preferences/contact/preferences-contact.component.html","webpack:///src/appv2/dashboard/preferences/contact/preferences-contact.component.ts","webpack:///src/appv2/dashboard/preferences/email/change-email-confirmation.component.ts","webpack:///src/appv2/dashboard/preferences/email/preferences-email-confirmation.component.ts","webpack:///src/appv2/dashboard/preferences/email/preferences-email-confirmation.component.html","webpack:///src/appv2/dashboard/preferences/email/preferences-email-frame.component.ts","webpack:///src/appv2/dashboard/preferences/email/preferences-email-frame.component.html","webpack:///src/appv2/dashboard/preferences/email/preferences-email.component.ts","webpack:///src/appv2/dashboard/preferences/email/preferences-email.component.html","webpack:///src/appv2/dashboard/preferences/name/preferences-name.component.ts","webpack:///src/appv2/dashboard/preferences/password/change-password-confirmation.component.ts","webpack:///src/appv2/dashboard/preferences/password/preferences-password-confirmation.component.ts","webpack:///src/appv2/dashboard/preferences/password/preferences-password-confirmation.component.html","webpack:///src/appv2/dashboard/preferences/password/preferences-password-frame.component.ts","webpack:///src/appv2/dashboard/preferences/password/preferences-password-frame.component.html","webpack:///src/appv2/dashboard/preferences/password/preferences-password.component.ts","webpack:///src/appv2/dashboard/preferences/password/preferences-password.component.html","webpack:///src/appv2/form/reset-password/reset-password-landing.component.html","webpack:///src/appv2/form/reset-password/reset-password-landing.component.ts","webpack:///src/appv2/form/reset-password/reset-password-login.component.ts","webpack:///src/appv2/form/reset-password/reset-password-login.component.html","webpack:///src/appv2/form/reusables/account/b2c-login.component.ts","webpack:///src/appv2/form/reusables/account/forgot-password-confirmation.component.ts","webpack:///src/appv2/form/reusables/account/forgot-password-login.component.ts","webpack:///src/appv2/form/reusables/account/forgot-password-login.component.html","webpack:///src/appv2/form/reusables/account/login.component.html","webpack:///src/appv2/form/reusables/account/login.component.ts","webpack:///src/appv2/form/reusables/account/password-confirmation.component.ts","webpack:///src/appv2/form/reusables/account/password-confirmation.component.html","webpack:///src/appv2/form/reusables/account/reset-password.component.ts","webpack:///src/appv2/form/reusables/account/reset-password.component.html","webpack:///src/appv2/form/reusables/view/header.component.ts","webpack:///src/appv2/home/home.component.ts","webpack:///src/appv2/idle/idle.component.ts","webpack:///src/appv2/models/navigation-options-registration.ts","webpack:///src/appv2/registration/agreement/registration-agreement.component.ts","webpack:///src/appv2/registration/navigation/registration-navigation.component.ts","webpack:///src/appv2/registration/profile/linkaccount.component.ts","webpack:///src/appv2/registration/profile/registration-linkaccount.component.ts","webpack:///src/appv2/registration/profile/registration-profile.component.ts","webpack:///src/appv2/registration/registration.component.ts","webpack:///src/appv2/registration/summary/registration-summary.component.ts","webpack:///src/appv2/registration/summary/registration-summary.component.html","webpack:///src/appv2/services/account-http.service.ts","webpack:///src/appv2/services/auth.service.ts","webpack:///src/appv2/services/current-registration.service.ts","webpack:///src/appv2/services/user-account-guard.ts","webpack:///src/appv2/shared/b2c-content-host/b2c-content-host.component.html","webpack:///src/appv2/shared/b2c-content-host/b2c-content-host.component.ts","webpack:///src/appv2/site.component.ts","webpack:///src/appv2/site.component.html","webpack:///src/appv2/version-config.ts","webpack:///src/environments/env.prod.ts","webpack:///src/main.ts","webpack:///src/version-helper.ts","webpack:///node_modules/moment/locale|sync|/^/.*$"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-ach-us-bank-statement',\r\n templateUrl: 'ach-us-bank-statement.component.html',\r\n styles: [`\r\n .displayBox {\r\n background:#e7e7e7;\r\n margin: 15px;\r\n padding:15px;\r\n overflow: auto;\r\n height:400px;\r\n }\r\n `]\r\n})\r\nexport class AchUSBankStatementComponent {\r\n\r\n}\r\n","
\r\n

This site allows you to view your commitments and balances and to make\r\n payments via an Automated Clearing House Network (“ACH”). By utilizing the ACH service, you are\r\n authorizing Rabo AgriFinance LLC (“RAF”) to request that your Financial Institution debit your\r\n payment amount directly from your account. Please note: RAF utilizes the services of US Bank to\r\n process payments and thus your account statement will reflect transactions being processed by US\r\n Bank, not RAF Please be aware of this when checking your statements.

The following\r\n terms and conditions apply, and use of the ACH service constitutes acceptance of the terms and\r\n conditions.

\r\n

 

\r\n

Definitions

\r\n

 

\r\n

“You” and “your” refers to the person or persons in whose name the Account\r\n has been established. The words “we” and “our” and “us” refer to RAF, its subsidiaries,\r\n officers, directors, and employees. “Account” is the bank account, debit card account, or credit\r\n card account you have designated as the payment account. “Financial institution” is the bank,\r\n credit union, or card issuer who holds or issues your account. “Agreement” refers to the terms\r\n and conditions stated below or as amended from time to time.

\r\n

 

\r\n

Disclaimers

\r\n

 

\r\n

You acknowledge and agree that RAF disclaims to the fullest extent permitted\r\n by applicable law all warranties and representations of any kind, whether express, implied or by\r\n law, statutory or otherwise, including without limitation any warranties of: (i)\r\n merchantability, (ii) fitness for a particular purpose, (iii) non-infringement, (iv) workmanlike\r\n effort, (v) quality, (vi) accuracy, (vii) timeliness, (viii) completeness, or (ix) system\r\n integration. In no event will RAF be liable for (a) errors caused by you, including but not\r\n limited to incorrect or incomplete Account information, insufficient funds, closed accounts, or\r\n similar fund access issues, or (b) damages, including indirect, special, incidental or\r\n consequential damages, including but not limited to, damages for lost profits, disclosure of\r\n confidential information, or loss of privacy, arising out of your use of or inability to use\r\n this site. In addition, RAF will not be liable for any act or omission by any third party,\r\n including but not limited to your Financial Institution, any payment system, or any provider of\r\n Internet access, computer equipment or software, or for any circumstances beyond our control\r\n including but not limited to fire, flood, natural disaster, war, riot, strikes, equipment\r\n failure, computer virus, or interruption of electrical or other utility services.

\r\n

 

\r\n

Limitations

\r\n

 

\r\n

You agree not to make a payment that exceeds the funds or available credit\r\n line in your Account. If you do, RAF has no obligation to complete the transaction and may debit\r\n your Account for any fees associated with insufficient fund transfer.

\r\n

 

\r\n

Liability

\r\n

 

\r\n

You remain liable for all transactions initiated via ACH. Your obligation to\r\n RAF remains in effect in the event of a dishonoured payment and you agree to pay all costs and\r\n expenses RAF may incur in order to collect any amount owed.

\r\n
","import { Component, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport * as Bowser from 'bowser';\r\n\r\nimport { TextRetrieverService } from './services/text-retriever.service';\r\nimport { UtilitiesService } from './services/utilities.service';\r\nimport { UserService } from './services/user.service';\r\nimport { CurrentApplicationService } from './services/current-application.service';\r\nimport { ReCaptchaService } from './services/recaptcha.service';\r\nimport { HistoryService } from './services/history.service';\r\n\r\n@Component({\r\n selector: 'gol-app',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n TextRetrieverService,\r\n UtilitiesService,\r\n ReCaptchaService,\r\n HistoryService,\r\n ],\r\n})\r\nexport class AppComponent implements OnInit {\r\n showBowserAlert: boolean;\r\n\r\n constructor(userService: UserService, currentApp: CurrentApplicationService) {\r\n userService.CurrentAppService = currentApp;\r\n }\r\n\r\n ngOnInit() {\r\n this.browserCheck();\r\n }\r\n\r\n browserCheck() {\r\n const browser = Bowser.getParser(window.navigator.userAgent);\r\n\r\n this.showBowserAlert = !browser.satisfies({\r\n chrome: '>=87',\r\n firefox: '>=80',\r\n edge: '>=88',\r\n ios_saf: '>=12',\r\n and_chr: '>=87',\r\n and_ff: '>=80'\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

Unsupported browser

\r\n

This website is designed to work best when using an up to date internet browser. Edge 88.0, Chrome 87.0, FireFox\r\n 80.0 or later versions ensure that all features and functionality are available.

\r\n

Please update to the latest version to optimize your experience.

\r\n
\r\n
\r\n \r\n
\r\n
","import { NgModule, ErrorHandler } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { SimpleExpiry, IdleExpiry, Idle } from '@ng-idle/core';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabMenuModule } from 'primeng/tabmenu';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\nimport { AuthorizationGuard } from './services/authorization-guard';\r\nimport { CustomErrorHandler } from './services/custom-error-handler';\r\nimport { routing } from './app.routes';\r\nimport { AutoSelectDirective } from './form/validation/autoselect.directive';\r\nimport { CheckboxValidatorDirective } from './form/validation/checkbox-required.directive';\r\nimport { ComparisonValidatorDirective } from './form/validation/comparison-validator.directive';\r\nimport { EmailValidatorDirective } from './form/validation/email-validator.directive';\r\nimport { DateRangeValidatorDirective } from './form/validation/date-range-validator.directive';\r\nimport { NumberValidatorDirective } from './form/validation/number-validator.directive';\r\nimport { PasswordValidatorDirective } from './form/validation/password-validator.directive';\r\nimport { NoDuplicatesValidatorDirective } from './form/validation/no-duplicates.directive';\r\nimport { AppComponent } from './app.component';\r\nimport { AddressComponent } from './form/reusables/address/address.component';\r\nimport { AutocompleteComponent } from './form/reusables/autocomplete/autocomplete.component';\r\nimport { ChangeApplicationTypeComponent } from './form/reusables/change-application-type.component';\r\nimport { CombinedAddressComponent } from './form/reusables/address/combined-address.component';\r\nimport { ComplexQuestionComponent } from './form/reusables/wizard/complex-question.component';\r\nimport { ContactComponent } from './form/reusables/contact-information.component';\r\nimport { ContactPageComponent } from './contact/contact-page.component';\r\nimport { CorporationComponent } from './form/reusables/autocomplete/corporation.component';\r\nimport { CreditRequirements } from './form/reusables/credit-requirements.component';\r\nimport { DateBoxComponent } from './form/reusables/date/date-box.component';\r\nimport { FooterComponent } from './form/reusables/view/footer.component';\r\nimport { HeaderComponent } from './form/reusables/view/header.component';\r\nimport { FullNameComponent } from './form/reusables/fullname.component';\r\nimport { LoginComponent } from './form/reusables/account/login.component';\r\nimport { PasswordExpiredComponent } from './form/reusables/account/password-expired.component';\r\nimport { PhoneComponent } from './form/reusables/phone/phone.component';\r\nimport { ReCaptchaComponent } from './form/reusables/recaptcha.component';\r\nimport { ResetPasswordComponent } from './form/reusables/account/reset-password.component';\r\nimport { SecurityQuestionComponent } from './form/reusables/account/security-question.component';\r\nimport { SideNavComponent } from './form/reusables/view/side-nav.component';\r\nimport { SimpleQuestionComponent } from './form/reusables/wizard/simple-question.component';\r\nimport { StateComponent } from './form/reusables/address/states.component';\r\nimport { ZipComponent } from './form/reusables/address/zip.component';\r\nimport { ForceDecimalsDirective } from './form/validation/force-decimals.directive';\r\nimport { AttachmentsComponent } from './form/reusables/attachments/attachments.component';\r\nimport { AutofocusDirective } from './form/reusables/auto-focus/auto-focus.component';\r\nimport { RegistrationComponent } from './registration/registration.component';\r\nimport { RegistrationProfileComponent } from './registration/profile/registration-profile.component';\r\nimport { RegistrationLinkAccountComponent } from './registration/profile/registration-linkaccount.component';\r\nimport { RegistrationNavigationComponent } from './registration/navigation/registration-navigation.component';\r\nimport { RegistrationAgreementComponent } from './registration/agreement/registration-agreement.component';\r\nimport { RegistrationSecurityComponent } from './registration/security/registration-security.component';\r\nimport { RegistrationSummaryComponent } from './registration/summary/registration-summary.component';\r\nimport { LinkAccountComponent } from './registration/profile/linkaccount.component';\r\nimport { IdleComponent } from './idle/idle.component';\r\nimport { TermsAndConditionsComponent } from './terms-and-conditions.component';\r\nimport { ElectronicStatementComponent } from './electronic-statement.component';\r\nimport { AchUSBankStatementComponent } from './ach-us-bank-statement.component';\r\nimport { LineOfBusinessInformationComponent } from './form/line-of-business/line-of-business-information.component';\r\nimport { BorrowerDetailComponent } from './form/borrower/borrower-detail.component';\r\nimport { BorrowerInformationComponent } from './form/borrower/borrower-information.component';\r\nimport { ConfirmationComponent } from './form/confirmation/confirmation.component';\r\nimport { EntityInformationComponent } from './form/entity/entity-information.component';\r\nimport { FinancialInformationBalanceSheetSelectionComponent } from './form/balance-sheet/financial-information-balance-sheet-selection.component';\r\nimport { FinancialInformationBalanceSheetComponent } from './form/balance-sheet/financial-information-balance-sheet.component';\r\nimport { FinancialInformationIncomeComponent } from './form/income/financial-information-income.component';\r\nimport { FinancialInformationComponent } from './form/balance-sheet/financial-information.component';\r\nimport { FinancialSummaryComponent } from './form/balance-sheet/financial-summary.component';\r\nimport { OwnerDetailComponent } from './form/ownership/owner-detail.component';\r\nimport { OwnershipComponent } from './form/ownership/ownership.component';\r\nimport { RadioCompleteComponent } from './form/line-of-business/radio-complete.component';\r\nimport { ResetPasswordLandingComponent } from './form/reset-password/reset-password-landing.component';\r\nimport { SummaryAndSignComponent } from './form/summary/summary-and-sign.component';\r\nimport { SurveyComponent } from './form/confirmation/survey.component';\r\nimport { VendorProgramsComponent } from './form/program/vendor-programs.component';\r\nimport { VendorComponent } from './form/program/vendor.component';\r\nimport { NewLandingComponent } from './landing/new-landing.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { HelpTipComponent } from './form/reusables/help-tip.component';\r\nimport { NumberInputComponent } from './form/reusables/number-input.component';\r\nimport { NavigationDashboardComponent } from './dashboard/account/navigation/navigation.component';\r\nimport { AccountPreferencesComponent } from './dashboard/preferences/account-preferences.component';\r\nimport { PreferencesContactComponent } from './dashboard/preferences/contact/preferences-contact.component';\r\nimport { PreferencesNameComponent } from './dashboard/preferences/name/preferences-name.component';\r\nimport { PreferencesPasswordComponent } from './dashboard/preferences/password/preferences-password.component';\r\nimport { PreferencesAlertsComponent } from './dashboard/preferences/alerts/preferences-alerts.component';\r\nimport { PreferencesSecurityComponent } from './dashboard/preferences/security/preferences-security.component';\r\nimport { ApplicationStatusSummaryComponent } from './dashboard/home/application-status-summary/application-status-summary.component';\r\nimport { DashboardHomeComponent } from './dashboard/home/dashboard-home.component';\r\nimport { UserDashboardComponent } from './dashboard/user-dashboard.component';\r\nimport { AccountSummaryComponent } from './dashboard/home/account-summary/account-summary.component';\r\nimport { PaymentsComponent } from './dashboard/account/payments/payments.component';\r\nimport { PayoffComponent } from './dashboard/account/payments/payoff.component';\r\nimport { PaymentNavigationComponent } from './dashboard/account/payments/payment-navigation.component';\r\nimport { AccountStatementsComponent } from './dashboard/account/statements/account-statements.component';\r\nimport { UserAccountGuard } from './services/user-account-guard';\r\nimport { AccountDetailsComponent } from './dashboard/account/account-details/account-details.component';\r\nimport { AccountTemplateComponent } from './dashboard/account/account-template.component';\r\nimport { PaymentHistoryComponent } from './dashboard/account/payments/payment-history.component';\r\nimport { SubCommitmentDetailsComponent } from './dashboard/account/account-details/subcommitment-details.component';\r\nimport { AmendmentComponent } from './dashboard/account/amendment/amendment.component';\r\nimport { AuthorizedPartyComponent } from './dashboard/account/authorized-party/authorized-party.component';\r\nimport { AuthorizedPartyAddFormComponent } from './dashboard/account/authorized-party/add-form/add-form.component';\r\nimport { AuthorizedPartyInProgressDetailComponent } from './dashboard/account/authorized-party/in-progress-detail/in-progress-detail.component';\r\nimport { AuthorizedPartyResponseComponent } from './dashboard/account/authorized-party/response/response.component';\r\nimport { TransactionReportComponent } from './dashboard/account/transaction-report/transaction-report.component';\r\nimport { EnvironmentBannerComponent } from './shared/environment-banner/environment-banner.component';\r\nimport { LoadingFeedbackComponent } from './shared/loading-feedback/loading-feedback.component';\r\nimport { SectionHeaderComponent } from './shared/section-header/section-header.component';\r\nimport { PreApprovalComponent } from './form/preapproval/preapproval.component';\r\nimport { EditSecurityQuestionsComponent } from './form/reusables/account/edit-security-questions.component';\r\nimport { ResetSecurityQuestionsComponent } from './form/reusables/account/reset-security-questions.component';\r\nimport { DoingBusinessAsComponent } from './form/entity/doing-business-as/doing-business-as.component';\r\nimport { IncreasedRiskCountriesComponent } from './form/increased-risk-countries/increased-risk-countries.component';\r\nimport { MessageCenterComponent } from './shared/message-center/message-center.component';\r\nimport { LookupService } from './services/lookup.service';\r\nimport { UserService } from './services/user.service';\r\nimport { StorageService } from './services/storage.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { AuthenticatedHttp } from './services/authenticated-http.service';\r\nimport { CurrentApplicationService } from './services/current-application.service';\r\nimport { ApplicationHttpService } from './services/application-http.service';\r\nimport { CurrentRegistrationService } from './services/current-registration.service';\r\nimport { AccountHttpService } from './services/account-http.service';\r\nimport { DocumentService } from './services/document.service';\r\nimport { MessageCenterService } from './services/message-center.service';\r\nimport { VendorService } from './services/vendor.service';\r\nimport { AuthorizedPartyService } from './services/authorized-party.service';\r\nimport { FinancialSummaryService } from './services/financial-summary.service';\r\nimport { LoggingService } from './services/logging.service';\r\nimport { KeysPipe } from './pipes/keys.pipe';\r\nimport { SafeHtmlPipe } from './pipes/SafeHtml.pipe';\r\nimport { IfAngularCoreModule } from 'if-angular-core'\r\nimport { ModalDialogComponent } from './shared/modal-dialog/modal-dialog.component';\r\nimport { ChangeLogService } from './services/changelog.service';\r\nimport { AppSharedModule } from '../appshared/app-shared.module';\r\nimport { DebounceClickDirective } from './shared/directives/debounce-click.directive';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule, BrowserAnimationsModule, FormsModule, ReactiveFormsModule, HttpClientModule, routing,\r\n MatDatepickerModule, MatInputModule, MatNativeDateModule, CheckboxModule, AccordionModule, DialogModule, TableModule,\r\n RadioButtonModule, DropdownModule, ButtonModule, TabMenuModule, ToastModule, InputTextareaModule, AutoCompleteModule, TextMaskModule,\r\n CalendarModule, MatSelectModule, MatRadioModule, MessageModule, MessagesModule, FlexLayoutModule, IfAngularCoreModule,\r\n AppSharedModule], // module dependencies TODO:MFA\r\n exports: [ // TODO:MFA\r\n AchUSBankStatementComponent, ElectronicStatementComponent, TermsAndConditionsComponent,\r\n ReCaptchaComponent, KeysPipe, SafeHtmlPipe, FooterComponent, EnvironmentBannerComponent, MessageCenterComponent,\r\n ModalDialogComponent, LoadingFeedbackComponent, SectionHeaderComponent, ApplicationStatusSummaryComponent\r\n ],\r\n declarations: [\r\n AppComponent, IdleComponent, AddressComponent, AutocompleteComponent, ChangeApplicationTypeComponent, CombinedAddressComponent,\r\n ComplexQuestionComponent, ContactComponent, ContactPageComponent, CorporationComponent, CreditRequirements, DateBoxComponent,\r\n FooterComponent, HeaderComponent, FullNameComponent, LoginComponent, PasswordExpiredComponent, PhoneComponent, ReCaptchaComponent,\r\n ResetPasswordComponent, SecurityQuestionComponent, SideNavComponent, SimpleQuestionComponent, StateComponent, ZipComponent,\r\n AutoSelectDirective, CheckboxValidatorDirective, ComparisonValidatorDirective, EmailValidatorDirective, DateRangeValidatorDirective,\r\n NumberValidatorDirective, PasswordValidatorDirective, TermsAndConditionsComponent, ForceDecimalsDirective, NumberInputComponent,\r\n LineOfBusinessInformationComponent, BorrowerDetailComponent, ConfirmationComponent, EntityInformationComponent,\r\n FinancialInformationBalanceSheetComponent, FinancialInformationBalanceSheetSelectionComponent, FinancialInformationComponent,\r\n FinancialInformationIncomeComponent, FinancialSummaryComponent, OwnerDetailComponent, OwnershipComponent, RadioCompleteComponent,\r\n ResetPasswordLandingComponent, SummaryAndSignComponent, SurveyComponent, VendorProgramsComponent, AccountPreferencesComponent,\r\n ApplicationStatusSummaryComponent, UserDashboardComponent, DashboardHomeComponent, NavigationDashboardComponent,\r\n NewLandingComponent, BorrowerInformationComponent,\r\n HelpTipComponent, RegistrationComponent, RegistrationProfileComponent, RegistrationLinkAccountComponent, LinkAccountComponent,\r\n RegistrationNavigationComponent, RegistrationAgreementComponent, RegistrationSecurityComponent, RegistrationSummaryComponent,\r\n AccountSummaryComponent, PaymentsComponent, PaymentNavigationComponent, AccountDetailsComponent, AccountTemplateComponent,\r\n PaymentHistoryComponent, EnvironmentBannerComponent, ElectronicStatementComponent, AchUSBankStatementComponent,\r\n AccountStatementsComponent, SubCommitmentDetailsComponent, LoadingFeedbackComponent, SectionHeaderComponent, HomeComponent,\r\n PayoffComponent, PreferencesContactComponent, PreferencesPasswordComponent, PreferencesAlertsComponent, PreferencesSecurityComponent,\r\n AttachmentsComponent, PreferencesNameComponent, AutofocusDirective, AmendmentComponent, KeysPipe, MessageCenterComponent, SafeHtmlPipe,\r\n VendorComponent, AuthorizedPartyAddFormComponent, AuthorizedPartyInProgressDetailComponent, AuthorizedPartyResponseComponent,\r\n AuthorizedPartyComponent, TransactionReportComponent, PreApprovalComponent, EditSecurityQuestionsComponent, \r\n ResetSecurityQuestionsComponent, DoingBusinessAsComponent, NoDuplicatesValidatorDirective, IncreasedRiskCountriesComponent, \r\n ModalDialogComponent, DebounceClickDirective\r\n ], // components and directives\r\n bootstrap: [\r\n AppComponent\r\n ], // root component\r\n providers: [\r\n Idle, SimpleExpiry, { provide: IdleExpiry, useExisting: SimpleExpiry }, AuthorizationGuard, UserService, AuthService,\r\n AuthenticatedHttp, CurrentApplicationService, ApplicationHttpService, CurrentRegistrationService, AccountHttpService,\r\n StorageService, UserAccountGuard, DocumentService, MessageCenterService, VendorService, AuthorizedPartyService, FinancialSummaryService,\r\n LoggingService,ChangeLogService,CustomErrorHandler,\r\n {\r\n provide: ErrorHandler,\r\n useClass: CustomErrorHandler\r\n },\r\n LookupService\r\n ] // services\r\n})\r\nexport class AppModule { }\r\n","import { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { RegistrationProfileComponent } from './registration/profile/registration-profile.component';\r\nimport { RegistrationLinkAccountComponent } from './registration/profile/registration-linkaccount.component';\r\nimport { RegistrationSecurityComponent } from './registration/security/registration-security.component';\r\nimport { RegistrationAgreementComponent } from './registration/agreement/registration-agreement.component';\r\nimport { RegistrationSummaryComponent } from './registration/summary/registration-summary.component';\r\nimport { RegistrationComponent } from './registration/registration.component';\r\n\r\nimport { BorrowerInformationComponent } from './form/borrower/borrower-information.component';\r\nimport { EntityInformationComponent } from './form/entity/entity-information.component';\r\nimport { OwnershipComponent } from './form/ownership/ownership.component';\r\nimport { FinancialInformationComponent } from './form/balance-sheet/financial-information.component';\r\nimport { FinancialInformationIncomeComponent } from './form/income/financial-information-income.component';\r\nimport { FinancialInformationBalanceSheetComponent } from './form/balance-sheet/financial-information-balance-sheet.component';\r\nimport { SummaryAndSignComponent } from './form/summary/summary-and-sign.component';\r\nimport { ConfirmationComponent } from './form/confirmation/confirmation.component';\r\n\r\nimport { DashboardHomeComponent } from './dashboard/home/dashboard-home.component';\r\nimport { UserDashboardComponent } from './dashboard/user-dashboard.component';\r\nimport { PaymentsComponent } from './dashboard/account/payments/payments.component';\r\nimport { PayoffComponent } from './dashboard/account/payments/payoff.component';\r\nimport { AccountDetailsComponent } from './dashboard/account/account-details/account-details.component';\r\nimport { AccountTemplateComponent } from './dashboard/account/account-template.component';\r\nimport { AccountStatementsComponent } from './dashboard/account/statements/account-statements.component';\r\nimport { UserAccountGuard } from './services/user-account-guard';\r\nimport { PaymentHistoryComponent } from './dashboard/account/payments/payment-history.component';\r\nimport { AmendmentComponent } from './dashboard/account/amendment/amendment.component';\r\nimport { AuthorizedPartyComponent } from './dashboard/account/authorized-party/authorized-party.component';\r\nimport { AuthorizedPartyAddFormComponent } from './dashboard/account/authorized-party/add-form/add-form.component';\r\nimport { AuthorizedPartyInProgressDetailComponent } from './dashboard/account/authorized-party/in-progress-detail/in-progress-detail.component';\r\nimport { AuthorizedPartyResponseComponent } from './dashboard/account/authorized-party/response/response.component';\r\nimport { TransactionReportComponent } from './dashboard/account/transaction-report/transaction-report.component';\r\n\r\nimport { AccountPreferencesComponent } from './dashboard/preferences/account-preferences.component';\r\nimport { PreferencesContactComponent } from './dashboard/preferences/contact/preferences-contact.component';\r\nimport { PreferencesNameComponent } from './dashboard/preferences/name/preferences-name.component';\r\nimport { PreferencesPasswordComponent } from './dashboard/preferences/password/preferences-password.component';\r\nimport { PreferencesAlertsComponent } from './dashboard/preferences/alerts/preferences-alerts.component';\r\nimport { PreferencesSecurityComponent } from './dashboard/preferences/security/preferences-security.component';\r\n\r\nimport { AuthorizationGuard } from './services/authorization-guard';\r\nimport { TermsAndConditionsComponent } from './terms-and-conditions.component';\r\nimport { VendorComponent } from './form/program/vendor.component';\r\nimport { NewLandingComponent } from './landing/new-landing.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { ResetPasswordLandingComponent } from './form/reset-password/reset-password-landing.component';\r\nimport { FinancialInformationBalanceSheetSelectionComponent } from './form/balance-sheet/financial-information-balance-sheet-selection.component';\r\nimport { LineOfBusinessInformationComponent } from './form/line-of-business/line-of-business-information.component';\r\nimport { ContactPageComponent } from './contact/contact-page.component';\r\nimport { ElectronicStatementComponent } from './electronic-statement.component';\r\nimport { AchUSBankStatementComponent } from './ach-us-bank-statement.component';\r\nimport { PreApprovalComponent } from './form/preapproval/preapproval.component';\r\nimport { ResetSecurityQuestionsComponent } from './form/reusables/account/reset-security-questions.component';\r\nimport { LoginFailureComponent } from './form/reusables/account/login-failure.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'contact',\r\n component: ContactPageComponent\r\n },\r\n {\r\n path: 'reset-password',\r\n component: ResetPasswordLandingComponent\r\n },\r\n {\r\n path: 'program',\r\n component: VendorComponent\r\n },\r\n {\r\n path: 'dashboard',\r\n component: UserDashboardComponent,\r\n canActivate: [AuthorizationGuard],\r\n children: [\r\n {\r\n path: 'login-failure',\r\n component: LoginFailureComponent\r\n },\r\n { path: '', redirectTo: 'overview', pathMatch: 'full' },\r\n { path: 'overview', component: DashboardHomeComponent },\r\n {\r\n path: 'preferences',\r\n component: AccountPreferencesComponent,\r\n canActivate: [AuthorizationGuard],\r\n children: [\r\n { path: '', redirectTo: 'contact', pathMatch: 'full' },\r\n { path: 'contact', component: PreferencesContactComponent, data: { tab: 'contact' } },\r\n { path: 'name', component: PreferencesNameComponent, data: { tab: 'name' } },\r\n { path: 'password', component: PreferencesPasswordComponent, data: { tab: 'password' } },\r\n { path: 'alerts', component: PreferencesAlertsComponent, data: { tab: 'alerts' } },\r\n { path: 'security', component: PreferencesSecurityComponent, data: { tab: 'security' } }\r\n ]\r\n },\r\n {\r\n path: 'account/:accountId',\r\n component: AccountTemplateComponent,\r\n canActivate: [UserAccountGuard],\r\n children: [\r\n { path: '', component: AccountDetailsComponent, data: { tab: 'details' } },\r\n { path: 'payment', component: PaymentsComponent, data: { tab: 'payment' } },\r\n { path: 'payment-history', component: PaymentHistoryComponent, data: { tab: 'payment-history' } },\r\n { path: 'pending-payments', component: PaymentHistoryComponent, data: { tab: 'pending-payments' } },\r\n { path: 'payoff', component: PayoffComponent, data: { tab: 'payoff' } },\r\n { path: 'statements', component: AccountStatementsComponent, data: { tab: 'statements' } },\r\n { path: 'transaction-report', component: TransactionReportComponent, data: { tab: 'transaction-report' } },\r\n {\r\n path: 'authorized-party',\r\n component: AuthorizedPartyComponent,\r\n data: { tab: 'authorized-party' },\r\n children: [\r\n { path: '', component: AuthorizedPartyInProgressDetailComponent, data: { tab: 'authorized-party' } },\r\n { path: 'add', component: AuthorizedPartyAddFormComponent, data: { tab: 'authorized-party' } },\r\n { path: 'response', component: AuthorizedPartyResponseComponent, data: { tab: 'authorized-party' } }\r\n ]\r\n },\r\n { path: 'amendment', component: AmendmentComponent, data: { tab: 'amendment' } },\r\n\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: 'registration',\r\n component: RegistrationComponent,\r\n children: [\r\n { path: '', redirectTo: 'registration-profile', pathMatch: 'full' },\r\n { path: 'registration-profile', component: RegistrationProfileComponent, data: { tab: 'Profile' } },\r\n { path: 'registration-linkaccount', component: RegistrationLinkAccountComponent, data: { tab: 'Account' } },\r\n { path: 'registration-security', component: RegistrationSecurityComponent, data: { tab: 'Security' } },\r\n { path: 'registration-agreement', component: RegistrationAgreementComponent, data: { tab: 'Agreement' } },\r\n { path: 'registration-summary', component: RegistrationSummaryComponent, data: { tab: 'Summary' } }\r\n ]\r\n },\r\n {\r\n path: 'apply',\r\n component: NewLandingComponent\r\n },\r\n {\r\n path: 'landing',\r\n redirectTo: '/home',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'home',\r\n component: HomeComponent \r\n },\r\n {\r\n path: 'borrower-information',\r\n component: BorrowerInformationComponent\r\n },\r\n {\r\n path: 'entity-information',\r\n component: EntityInformationComponent\r\n },\r\n {\r\n path: 'line-of-business-information',\r\n component: LineOfBusinessInformationComponent\r\n },\r\n {\r\n path: 'ownership',\r\n component: OwnershipComponent\r\n },\r\n {\r\n path: 'financial-information',\r\n component: FinancialInformationComponent\r\n },\r\n {\r\n path: 'financial-information-income',\r\n component: FinancialInformationIncomeComponent\r\n },\r\n {\r\n path: 'financial-information-balance-sheet',\r\n component: FinancialInformationBalanceSheetComponent\r\n },\r\n {\r\n path: 'financial-information-balance-sheet-selection',\r\n component: FinancialInformationBalanceSheetSelectionComponent\r\n },\r\n {\r\n path: 'summary-and-sign',\r\n component: SummaryAndSignComponent\r\n },\r\n {\r\n path: 'confirmation',\r\n component: ConfirmationComponent\r\n },\r\n {\r\n path: 'terms-and-conditions',\r\n component: TermsAndConditionsComponent\r\n },\r\n {\r\n path: 'electronic-statement',\r\n component: ElectronicStatementComponent\r\n },\r\n {\r\n path: 'ach-us-bank-statement',\r\n component: AchUSBankStatementComponent\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/home',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'vendor/:vendor',\r\n component: NewLandingComponent\r\n },\r\n {\r\n path: 'prescreenedofferacceptance',\r\n component: PreApprovalComponent\r\n },\r\n {\r\n path: 'prescreen',\r\n component: PreApprovalComponent\r\n },\r\n {\r\n path: 'resetsecurityquestions',\r\n component: ResetSecurityQuestionsComponent\r\n }, \r\n // place new paths above here, this catch all redirect needs to be last.\r\n {\r\n path: '**',\r\n redirectTo: '/home',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\nexport const routing = RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' });\r\n","
\r\n Contact Us\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    Mail
    \r\n
    \r\n

    Rabo AgriFinance

    \r\n

    1402 Technology Parkway

    \r\n

    Cedar Falls, IA 50613

    \r\n
    \r\n
  • \r\n
  • \r\n
    Phone
    \r\n
    (888) 395-8505
    \r\n
  • \r\n
  • \r\n
    Email
    \r\n \r\n
  • \r\n
  • \r\n
    Fax
    \r\n
    (866) 349-3139
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n

Contact Request

\r\n \r\n
\r\n

\r\n
\r\n Mon - Fri 8:00 am - 5:00 pm CST\r\n

\r\n

\r\n If you are within these hours of operation, you may request a Customer Service Representative to\r\n call you to resolve any issues you're experiencing.\r\n Please provide us with some information so that we can be prepared to assist you.\r\n

\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Please enter full phone number

\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n {{submissionErrors}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Your request has been submitted. A Customer Service Representative will be in touch with you\r\n shortly.\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { TopForm } from '../form/top-form';\r\nimport { phoneMask } from '../form/reusables/phone/phone.component';\r\nimport { ContactRequest } from '../models/contact-request';\r\nimport { UserService } from '../services/user.service';\r\nimport { AccountHttpService } from '../services/account-http.service';\r\nimport { UtilitiesService } from '../services/utilities.service';\r\n\r\n@Component({\r\n selector: 'gol-contact-page',\r\n templateUrl: 'contact-page.component.html',\r\n styleUrls: ['contact-page.component.css']\r\n})\r\n\r\nexport class ContactPageComponent implements OnInit {\r\n\r\n contactRequest: ContactRequest;\r\n submissionErrors: string;\r\n submitted: boolean;\r\n loading: boolean;\r\n submitting: boolean;\r\n filteredPhoneNumbers: any[];\r\n phoneNumbers: any[];\r\n\r\n form: TopForm = new TopForm();\r\n name: FormControl = new FormControl('', Validators.required);\r\n phone: FormControl = new FormControl('', Validators.compose([Validators.maxLength(14), Validators.minLength(14), Validators.required]));\r\n message: FormControl = new FormControl('', Validators.required);\r\n\r\n phoneMask = phoneMask;\r\n\r\n constructor(private userService: UserService, private accountService: AccountHttpService, private utilitiesService: UtilitiesService) {\r\n }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n\r\n this.contactRequest = new ContactRequest();\r\n this.form.addControl('name', this.name);\r\n this.form.addControl('phone', this.phone);\r\n this.form.addControl('message', this.message);\r\n\r\n if (this.userLoggedIn()) {\r\n this.checkForSubmittedContactRequest();\r\n this.getUserPhoneNumbers();\r\n }\r\n }\r\n\r\n getUserPhoneNumbers() {\r\n this.phoneNumbers = [];\r\n this.accountService.getPhoneNumbers()\r\n .then((phoneNumbers) => {\r\n phoneNumbers.forEach(phoneNumber => {\r\n const raw = phoneNumber.replace(/\\D/g, '');\r\n this.phoneNumbers.push({ raw: raw, formatted: this.utilitiesService.formatPhoneNumber(raw) });\r\n });\r\n });\r\n }\r\n\r\n filterPhoneNumbers(event) {\r\n const query = event.query.replace(/\\D/g, '').substring(0, 10);\r\n this.contactRequest.phoneNumber = this.utilitiesService.formatPhoneNumber(query);\r\n this.filteredPhoneNumbers = this.filterNumbers(query, this.phoneNumbers);\r\n }\r\n\r\n filterNumbers(query, phoneNumbers: any[]): any[] {\r\n const filtered: any[] = [];\r\n for (let i = 0; i < phoneNumbers.length; i++) {\r\n const phoneNumber = phoneNumbers[i];\r\n if (query.length === 0 || phoneNumber.raw.includes(query)) {\r\n filtered.push(phoneNumber.formatted);\r\n }\r\n }\r\n return filtered;\r\n }\r\n\r\n userLoggedIn() {\r\n const user = this.userService.GetUser();\r\n return user && !user.isAnonymous;\r\n }\r\n\r\n checkForSubmittedContactRequest() {\r\n this.loading = true;\r\n this.accountService.checkForSubmittedContactRequest()\r\n .then((result) => {\r\n this.submitted = result;\r\n })\r\n .catch(() => {\r\n this.submissionErrors = 'Service temporarily unavailable.';\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n\r\n CancelForm() {\r\n this.contactRequest.name = undefined;\r\n this.contactRequest.phoneNumber = '';\r\n this.contactRequest.message = undefined;\r\n this.form.submitted = false;\r\n this.form.markAsPristine();\r\n }\r\n\r\n Submit() {\r\n this.form.submitted = true;\r\n if (this.form.valid) {\r\n this.submissionErrors = undefined;\r\n this.submitting = true;\r\n this.accountService.submitContactRequest(this.contactRequest)\r\n .then((errors) => {\r\n if (errors) {\r\n this.submissionErrors = errors;\r\n } else {\r\n this.submitted = true;\r\n }\r\n })\r\n .catch(() => {\r\n this.submissionErrors = 'We were unable to process your request at this time.';\r\n })\r\n .then(() => this.submitting = false);\r\n }\r\n }\r\n}\r\n","
Account Details
\r\n\r\n
\r\n

There was an issue pulling this account's details.

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\n\r\n@Component({\r\n selector: 'gol-account-details',\r\n templateUrl: 'account-details.component.html',\r\n styleUrls: ['account-details.component.css']\r\n})\r\nexport class AccountDetailsComponent implements OnInit {\r\n\r\n loading = false;\r\n error = false;\r\n errorMessage = '';\r\n account: Commitment = null;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private accountService: AccountHttpService) { }\r\n\r\n ngOnInit(): void {\r\n this.getAccount();\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n getAccount() {\r\n this.loading = true;\r\n this.accountService.getCurrentAccount(this.route.snapshot.parent)\r\n .then(act => this.account = act)\r\n .catch(err => {\r\n this.errorMessage = 'Error pulling down account details: ' + err;\r\n this.error = true;\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n}\r\n","
\r\n

{{subcommitment.Dealer.Name}} - {{subcommitment.SubCommitmentNumber}}

\r\n
\r\n
\r\n \r\n {{getAvailableCredit() | currency:'USD'}}\r\n
\r\n
\r\n \r\n {{getTotalCredit() | currency:'USD'}}\r\n
\r\n
\r\n \r\n {{subcommitment.MaturityDate | date:'shortDate'}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Program\r\n Current Balance\r\n Next Payment Due Date\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{row.ProgramName }} \r\n {{row.Balance | currency:'USD' }} \r\n {{row.MaturityDate | date:'shortDate'}} \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Principal Balance: \r\n {{loan.PrincipalBalance | currency:'USD'}}\r\n
\r\n
\r\n Maturity Date: \r\n {{loan.MaturityDate | date:'shortDate'}}\r\n
\r\n
\r\n Interest Rate: \r\n \r\n {{loan.InterestRate}}%*\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Date
\r\n
Amount
\r\n
Type
\r\n
\r\n
\r\n
\r\n
{{trans.TransactionDate | date: 'shortDate'}}
\r\n
{{trans.Amount | currency:'USD'}}
\r\n
{{trans.Type}}
\r\n
\r\n
\r\n
\r\n
\r\n * This rate will be changing on {{loan.NextRateDate | date:'shortDate'}}. See full loan\r\n program\r\n terms for more information.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\nimport { SubCommitment } from '../../../models/accounts/sub-commitment';\r\nimport { Loan } from '../../../models/accounts/loan';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\n\r\n\r\n@Component({\r\n selector: 'gol-subcommitment-details',\r\n templateUrl: 'subcommitment-details.component.html',\r\n styleUrls: ['subcommitment-details.component.css']\r\n})\r\nexport class SubCommitmentDetailsComponent implements OnInit {\r\n @Input() commitment: Commitment;\r\n @Input() subcommitment: SubCommitment;\r\n loanDetails: Loan[];\r\n\r\n constructor(private accountService: AccountHttpService) { }\r\n\r\n ngOnInit() {\r\n this.loanDetails = this.subcommitment.Loans;\r\n this.loanDetails.forEach(loan => {\r\n this.accountService.getLoanDetails(loan.AcctRefNo)\r\n .then(detail => {\r\n loan.Transactions = detail.Transactions;\r\n loan.NextRateDate = detail.NextRateDate;\r\n });\r\n });\r\n }\r\n\r\n getAvailableCredit(): number {\r\n if (this.commitment.StatusCode !== '' || this.subcommitment.IsPastDrawPeriod) {\r\n return 0;\r\n }\r\n return this.subcommitment.CreditLimit - this.subcommitment.PrincipalBalance;\r\n }\r\n\r\n getTotalCredit(): number {\r\n if (this.commitment.StatusCode !== '' || this.commitment.IsDelinquent || this.subcommitment.IsPastDrawPeriod) {\r\n return 0;\r\n }\r\n return this.subcommitment.CreditLimit;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Commitment } from '../../models/accounts/commitment';\r\nimport { AccountHttpService } from '../../services/account-http.service';\r\n\r\n@Component({\r\n selector: 'gol-account',\r\n templateUrl: 'account-template.component.html',\r\n styleUrls: ['account-template.component.css']\r\n})\r\nexport class AccountTemplateComponent implements OnInit {\r\n\r\n loading = false;\r\n error: boolean;\r\n errorMessage = '';\r\n account: Commitment = null;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private accountService: AccountHttpService) {\r\n accountService.accountUpdated$.subscribe(update => {\r\n this.accountService.getCurrentAccount(this.route.snapshot, true)\r\n .then(act => this.account = act);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getAccount();\r\n }\r\n\r\n getAccount() {\r\n this.loading = true;\r\n this.accountService.getCurrentAccount(this.route.snapshot)\r\n .then(act => this.account = act)\r\n .catch(err => {\r\n this.errorMessage = 'Error pulling down account details: ' + err;\r\n this.error = true;\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
","
Amend Your Account
\r\n\r\n
\r\n
\r\n

{{errorMessage}}

\r\n

An amendment for this account is already in process. It must be completed\r\n before a new one can be submitted.

\r\n
For questions please contact a customer service rep @888-395-8505
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Now you can make changes to your account online. Request an increase in your credit limit, re-allocate your\r\n existing credit across your current programs or add a new program.\r\n
\r\n

Error: {{errorMessage}}

\r\n
\r\n
\r\n
\r\n

Current Programs

\r\n Click on a row in the table to reallocate your current credit or increase your limit.  Or add a new dealer\r\n buy clicking the 'New' button below.\r\n
\r\n
\r\n \r\n \r\n Programs\r\n \r\n\r\n \r\n \r\n Number\r\n Program\r\n Credit Limit\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{row.SubCommitmentNumber }} \r\n {{row.Dealer.Name }} \r\n {{row.CreditLimit | currency:'USD' }} \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n {{account.getTotalLoanAmount() | currency:'USD'}}\r\n
  • \r\n
  • \r\n \r\n {{amendment.getTotalLoanAmount() | currency:'USD'}}\r\n
  • \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n For additional account amendment options or questions about your account please call customer service at\r\n (888) 395-8505\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n Program is Required
\r\n
\r\n
\r\n Credit Limit is\r\n Required
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n Are you sure you want to delete this program from the amendment?
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n Please confirm that you want to submit this amendment.

\r\n
    \r\n
  • {{change}}
  • \r\n
\r\n
\r\n Once submitted, you will be unable to make additional amendments to this account until the\r\n submitted amendment is fully processed.
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Thank You!

\r\n Your amendment has been submitted and will be processed shortly. If additional information is required you will\r\n be contacted in the next 1-4 business days.\r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\nimport { SubCommitment } from '../../../models/accounts/sub-commitment';\r\nimport { Amendment } from '../../../models/accounts/amendment';\r\nimport { DealerHeader } from '../../../models/accounts/dealer-header';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { VendorService } from '../../../services/vendor.service';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport numberMask from 'text-mask-addons/dist/createNumberMask';\r\n\r\n@Component({\r\n selector: 'gol-amendment',\r\n templateUrl: 'amendment.component.html',\r\n styleUrls: ['amendment.component.css']\r\n})\r\nexport class AmendmentComponent implements OnInit {\r\n\r\n loading = false;\r\n error = false;\r\n preexisting = false;\r\n errorMessage = '';\r\n account: Commitment = null;\r\n amendment: Amendment = null;\r\n vendors: SelectItem[];\r\n\r\n form: FormGroup;\r\n formSubCommitment: SubCommitment;\r\n formSubmitted: boolean;\r\n selectedSubCommitment: SubCommitment;\r\n updatingSubCommitment: boolean;\r\n subCommitmentToDelete: SubCommitment;\r\n deletingSubCommitment: boolean;\r\n submittingAmendment: boolean;\r\n waitingOnRequest: boolean;\r\n successfulSubmission: boolean;\r\n selectedVendor: number;\r\n showForm: boolean;\r\n changeSummary: string[];\r\n\r\n currencyMask = numberMask({\r\n prefix: '$',\r\n includeThousandsSeperator: true,\r\n allowDecimal: true,\r\n });\r\n\r\n constructor(private route: ActivatedRoute,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private accountService: AccountHttpService,\r\n private vendorService: VendorService) { }\r\n\r\n ngOnInit(): void {\r\n this.getAccount();\r\n window.scrollTo(0, 0);\r\n\r\n this.form = this.fb.group({\r\n Dealer: ['', Validators.required],\r\n CreditLimit: ['', Validators.required]\r\n });\r\n this.formSubCommitment = new SubCommitment();\r\n this.formSubCommitment.Dealer = null;\r\n\r\n this.vendorService.GetVendors()\r\n .then(() => {\r\n this.setVendorList();\r\n });\r\n }\r\n\r\n setVendorList() {\r\n if (this.amendment) {\r\n this.vendorService.filterSelectedVendors(this.amendment.SubCommitments.map(s => s.Dealer.RowId));\r\n }\r\n this.vendors = this.vendorService.filteredVendors.map((vendor) => {\r\n return { label: vendor.getShortName(), value: vendor.rowId };\r\n });\r\n this.vendors.unshift({ label: 'Select a Program', value: null });\r\n }\r\n\r\n getAccount() {\r\n this.loading = true;\r\n this.accountService.getCurrentAccount(this.route.snapshot.parent)\r\n .then(act => this.account = act)\r\n .then(() => this.accountService.doesAccountHaveAmendment(this.account.LoanNumber))\r\n .then(result => {\r\n this.preexisting = result;\r\n if (!this.preexisting) {\r\n this.amendment = new Amendment(this.account);\r\n }\r\n })\r\n .catch(err => {\r\n this.errorMessage = 'There was an issue pulling this account\\'s details: ' + err;\r\n this.error = true;\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n\r\n onRowSelect(event: any) {\r\n this.formSubCommitment = new SubCommitment(this.selectedSubCommitment);\r\n this.selectedVendor = this.formSubCommitment.Dealer.RowId;\r\n this.updatingSubCommitment = true;\r\n this.showForm = true;\r\n }\r\n\r\n addSub() {\r\n this.error = false;\r\n this.formSubmitted = true;\r\n if (this.form.valid) {\r\n\r\n if (this.updatingSubCommitment) {\r\n const match = this.amendment.SubCommitments.findIndex(s => s.Dealer.RowId === this.selectedVendor);\r\n this.amendment.SubCommitments[match].CreditLimit = this.formSubCommitment.CreditLimit;\r\n } else {\r\n const selected = this.vendorService.vendors.find(vendor => vendor.rowId === this.selectedVendor);\r\n this.formSubCommitment.Dealer = new DealerHeader({\r\n RowId: selected.rowId,\r\n Name: selected.name,\r\n DealerNumber: selected.dealerNumber\r\n });\r\n if (this.amendment.SubCommitments.find(\r\n sc => sc.Dealer.DealerNumber === this.formSubCommitment.Dealer.DealerNumber) === undefined) {\r\n this.formSubCommitment.SubCommitmentNumber = 'TBD';\r\n this.formSubCommitment.Index = this.amendment.SubCommitments\r\n .map((sc) => sc.Index)\r\n .reduce((psc, sc) => sc > psc ? sc : psc) + 1;\r\n this.amendment.SubCommitments.push(this.formSubCommitment);\r\n this.setVendorList();\r\n } else {\r\n this.errorMessage =\r\n 'The dealer (${this.formSubCommitment.Dealer.Name}) already exists on your account. Please edit it directly.';\r\n }\r\n }\r\n this.toggleForm();\r\n }\r\n }\r\n\r\n toggleForm() {\r\n this.showForm = !this.showForm;\r\n if (!this.showForm) {\r\n this.cancelSub();\r\n }\r\n }\r\n\r\n cancelSub() {\r\n this.formSubCommitment = new SubCommitment();\r\n this.formSubCommitment.Dealer = null;\r\n this.selectedVendor = null;\r\n this.updatingSubCommitment = false;\r\n this.selectedSubCommitment = null;\r\n this.formSubmitted = false;\r\n }\r\n\r\n deleteSubCommitment(sub: SubCommitment) {\r\n this.errorMessage = '';\r\n this.subCommitmentToDelete = sub;\r\n this.deletingSubCommitment = true;\r\n }\r\n\r\n confirmDeleteSubCommitment() {\r\n const match = this.amendment.SubCommitments.findIndex(\r\n s => s.Dealer.DealerNumber === this.subCommitmentToDelete.Dealer.DealerNumber);\r\n this.amendment.SubCommitments.splice(match, 1);\r\n this.setVendorList();\r\n this.deletingSubCommitment = false;\r\n }\r\n\r\n cancelDeleteSubCommitment() {\r\n this.deletingSubCommitment = false;\r\n }\r\n\r\n submitAmendment() {\r\n this.errorMessage = '';\r\n this.submittingAmendment = true;\r\n this.changeSummary = [];\r\n const pipe = new CurrencyPipe('en');\r\n\r\n this.account.SubCommitments.forEach(sc => {\r\n const modifiedsc = this.amendment.SubCommitments.find(fsc => sc.Dealer.DealerNumber === fsc.Dealer.DealerNumber);\r\n if (modifiedsc) {\r\n if (sc.CreditLimit > modifiedsc.CreditLimit) {\r\n this.changeSummary.push(\r\n ''.concat('Decrease credit limit for \"', sc.Dealer.Name, '\" from ',\r\n pipe.transform(sc.CreditLimit, 'USD', 'symbol', '1.2-2'), ' to ',\r\n pipe.transform(modifiedsc.CreditLimit, 'USD', 'symbol', '1.2-2')));\r\n } else if (sc.CreditLimit < modifiedsc.CreditLimit) {\r\n this.changeSummary.push(\r\n ''.concat('Increase credit limit for \"', sc.Dealer.Name, '\" from ',\r\n pipe.transform(sc.CreditLimit, 'USD', 'symbol', '1.2-2'), ' to ',\r\n pipe.transform(modifiedsc.CreditLimit, 'USD', 'symbol', '1.2-2')));\r\n }\r\n } else {\r\n this.changeSummary.push('Remove program \"' + sc.Dealer.Name + '\"');\r\n }\r\n });\r\n\r\n const newSubs = this.amendment.SubCommitments.filter(\r\n fsc => this.account.SubCommitments.find(sc => sc.Dealer.DealerNumber === fsc.Dealer.DealerNumber) === undefined);\r\n newSubs.forEach(\r\n sc => this.changeSummary.push('Add program \"' + sc.Dealer.Name + '\" with ' +\r\n pipe.transform(sc.CreditLimit, 'USD', 'symbol', '1.2-2')));\r\n\r\n if (this.account.getTotalLoanAmount() !== this.amendment.getTotalLoanAmount()) {\r\n this.changeSummary.push('Total loan amount changing from '.concat(\r\n pipe.transform(this.account.getTotalLoanAmount(), 'USD', 'symbol', '1.2-2'),\r\n ' to ',\r\n pipe.transform(this.amendment.getTotalLoanAmount(), 'USD', 'symbol', '1.2-2')));\r\n }\r\n }\r\n\r\n confirmSubmitAmendment() {\r\n this.error = false;\r\n this.waitingOnRequest = true;\r\n this.accountService.submitAmendment(this.amendment)\r\n .then((res) => {\r\n this.waitingOnRequest = false;\r\n if (res == null || res === '') {\r\n this.successfulSubmission = true;\r\n } else {\r\n this.errorMessage = res;\r\n this.submittingAmendment = false;\r\n }\r\n });\r\n }\r\n\r\n cancelSubmitAmendment() {\r\n this.submittingAmendment = false;\r\n }\r\n\r\n toNumber(value: string): number {\r\n if (value == null || value === undefined) { return 0.00; }\r\n const convert = +(this.clearmask(value));\r\n if (Number.isNaN(convert)) {\r\n return null;\r\n }\r\n return convert;\r\n }\r\n\r\n clearmask(str: string): string {\r\n if (!str || typeof str !== 'string') {\r\n return str;\r\n }\r\n const newstr = str.replace(/\\//g, '').replace(/\\(/g, '').replace(/\\)/g, '').replace(/ /g, '').replace(/,/g, '').replace('$', '');\r\n return newstr;\r\n }\r\n\r\n getFormHeader(): string {\r\n if (this.formSubCommitment && this.formSubCommitment.SubCommitmentNumber) {\r\n return 'Update ' + this.formSubCommitment.Dealer.Name + ' (' + this.formSubCommitment.SubCommitmentNumber + ')';\r\n } else {\r\n return 'New Program';\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

Please enter the information of the person you would like to add as an authorized party. Upon submission you\r\n will be redirected to DocuSign to endorse the document. The authorized party will also receive a message\r\n from DocuSign so that they can endorse the document.

\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Invalid date\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Invalid SSN\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n Cannot be a PO box\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Please wait while we contact DocuSign\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { AuthorizedPartyService } from '../../../../services/authorized-party.service';\r\nimport {\r\n AuthorizedPartyBase,\r\n authorizedPartyIdStorageKey\r\n} from '../authorized-party-base';\r\nimport { TopForm } from '../../../../form/top-form';\r\nimport { AuthorizedPartyRequest } from '../../../../models/authorized-party-request';\r\nimport { dateRangeValidator } from '../../../../form/validation/date-range-validator.directive';\r\nimport { validateIsNotPOBox } from '../../../../form/validation/is-not-po-box';\r\nimport { validateEmailFactory } from '../../../../form/validation/email-validator.directive';\r\nimport { AccountHttpService } from '../../../../services/account-http.service';\r\nimport { StorageService } from '../../../../services/storage.service';\r\nimport { LookupService } from '../../../../services/lookup.service';\r\n\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'gol-add-authorized-party',\r\n templateUrl: 'add-form.component.html',\r\n styleUrls: ['../authorized-party.style.css', '../../../../form/styles_form.css', '../../../../form/summary/waiting.css']\r\n})\r\nexport class AuthorizedPartyAddFormComponent extends AuthorizedPartyBase implements OnInit {\r\n form: TopForm;\r\n authorizedPartyReq: AuthorizedPartyRequest = new AuthorizedPartyRequest();\r\n\r\n maxDob: Date = moment().subtract(18, 'years').toDate();\r\n minDob: Date = new Date(1880, 0, 1);\r\n\r\n public checkForm = true;\r\n public success = false;\r\n public waitingOnDocuSign = false;\r\n public submitted = false;\r\n\r\n public ssnMask = [/\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n citizenshipCountries: string[] = null;\r\n\r\n constructor(private authorizedPartyService: AuthorizedPartyService,\r\n route: ActivatedRoute, accountService: AccountHttpService, private storageService: StorageService, private router: Router,\r\n private lookupService: LookupService) {\r\n super(route, accountService);\r\n\r\n this.authorizedPartyReq.USCitizen = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.form = new TopForm({\r\n firstname: new FormControl('', [Validators.required]),\r\n middlename: new FormControl('', []),\r\n lastname: new FormControl('', [Validators.required]),\r\n suffix: new FormControl('', []),\r\n dob: new FormControl('', [Validators.required, dateRangeValidator(this.minDob, this.maxDob)]),\r\n ssn: new FormControl('', [Validators.required, Validators.pattern(/^\\d{3}-\\d{2}-\\d{4}$/)]),\r\n streetaddress: new FormControl('', [Validators.required, validateIsNotPOBox()]),\r\n city: new FormControl('', [Validators.required]),\r\n email: new FormControl('', [Validators.required, validateEmailFactory()]),\r\n uscitizen: new FormControl(true, [Validators.required]),\r\n permanentresident: new FormControl('', [this.requiredIfNotUSCitizen()]),\r\n countryofcitizenship: new FormControl('', [this.requiredIfNotUSCitizen()])\r\n });\r\n\r\n this.CurrentCommitment.then((c) => {\r\n this.authorizedPartyReq.AcctRefNo = c.AcctRefNo;\r\n });\r\n\r\n this.lookupService.getCitizenshipCountriesExceptUSA()\r\n .then(resolve => {\r\n this.citizenshipCountries = [''].concat(resolve);\r\n });\r\n }\r\n\r\n public get nonUSCitizenFieldsRequired(): boolean {\r\n return this.authorizedPartyReq && this.authorizedPartyReq.USCitizen.toString() === 'false';\r\n }\r\n\r\n private requiredIfNotUSCitizen(): (c: FormControl) => any {\r\n return (c: FormControl) => {\r\n if (this.nonUSCitizenFieldsRequired && Validators.required(c)) {\r\n return { required: true };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n public submit(): void {\r\n this.form.submitted = true;\r\n\r\n if (this.form.valid) {\r\n this.checkForm = false;\r\n this.submitting();\r\n\r\n this.authorizedPartyService.addAuthorizedParty(this.authorizedPartyReq)\r\n .then((response) => {\r\n this.storageService.storeInSession(authorizedPartyIdStorageKey, response.AuthorizedPartyRequestId + '');\r\n if (!response.Error) {\r\n this.submitted = true;\r\n window.location.href = response.DocuSignUrl;\r\n } else {\r\n this.router.navigate(\r\n ['dashboard', 'account', this.accountNumber, 'authorized-party', 'response'],\r\n { queryParams: { 'event': response.Error } });\r\n }\r\n })\r\n .catch((error) => {\r\n this.storageService.storeInSession(authorizedPartyIdStorageKey, '0');\r\n this.router.navigate(['dashboard', 'account', this.accountNumber, 'authorized-party', 'response'],\r\n { queryParams: { 'event': 'server_error' } });\r\n });\r\n }\r\n }\r\n\r\n submitting(): void {\r\n this.form.disable();\r\n this.waitingOnDocuSign = true;\r\n }\r\n\r\n public isFormControlInvalid(control: string, specificErrorType: string = null): boolean {\r\n if (specificErrorType == null) {\r\n return this.checkForm\r\n && !this.form.controls[control].valid\r\n && ((this.form.controls[control].dirty || this.form.controls[control].touched) || this.form.submitted);\r\n } else {\r\n return this.checkForm\r\n && this.form.controls[control].hasError(specificErrorType)\r\n && ((this.form.controls[control].dirty || this.form.controls[control].touched) || this.form.submitted);\r\n }\r\n }\r\n\r\n public get physicalAddressRequiredInvalid(): boolean {\r\n return this.isFormControlInvalid('streetaddress', 'required');\r\n }\r\n\r\n public get physicalAddressIsPOBoxInvalid(): boolean {\r\n return this.isFormControlInvalid('streetaddress', 'isPOBox');\r\n }\r\n}\r\n","import { ActivatedRoute } from '@angular/router';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\n\r\nexport const authorizedPartyIdStorageKey = 'additionalAuthorityIdStorageKey';\r\n\r\nexport class AuthorizedPartyBase {\r\n\r\n protected accountNumber: string;\r\n\r\n public get CurrentCommitment(): Promise {\r\n return this.accountService.getCurrentAccount(this.route.snapshot.parent.parent);\r\n }\r\n\r\n constructor(protected route: ActivatedRoute, protected accountService: AccountHttpService) {\r\n const r = this.route.snapshot.parent.parent;\r\n this.accountNumber = r.params['accountId'];\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-authorized-party',\r\n templateUrl: 'authorized-party.component.html',\r\n styleUrls: ['authorized-party.style.css']\r\n})\r\nexport class AuthorizedPartyComponent {\r\n\r\n constructor() { }\r\n}\r\n","
Add Authorized Party
\r\n","\r\n
\r\n

In progress

\r\n
\r\n
\r\n
\r\n

{{aa.FirstName + \" \" + aa.LastName}}

\r\n

Status: {{aa.Status}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Please Confirm\r\n \r\n Are you sure you want to cancel this request?\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport {\r\n AuthorizedPartyBase,\r\n authorizedPartyIdStorageKey\r\n} from '../authorized-party-base';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AccountHttpService } from '../../../../services/account-http.service';\r\nimport { AuthorizedPartyService } from '../../../../services/authorized-party.service';\r\nimport { AuthorizedPartyWorkflow } from '../../../../models/authorized-party-workflow';\r\nimport { AuthorizedPartyStatus } from '../../../../models/authorized-party-status';\r\nimport { StorageService } from '../../../../services/storage.service';\r\n\r\n@Component({\r\n selector: 'gol-authorized-party-in-progres',\r\n templateUrl: 'in-progress-detail.component.html',\r\n styleUrls: ['../authorized-party.style.css']\r\n})\r\nexport class AuthorizedPartyInProgressDetailComponent extends AuthorizedPartyBase implements OnInit {\r\n\r\n public workflows: AuthorizedPartyWorkflow[] = [];\r\n public loading = false;\r\n public showConfirmation = false;\r\n public selectedWorkflow: AuthorizedPartyWorkflow = null;\r\n\r\n constructor(route: ActivatedRoute, accountService: AccountHttpService, private authorizedPartyService: AuthorizedPartyService,\r\n private router: Router, private storageService: StorageService) {\r\n super(route, accountService);\r\n }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n\r\n this.loadPendingRequests();\r\n }\r\n\r\n showCancelButton(workflow: AuthorizedPartyWorkflow) {\r\n return workflow.Status === AuthorizedPartyStatus.Signing;\r\n }\r\n\r\n showSignButton(workflow: AuthorizedPartyWorkflow) {\r\n return workflow.Status === AuthorizedPartyStatus.Signing;\r\n }\r\n\r\n signButtonClick(workflow: AuthorizedPartyWorkflow) {\r\n this.loading = true;\r\n this.authorizedPartyService.getDocuSignURL(workflow.Id)\r\n .then((response) => {\r\n if (response) {\r\n window.location.href = response;\r\n }\r\n })\r\n .catch((error) => {\r\n this.router.navigate(\r\n ['dashboard', 'account', this.accountNumber, 'authorized-party', 'response'],\r\n { queryParams: { event: 'error' } });\r\n });\r\n this.storageService.storeInSession(authorizedPartyIdStorageKey, workflow.Id + '');\r\n }\r\n\r\n cancelButtonClick(workflow: AuthorizedPartyWorkflow) {\r\n this.selectedWorkflow = workflow;\r\n this.showConfirmation = true;\r\n }\r\n\r\n cancelConfirmButtonClick() {\r\n this.closeDialog();\r\n this.loading = true;\r\n this.authorizedPartyService.cancelAuthorizedPartyRequest(this.selectedWorkflow.Id)\r\n .then(() => {\r\n this.loadPendingRequests();\r\n });\r\n }\r\n\r\n closeDialog() {\r\n this.showConfirmation = false;\r\n }\r\n\r\n private loadPendingRequests() {\r\n this.CurrentCommitment.then(c => {\r\n this.authorizedPartyService.getAllAuthorizedPartyWorkflows(c.AcctRefNo).then((response) => {\r\n if (response && response.length > 0) {\r\n this.workflows = response;\r\n } else {\r\n this.router.navigate(['dashboard', 'account', c.LoanNumber, 'authorized-party', 'add']);\r\n }\r\n })\r\n .catch(() => null)\r\n .then(() => { this.loading = false; });\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{status.title}}

\r\n

{{status.message}}

\r\n
\r\n
\r\n \r\n Print and mail your request\r\n
\r\n
\r\n \r\n Start a new request\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Printing Instructions\r\n \r\n
\r\n
    \r\n
  1. Click to print your filled in\r\n authorized party request
  2. \r\n
  3. Review and sign the document in the appropriate locations
  4. \r\n
  5. Fax, email or mail your authorized party request to:\r\n
      \r\n
    • \r\n Fax:\r\n
      (866) 349-3139
      \r\n
    • \r\n
    • \r\n Email:\r\n
      QuickLink@RaboAg.com
      \r\n
    • \r\n
    • \r\n Mail:\r\n
      \r\n Rabo AgriFinance
      \r\n 1402 Technology Parkway
      \r\n Cedar Falls, IA 50613\r\n
      \r\n
    • \r\n
    \r\n
  6. \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\n\r\nimport {\r\n AuthorizedPartyBase,\r\n authorizedPartyIdStorageKey\r\n} from '../authorized-party-base';\r\nimport { AuthorizedPartyService } from '../../../../services/authorized-party.service';\r\nimport { AccountHttpService } from '../../../../services/account-http.service';\r\nimport { StorageService } from '../../../../services/storage.service';\r\n\r\nclass Status {\r\n title: string;\r\n message: string;\r\n}\r\n\r\n@Component({\r\n selector: 'gol-authorized-party-response',\r\n styleUrls: [\r\n 'response.component.css',\r\n '../authorized-party.style.css',\r\n '../../../../form/summary/waiting.css',\r\n '../../../../form/styles_form.css'],\r\n templateUrl: 'response.component.html'\r\n})\r\nexport class AuthorizedPartyResponseComponent extends AuthorizedPartyBase implements OnInit {\r\n status: Status;\r\n showContinue = false;\r\n showPrintDialog = false;\r\n public responseRetrieved: string = null;\r\n\r\n constructor(route: ActivatedRoute, accountHttpService: AccountHttpService, private storageService: StorageService,\r\n private authorizedPartyService: AuthorizedPartyService, private router: Router) {\r\n super(route, accountHttpService);\r\n }\r\n\r\n ngOnInit() {\r\n const eventQP = this.router.parseUrl(this.router.url).queryParams['event'];\r\n this.status = new Status();\r\n\r\n if (eventQP === 'signing_complete') {\r\n this.status.title = 'Submitted';\r\n // tslint:disable-next-line: max-line-length\r\n this.status.message = 'You\\'ve successfully submitted a request to add an authorized party to your account which requires endorsements by the authorized party. They will receive an email from DocuSign with instructions to complete the signature process. Once that is complete, we will be able to process your request.';\r\n } else if (eventQP === 'id_check_failed') {\r\n this.showContinue = true;\r\n this.status.title = 'ID Check';\r\n this.status.message = 'Sorry, your request was cancelled due to an ID check failure.';\r\n } else if (eventQP === 'viewing_complete') {\r\n this.router.navigate(['dashboard', 'account', this.accountNumber, 'authorized-party']);\r\n } else if (eventQP === 'server_error') {\r\n this.showContinue = true;\r\n this.status.title = 'DocuSign error';\r\n this.status.message = 'There was an unexpected problem contacting DocuSign.';\r\n } else {\r\n this.showContinue = true;\r\n this.status.title = 'Cancelled';\r\n this.status.message = 'Your request was cancelled. You can:';\r\n }\r\n }\r\n\r\n createNew() {\r\n this.router.navigate(['dashboard', 'account', this.accountNumber, 'authorized-party', 'add']);\r\n }\r\n\r\n printApp(): void {\r\n const id = +this.storageService.getFromSession(authorizedPartyIdStorageKey);\r\n this.CurrentCommitment.then((c) => {\r\n this.authorizedPartyService.getPrintableRequest(id, c.AcctRefNo)\r\n .then((blob) => {\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, 'Rabo AgriFinance Add Authorized Party.pdf');\r\n } else {\r\n const fileURL = URL.createObjectURL(blob);\r\n window.open(fileURL, '_blank');\r\n }\r\n this.showPrintDialog = false;\r\n });\r\n });\r\n }\r\n\r\n openPrintDialog(): void {\r\n this.showPrintDialog = true;\r\n }\r\n\r\n closePrintDialog(): void {\r\n this.showPrintDialog = false;\r\n }\r\n}\r\n","\r\n","import { Component, Input } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from '../../../services/user.service';\r\n\r\n@Component({\r\n selector: 'gol-account-navigation-dashboard',\r\n templateUrl: 'navigation.component.html',\r\n styleUrls: ['navigation.component.css']\r\n})\r\nexport class NavigationDashboardComponent {\r\n currentTab = '';\r\n @Input() loan_number: string;\r\n @Input() account;\r\n constructor(private router: Router, private userService: UserService, activatedRoute: ActivatedRoute) {\r\n activatedRoute.url.subscribe(() => {\r\n activatedRoute.firstChild.data.subscribe((data) => {\r\n this.currentTab = data['tab'] || this.currentTab;\r\n });\r\n });\r\n }\r\n\r\n canViewAccountDetails(): boolean {\r\n return !this.account.IsDelinquent && !this.account.HasCreditHold && !this.account.HasExtension;\r\n }\r\n}\r\n","
Payment History
\r\n\r\n
\r\n

There was an issue pulling the payment history for this account.

\r\n
\r\n
\r\n
0\">\r\n

Pending Payments

\r\n
\r\n \r\n \r\n \r\n Confirmation Number\r\n Dealer\r\n Program\r\n Payment Date\r\n Payment Amount\r\n \r\n \r\n\r\n \r\n \r\n {{row.ConfirmationNumber }} \r\n {{row.DealerName }} \r\n {{row.ProgramName}} \r\n {{row.PaymentDate | date:'shortDate' }} \r\n {{row.PaymentAmount | currency:'USD' }} \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Payment History

\r\n
\r\n \r\n \r\n \r\n Dealer\r\n Program\r\n Payment Date\r\n Payment Amount\r\n \r\n \r\n\r\n \r\n \r\n {{row.DealerName }} \r\n {{row.ProgramName}} \r\n {{row.PaymentDate | date:'shortDate' }} \r\n {{row.PaymentAmount | currency:'USD' }} \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n Please confirm that you want to cancel all pending payments.

\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n There was an issue cancelling the payments.

\r\n
\r\n \r\n
\r\n
\r\n\r\n Pending payments have been cancelled.

\r\n

{{ConfirmationText()}}

\r\n

{{confirmationNumber}}

\r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { Payment } from '../../../models/accounts/payment';\r\n\r\n@Component({\r\n selector: 'gol-payment-history',\r\n templateUrl: 'payment-history.component.html',\r\n styleUrls: ['payments.component.css']\r\n})\r\nexport class PaymentHistoryComponent implements OnInit {\r\n\r\n loading: boolean;\r\n loanNumber: string;\r\n pendingPayments: Payment[] = [];\r\n completedPayments: Payment[] = [];\r\n reversalIds: string[] = [];\r\n cancelingPayment: boolean;\r\n submitting: boolean;\r\n cancelConfirmation: boolean;\r\n cancelError: boolean;\r\n error: boolean;\r\n\r\n constructor(private route: ActivatedRoute, private accountService: AccountHttpService) { }\r\n\r\n ngOnInit(): void {\r\n this.loanNumber = this.route.snapshot.parent.params['accountId'];\r\n this.GetPaymentHistory();\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n GetPaymentHistory() {\r\n this.pendingPayments = [];\r\n this.completedPayments = [];\r\n this.loading = true;\r\n this.accountService.getPaymentHistory(this.loanNumber)\r\n .then((results) => {\r\n results.forEach(result => {\r\n if (result.Status === 'Paid') {\r\n this.completedPayments.push(result);\r\n } else {\r\n this.pendingPayments.push(result);\r\n }\r\n });\r\n })\r\n .catch(() => {\r\n this.error = true;\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n cancelClick() {\r\n this.cancelingPayment = true;\r\n }\r\n\r\n cancelCancel() {\r\n this.cancelingPayment = false;\r\n }\r\n\r\n closeCancelError() {\r\n this.cancelError = false;\r\n }\r\n\r\n closeCancelConfirmation() {\r\n this.cancelConfirmation = false;\r\n this.GetPaymentHistory();\r\n }\r\n\r\n cancelPending() {\r\n this.submitting = true;\r\n this.accountService.cancelPendingPayments(this.pendingPayments)\r\n .then((results) => {\r\n this.reversalIds = results;\r\n if (this.reversalIds.length === 0) {\r\n this.cancelError = true;\r\n } else {\r\n this.cancelConfirmation = true;\r\n }\r\n })\r\n .catch(() => {\r\n this.cancelError = true;\r\n })\r\n .then(() => {\r\n this.submitting = false;\r\n this.cancelCancel();\r\n this.accountService.updateAccountObservable();\r\n });\r\n }\r\n\r\n ConfirmationText(): string {\r\n let text = '';\r\n if (this.reversalIds.length > 1) {\r\n text += 'Your confirmation numbers for this transaction are:';\r\n } else {\r\n text += 'Your confirmation number for this transaction is:';\r\n }\r\n return text;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-payment-navigation',\r\n templateUrl: 'payment-navigation.component.html',\r\n styleUrls: ['../../../form/reusables/view/progress-navigation.css', 'payments.component.css']\r\n})\r\nexport class PaymentNavigationComponent {\r\n\r\n @Input() selectedAlias: string;\r\n\r\n constructor() {\r\n this.options = [\r\n { alias: 'Details', name: 'Details' },\r\n { alias: 'Review', name: 'Review' },\r\n { alias: 'Confirmation', name: 'Confirmation' }\r\n ];\r\n }\r\n\r\n options: any[];\r\n showingMenu = false;\r\n closeProgressNav = true;\r\n\r\n isDisabled(alias: string) {\r\n return this.getIndexByAlias(alias) > this.getIndexByAlias(this.selectedAlias);\r\n }\r\n\r\n isSelected(alias: string) {\r\n return this.getIndexByAlias(alias) === this.getIndexByAlias(this.selectedAlias);\r\n }\r\n\r\n getIndexByAlias(alias: string): number {\r\n return this.options.findIndex((page) => page.alias === alias);\r\n }\r\n\r\n showMenu(show: boolean) {\r\n this.showingMenu = show;\r\n }\r\n}\r\n","\r\n\r\n
\r\n

There was an issue pulling the loan details for this account.

\r\n

Please contact our Customer Service team at 1-888-395-8505, or email Quicklink@raboag.com

\r\n \r\n
\r\n
\r\n
\r\n

Existing Pending Payment Found

\r\n

There is an existing pending payment for this account. You cannot enter a new payment until\r\n the pending payment is processed or cancelled.\r\n Go to Payment History for more details.

\r\n
\r\n
\r\n

No Balance On Account

\r\n

None of the loans on this account have a balance to make a payment towards.\r\n Go to Account Details for\r\n more information.

\r\n
\r\n
0\">\r\n

Payment {{alias}} \r\n

\r\n
\r\n

To make a payment towards your account, you can either:

\r\n
    \r\n
  • Make a full payoff payment by selecting Full Payment below, or
  • \r\n
  • Make a partial payment by selecting Partial Payment below.
  • \r\n
\r\n
\r\n

Make a payment toward your account below

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{TotalPayoffAmount() | currency:'USD'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{TotalPaymentAmount() | currency:'USD'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Your payment has been successfully submitted!

\r\n

{{ConfirmationText()}}

\r\n

{{confirmationNumber}}

\r\n
\r\n
\r\n \r\n \r\n \r\n Dealer\r\n Program\r\n Due Date\r\n Payoff Amount\r\n Payment Amount\r\n \r\n \r\n\r\n \r\n \r\n {{row.DealerName }} \r\n {{row.ProgramName}} \r\n {{row.MaturityDate | date:'shortDate' }} \r\n {{row.PayoffAmount | currency:'USD' }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n {{TotalPayoffAmount() | currency:'USD'}}\r\n
  • \r\n
  • \r\n \r\n {{TotalPaymentAmount() | currency:'USD'}}\r\n
  • \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n Dealer\r\n Program\r\n Payment Date\r\n Payoff Amount\r\n Payment Amount\r\n \r\n \r\n\r\n \r\n \r\n {{row.DealerName }} \r\n {{row.ProgramName}} \r\n {{row.PaymentDate | date:'shortDate' }} \r\n {{row.PayoffAmount | currency:'USD' }} \r\n {{row.PaymentAmount | currency:'USD' }} \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n {{TotalPayoffAmount() | currency:'USD'}}\r\n
  • \r\n
  • \r\n \r\n {{TotalPaymentAmount() | currency:'USD'}}\r\n
  • \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Payment Source

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Checking\r\n Savings\r\n \r\n
\r\n

Account Type is required

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Bank Routing Number is required

\r\n \r\n Bank Routing Number must be 9 characters long.

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Bank Account Number is required

\r\n \r\n Bank Account Number must be between 4 and 17 characters long

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Bank Account Holder Name is required

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • Please allow one business day for posting to your account.
  • \r\n
  • Payments made after {{ACHProcessingCutoff}} CT will require an additional business day to process.\r\n
  • \r\n
  • If your payment is past due, then your payment will be applied first to any interest and principal\r\n that is due. Late charges or default interest may be applicable\r\n per the terms of your note, and will be billed separately.
  • \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Error\r\n \r\n {{errorMessage}}\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { TopForm } from '../../../form/top-form';\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { Payment } from '../../../models/accounts/payment';\r\nimport numberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'gol-payments',\r\n templateUrl: 'payments.component.html',\r\n styleUrls: ['payments.component.css']\r\n})\r\nexport class PaymentsComponent implements OnInit {\r\n\r\n loading: boolean;\r\n error: boolean;\r\n errorMessage = '';\r\n submitError: boolean;\r\n submitting: boolean;\r\n loanNumber: string;\r\n account: Commitment;\r\n payments: Payment[] = [];\r\n defaultPayments: Payment[] = [];\r\n pendingPayments: Payment[] = [];\r\n paymentTypes: MenuItem[];\r\n defaultType: MenuItem;\r\n bankAccountNumber: string;\r\n bankRoutingNumber: string;\r\n achAccountType: string;\r\n bankAccountHolder: string;\r\n form: TopForm = new TopForm();\r\n BankAccountNumber: FormControl\r\n = new FormControl('', Validators.compose([Validators.required, Validators.minLength(4), Validators.maxLength(17)]));\r\n BankRoutingNumber: FormControl\r\n = new FormControl('', Validators.compose([Validators.required, Validators.minLength(9), Validators.maxLength(9)]));\r\n ACHAccountType: FormControl = new FormControl('', [Validators.required]);\r\n BankAccountHolder: FormControl = new FormControl('', [Validators.required]);\r\n alias: string;\r\n confirmationNumbers: string[] = [];\r\n ACHProcessingCutoff: string;\r\n\r\n currencyMask = numberMask({\r\n prefix: '$',\r\n includeThousandsSeperator: true,\r\n allowDecimal: true,\r\n });\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private accountService: AccountHttpService,\r\n private userService: UserService) { }\r\n\r\n ngOnInit(): void {\r\n window.scrollTo(0, 0);\r\n this.payments = [];\r\n this.loading = true;\r\n this.accountService.getCurrentAccount(this.route.snapshot.parent)\r\n .then((result) => {\r\n if (result) {\r\n this.account = result;\r\n this.loanNumber = result.LoanNumber;\r\n if (!this.account.HasPendingPayment && this.account.HasBalance) {\r\n this.GetPaymentDetails();\r\n this.SetMenu();\r\n } else {\r\n this.loading = false;\r\n }\r\n } else{\r\n this.error = true;\r\n this.errorMessage = 'Unable to retrieve account.';\r\n this.loading = false;\r\n }\r\n \r\n }).catch((reject) => {\r\n this.error = true;\r\n this.loading = false;\r\n });\r\n }\r\n\r\n SetMenu() {\r\n this.alias = 'Details';\r\n this.form.addControl('BankAccountNumber', this.BankAccountNumber);\r\n this.form.addControl('BankRoutingNumber', this.BankRoutingNumber);\r\n this.form.addControl('ACHAccountType', this.ACHAccountType);\r\n this.form.addControl('BankAccountHolder', this.BankAccountHolder);\r\n this.paymentTypes = [\r\n {\r\n label: 'Full Payment', command: (event) => {\r\n this.payments = JSON.parse(JSON.stringify(this.defaultPayments));\r\n }\r\n },\r\n {\r\n label: 'Partial Payment', command: (event) => {\r\n this.payments[0].AccountPayment = false;\r\n }\r\n }\r\n ];\r\n\r\n this.defaultType = this.paymentTypes[0];\r\n this.GetACHProcessingCutoffHour();\r\n }\r\n\r\n GetACHProcessingCutoffHour() {\r\n this.accountService.getACHProcessingCutoffHour()\r\n .then((result) => {\r\n this.ACHProcessingCutoff = result;\r\n });\r\n }\r\n\r\n GetPaymentDetails() {\r\n this.loading = true;\r\n this.accountService.getPayoffDetails(this.loanNumber, 0)\r\n .then((result) => {\r\n if (result.length > 0) {\r\n this.payments = result;\r\n if (this.payments.length > 1) {\r\n this.payments[0].AccountPayment = true;\r\n this.payments[0].AccountPaymentAmount = this.TotalPayoffAmount();\r\n } else {\r\n this.payments[0].AccountPayment = false;\r\n }\r\n }\r\n\r\n //deep cloning the results in case someone flips to the partial payment and makes changes before switching back.\r\n this.defaultPayments = JSON.parse(JSON.stringify(this.payments));\r\n this.loading = false;\r\n })\r\n .catch((err) => {\r\n this.error = true;\r\n this.loading = false;\r\n });\r\n \r\n }\r\n\r\n changePaymentAmount(value: string): number {\r\n const convertedValue = this.toNumber(value);\r\n return convertedValue;\r\n }\r\n\r\n toNumber(value: string): number {\r\n if (value == null || value === undefined) { return 0.00; }\r\n const convert = +(this.clearmask(value));\r\n if (Number.isNaN(convert)) {\r\n return null;\r\n }\r\n return +convert.toFixed(2);\r\n }\r\n\r\n clearmask(str: string): string {\r\n if (!str || typeof str !== 'string') {\r\n return str;\r\n }\r\n const newstr = str.replace(/\\//g, '').replace(/\\(/g, '').replace(/\\)/g, '').replace(/ /g, '').replace(/,/g, '').replace('$', '');\r\n return newstr;\r\n }\r\n\r\n TotalPayoffAmount(): number {\r\n let totalAmount = 0;\r\n this.payments.forEach(element => {\r\n totalAmount += element.PayoffAmount;\r\n });\r\n return totalAmount;\r\n }\r\n\r\n TotalPaymentAmount(): number {\r\n if (this.payments[0].AccountPayment) {\r\n return this.payments[0].AccountPaymentAmount;\r\n } else {\r\n let totalAmount = 0;\r\n this.payments.forEach(element => {\r\n totalAmount += element.PaymentAmount;\r\n });\r\n return totalAmount;\r\n }\r\n }\r\n\r\n VerifyPaymentDetails() {\r\n this.submitting = true;\r\n this.errorMessage = '';\r\n this.form.submitted = true;\r\n if (!this.form.invalid) {\r\n if (this.TotalPaymentAmount() <= 0) {\r\n this.errorMessage = 'Total Payment Amount must be greater than zero. ';\r\n }\r\n\r\n if (!this.ABACheckSum()) {\r\n this.errorMessage += 'Invalid Bank Routing Number. ';\r\n this.submitError = true;\r\n }\r\n\r\n if (!this.VerifyPaymentAmount()) {\r\n this.errorMessage += 'Payment amount must be less than or equal to payoff amount. ';\r\n this.submitError = true;\r\n }\r\n if (!this.errorMessage) {\r\n this.pendingPayments = [];\r\n this.payments.forEach(payment => {\r\n payment.BankAccountNumber = this.bankAccountNumber;\r\n payment.BankRoutingNumber = this.bankRoutingNumber;\r\n payment.ACHAccountType = this.achAccountType;\r\n payment.BankAccountHolder = this.bankAccountHolder;\r\n if (this.payments[0].AccountPayment) {\r\n this.pendingPayments.push(payment);\r\n } else {\r\n if (payment.PaymentAmount > 0) {\r\n this.pendingPayments.push(payment);\r\n }\r\n }\r\n });\r\n\r\n this.alias = 'Review';\r\n this.error = false;\r\n this.form.submitted = false;\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n this.submitting = false;\r\n }\r\n\r\n VerifyPaymentAmount(): boolean {\r\n if (this.payments[0].AccountPayment) {\r\n return this.payments[0].AccountPaymentAmount <= this.TotalPayoffAmount();\r\n } else {\r\n let pass = true;\r\n this.payments.forEach(payment => {\r\n if (payment.PaymentAmount > payment.PayoffAmount) {\r\n pass = false;\r\n }\r\n });\r\n return pass;\r\n }\r\n }\r\n\r\n ABACheckSum(): boolean {\r\n let aba = this.bankRoutingNumber;\r\n\r\n if (!aba) {\r\n return false;\r\n }\r\n\r\n // tslint:disable-next-line: prefer-const\r\n let numericRegex = /^\\d{9}$/,\r\n total = null;\r\n\r\n aba = aba.toString();\r\n\r\n // make sure it's numeric and of length 9\r\n if (!numericRegex.test(aba)) {\r\n return false;\r\n }\r\n\r\n // compute checksum\r\n for (let i = 0; i < 9; i += 3) {\r\n total += parseInt(aba.charAt(i), 10) * 3\r\n + parseInt(aba.charAt(i + 1), 10) * 7\r\n + parseInt(aba.charAt(i + 2), 10);\r\n }\r\n if (total !== 0 && total % 10 === 0) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n Edit() {\r\n this.alias = 'Details';\r\n }\r\n\r\n Submit() {\r\n this.submitting = true;\r\n this.errorMessage = '';\r\n const paymentError = 'An error may have occurred. Please verify your last payment is in pending status before attempting to submit another payment. If you have any questions please call us at 888-395-8505. ';\r\n\r\n this.accountService.submitPayments(this.pendingPayments)\r\n .then((results) => {\r\n results.forEach(result => {\r\n if (result.length > 1) {\r\n this.confirmationNumbers.push(result);\r\n } else {\r\n this.errorMessage = paymentError;\r\n }\r\n });\r\n\r\n if (this.confirmationNumbers.length <= 0) {\r\n this.errorMessage = paymentError;\r\n }\r\n\r\n if (this.errorMessage === '') {\r\n this.alias = 'Confirmation';\r\n window.scrollTo(0, 0);\r\n } else {\r\n this.submitError = true;\r\n }\r\n })\r\n .catch((res) => {\r\n this.errorMessage = paymentError;\r\n this.submitError = true;\r\n })\r\n .then(() => {\r\n this.submitting = false;\r\n this.accountService.updateAccountObservable();\r\n });\r\n }\r\n\r\n ConfirmationText(): string {\r\n const user = this.userService.GetUser();\r\n let text = 'We will send an email confimation to ' + user.email + '. ';\r\n if (this.confirmationNumbers.length > 1) {\r\n text += 'Your confirmation numbers for this transaction are:';\r\n } else {\r\n text += 'Your confirmation number for this transaction is:';\r\n }\r\n return text;\r\n }\r\n\r\n PrintConfirmation() {\r\n window.print();\r\n }\r\n\r\n Cancel() {\r\n this.payments = [];\r\n this.pendingPayments = [];\r\n this.submitError = false;\r\n this.router.navigate(['/dashboard']);\r\n }\r\n\r\n CloseError(){\r\n this.submitError = false;\r\n }\r\n}\r\n","
Payoff Quote
\r\n\r\n
\r\n

There was an issue pulling the payoff details for this account.

\r\n
\r\n
\r\n
\r\n

Existing Pending Payment Found

\r\n

There is an existing pending payment for this account. You cannot view payoff amount until\r\n the pending payment is processed or cancelled.\r\n Go to Payment History for more details.

\r\n
\r\n
\r\n

No Balance On Account

\r\n

None of the loans on this account have a balance to make a payment towards.\r\n Go to Account Details for\r\n more information.

\r\n
\r\n
\r\n

The payoff amounts below include {{payoffLength}} days of accrued interest to account for mailing. Use our\r\n online payment functionality to pay faster.

\r\n

Amounts identified below reflect interest charges that may accrue on the account in the future based on the\r\n current balance. Payments are applied on the date they are received.\r\n Payments or additional transactions prior to the date identified below may change the interest charges that\r\n will accrue on the account.

\r\n \r\n\r\n \r\n \r\n Dealer\r\n Program\r\n Payment Date\r\n Payoff Amount\r\n \r\n \r\n\r\n \r\n \r\n {{row.DealerName }} \r\n {{row.ProgramName}} \r\n {{row.PaymentDate | date:'shortDate' }} \r\n {{row.PayoffAmount | currency:'USD' }} \r\n \r\n \r\n\r\n \r\n Total Payoff Amount: {{TotalPayoffAmount() | currency:'USD'}}\r\n \r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { Payment } from '../../../models/accounts/payment';\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\n\r\n@Component({\r\n selector: 'gol-payoff',\r\n templateUrl: 'payoff.component.html',\r\n styleUrls: ['payments.component.css']\r\n})\r\nexport class PayoffComponent implements OnInit {\r\n\r\n loading: boolean;\r\n error: boolean;\r\n loanNumber: string;\r\n account: Commitment;\r\n payments: Payment[] = [];\r\n payoffLength = 10;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private accountService: AccountHttpService) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n window.scrollTo(0, 0);\r\n this.payments = [];\r\n this.accountService.getCurrentAccount(this.route.snapshot.parent)\r\n .then((result) => {\r\n this.account = result;\r\n this.loanNumber = result.LoanNumber;\r\n if (!this.account.HasPendingPayment && this.account.HasBalance) {\r\n this.GetPaymentDetails();\r\n } else {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n GetPaymentDetails() {\r\n this.loading = true;\r\n this.accountService.getPayoffDetails(this.loanNumber, this.payoffLength)\r\n .then((result) => {\r\n this.payments = result;\r\n })\r\n .catch(() => {\r\n this.error = true;\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n TotalPayoffAmount(): number {\r\n let totalAmount = 0;\r\n this.payments.forEach(element => {\r\n totalAmount += element.PayoffAmount;\r\n });\r\n return totalAmount;\r\n }\r\n}\r\n","
Statements and Documents
\r\n\r\n
\r\n

Monthly Statements

\r\n

\r\n No recent statements found for this account.\r\n

\r\n
0\">\r\n

Account statements for the last 18 months can be viewed below.

\r\n \r\n \r\n \r\n {{statementYear}}\r\n \r\n \r\n

\r\n {{statement.DocumentDate}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Interest Paid Statements

\r\n

\r\n No interest paid statements found for this account.\r\n

\r\n
0\">\r\n

Annual interest paid summary for your account.

\r\n

\r\n {{statement.DocumentDate.substring(statement.DocumentDate.length - 4)}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NgModel, FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport * as saver from 'file-saver';\r\nimport * as moment from 'moment';\r\nimport { MessageService } from 'primeng/api';\r\n\r\nimport { TopForm } from '../../../form/top-form';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { Document } from '../../../models/document/document';\r\nimport { DocumentMetaData } from '../../../models/document/document-meta-data';\r\nimport { DocumentQuery } from '../../../models/document/document-query';\r\n\r\n@Component({\r\n selector: 'gol-account-statements',\r\n templateUrl: 'account-statements.component.html',\r\n styleUrls: ['account-statements.component.css'],\r\n providers: [MessageService]\r\n})\r\nexport class AccountStatementsComponent implements OnInit {\r\n\r\n loanNumber: string;\r\n loading = 0;\r\n query: DocumentQuery;\r\n statements: Document[] = [];\r\n statementYears: string[] = [];\r\n interestPaidStatements: Document[] = [];\r\n index = 0;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private accountService: AccountHttpService,\r\n private messageService: MessageService) { }\r\n\r\n ngOnInit() {\r\n this.loanNumber = this.route.snapshot.parent.params['accountId'];\r\n this.getStatements();\r\n this.getInterestPaidStatements();\r\n }\r\n\r\n getStatements() {\r\n this.loading++;\r\n this.query = new DocumentQuery();\r\n this.query.RefNo = this.loanNumber;\r\n this.query.Description = 'Account Statement';\r\n\r\n const minimumDate = moment().subtract(18, 'months').toDate();\r\n this.query.MinimumDocumentDate = minimumDate;\r\n\r\n this.accountService.getDocuments(this.query)\r\n .then((results) => {\r\n this.statements = results;\r\n this.statements.forEach(statement => {\r\n const year = statement.DocumentDate.substring(statement.DocumentDate.length - 4);\r\n if (!this.statementYears.includes(year)) {\r\n this.statementYears.push(year);\r\n }\r\n });\r\n this.statementYears.sort((a, b) => parseFloat(a) - parseFloat(b)).reverse();\r\n this.statements.sort((a, b) => parseFloat(a.DocumentDate) - parseFloat(b.DocumentDate)).reverse();\r\n this.loading--;\r\n });\r\n }\r\n\r\n getInterestPaidStatements() {\r\n this.loading++;\r\n this.query = new DocumentQuery();\r\n this.query.RefNo = this.loanNumber;\r\n this.query.Description = 'Interest Paid Statement';\r\n\r\n this.accountService.getDocuments(this.query)\r\n .then((results) => {\r\n this.interestPaidStatements = results;\r\n this.interestPaidStatements.sort((a, b) => parseFloat(a.DocumentDate) - parseFloat(b.DocumentDate)).reverse();\r\n this.loading--;\r\n });\r\n }\r\n\r\n downloadDocument(document: Document) {\r\n this.accountService.downloadDocument(document.DocumentId)\r\n .subscribe(\r\n response => {\r\n console.log(`Size of blob: ${response['body'].size}`);\r\n saver.saveAs(response['body'], document.Name);\r\n },\r\n error => {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Document unsuccessfully retrieved',\r\n detail: 'An error occurred while retrieving the document '\r\n });\r\n }\r\n );\r\n }\r\n\r\n clear() {\r\n this.messageService.clear();\r\n }\r\n}\r\n","
Transaction Report
\r\n
\r\n

Search Transactions

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n All\r\n {{type}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n All\r\n {{program}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n The end date must be after the start date\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n There was an error pulling the transaction report\r\n
\r\n \r\n \r\n \r\n Date\r\n \r\n \r\n Type\r\n \r\n \r\n Program\r\n \r\n \r\n Vendor\r\n \r\n \r\n Amount\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{row.TransactionDate | date:'MM/dd/yyyy' }} \r\n {{row.Type}} \r\n {{row.Program }} \r\n {{row.Vendor }} \r\n {{row.Amount | currency:'USD' }} \r\n \r\n \r\n\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { TransactionQuery } from '../../../models/accounts/transaction-query';\r\nimport { TransactionReport } from '../../../models/accounts/transaction-report';\r\n\r\n@Component({\r\n selector: 'gol-transaction-report',\r\n templateUrl: 'transaction-report.component.html',\r\n styleUrls: ['transaction-report.component.css']\r\n})\r\nexport class TransactionReportComponent implements OnInit {\r\n\r\n loanNumber: string;\r\n loading: boolean;\r\n query: TransactionQuery;\r\n transactionReport: TransactionReport;\r\n datesInvalid: boolean;\r\n error: boolean;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private accountService: AccountHttpService) { }\r\n\r\n ngOnInit() {\r\n this.loanNumber = this.route.snapshot.parent.params['accountId'];\r\n this.transactionReport = new TransactionReport();\r\n this.query = new TransactionQuery();\r\n this.query.LoanNumber = this.loanNumber;\r\n this.getTransactionReport();\r\n }\r\n\r\n clearQuery() {\r\n this.query.MinimumDate = undefined;\r\n this.query.MaximumDate = undefined;\r\n this.query.Type = undefined;\r\n this.query.Program = undefined;\r\n this.datesInvalid = false;\r\n }\r\n\r\n dateChange() {\r\n if (this.query.MinimumDate && this.query.MaximumDate && this.query.MinimumDate > this.query.MaximumDate) {\r\n this.datesInvalid = true;\r\n } else {\r\n this.datesInvalid = false;\r\n }\r\n }\r\n\r\n getTransactionReport() {\r\n this.error = false;\r\n this.loading = true;\r\n this.accountService.getTransactionReport(this.query)\r\n .then((result) => {\r\n this.transactionReport = result;\r\n })\r\n .catch((err) => {\r\n this.error = true;\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n}\r\n","
\r\n
\r\n

My Accounts

\r\n \r\n \r\n
    \r\n
  • \r\n

    \r\n {{account.AccountHolder.DisplayName}}\r\n ({{account.LoanNumber}})\r\n

    \r\n
    Maturity Date Approaching - Payment\r\n Required
    \r\n
    Is Past Due - Other Fees May Apply
    \r\n
    \r\n
    \r\n \r\n

    {{getUserRelationship(account)}}

    \r\n
    \r\n {{dealer}}
    \r\n
    \r\n
    \r\n \r\n

    {{account.DisplayCreditLimit | currency:'USD'}}

    \r\n \r\n

    {{account.Balance | currency:'USD'}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
","import { Component, Output, OnInit, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { User } from '../../../models/user';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-account-summary',\r\n templateUrl: 'account-summary.component.html',\r\n styleUrls: ['account-summary.component.css']\r\n})\r\nexport class AccountSummaryComponent implements OnInit {\r\n accounts: Commitment[];\r\n linking: boolean;\r\n loading: boolean;\r\n user: User;\r\n @Output() hasAccount: EventEmitter = new EventEmitter();\r\n @Output() loadingAccounts: EventEmitter = new EventEmitter();\r\n\r\n constructor(private router: Router, private accountService: AccountHttpService, private userService: UserService, private notifySvc: NotificationService) { }\r\n\r\n ngOnInit(): void {\r\n this.user = this.userService.GetUser();\r\n if (this.user != null) {\r\n this.getAccountSummaries();\r\n }\r\n }\r\n\r\n accountLinked(linkedData: Object) {\r\n const cifno = linkedData['cifno'];\r\n if (cifno > 0) {\r\n this.linking = false;\r\n this.loading = true;\r\n this.user.cifno = cifno;\r\n this.userService.SetUser(this.user);\r\n this.accountService.linkAccount(linkedData['accountNumber'], linkedData['ssn'], linkedData['zip'])\r\n .then((result) => {\r\n if (result) {\r\n this.getAccountSummaries();\r\n }\r\n });\r\n }\r\n }\r\n\r\n getAccountSummaries() {\r\n this.loading = true;\r\n this.loadingAccounts.emit(true);\r\n this.accountService.getAccounts()\r\n .then(accts => {\r\n this.accounts = accts;\r\n if (this.accounts?.length > 0) {\r\n this.hasAccount.emit(true);\r\n }\r\n this.loading = false;\r\n this.loadingAccounts.emit(false);\r\n })\r\n .catch(err => {\r\n this.loading = false;\r\n this.loadingAccounts.emit(false);\r\n\r\n const wait = new Promise(resolve => setTimeout(resolve, 1000));\r\n wait.then(res => {\r\n this.notifySvc.push({\r\n severity: 'error',\r\n summary: 'Error retrieving accounts',\r\n detail: err?.statusText == 'Unauthorized' || err?.status == 401 ? 'Authorization Failed' : 'There was a problem communicating with the server.',\r\n life: 12000\r\n });\r\n });\r\n\r\n if (err?.statusText == 'Unauthorized' || err?.status == 401){\r\n this.userService.Logout();\r\n this.router.navigate(['/home']);\r\n }\r\n });\r\n }\r\n\r\n getUserRelationship(account: Commitment): string {\r\n if (this.user && this.user.cifno) {\r\n const userCifno = `${this.user.cifno}`;\r\n\r\n // tslint:disable-next-line: triple-equals\r\n if (account.AccountHolder.CifNo == userCifno) {\r\n return account.AccountHolder.Relationship || 'Primary Borrower';\r\n }\r\n\r\n // tslint:disable-next-line: triple-equals\r\n if (account.Relationships.find(customer => customer.CifNo == userCifno)) {\r\n return account.Relationships.find(customer => customer.CifNo == userCifno)\r\n .Relationship;\r\n }\r\n\r\n if (account.OwnershipRelationships) {\r\n return account.OwnershipRelationships.find(customer => customer.CifNo == userCifno)\r\n .Relationship;\r\n }\r\n }\r\n return '';\r\n }\r\n}\r\n","\r\n
\r\n

My Applications

\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n","import { Component, Output, OnInit, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationOptions } from '../../../models/navigation-options';\r\nimport { ApplicationHttpService } from '../../../services/application-http.service';\r\nimport { CurrentApplicationService } from '../../../services/current-application.service';\r\nimport { ApplicationHeader } from '../../../models/application-header';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { User } from '../../../models/user';\r\nimport { Message } from 'primeng/api';\r\nimport { NotificationService } from 'if-angular-core';\r\nimport { HistoryService } from '../../../services/history.service';\r\nimport { LoggingService } from '../../../services/logging.service';\r\n\r\n@Component({\r\n selector: 'gol-application-status-summary',\r\n templateUrl: 'application-status-summary.component.html',\r\n styleUrls: ['application-status-summary.component.css'],\r\n providers: [ApplicationHttpService]\r\n})\r\nexport class ApplicationStatusSummaryComponent implements OnInit {\r\n\r\n @Output() hasOpenApplication: EventEmitter = new EventEmitter();\r\n @Output() loadingApplications: EventEmitter = new EventEmitter();\r\n\r\n applicationHeaders: ApplicationHeader[];\r\n loading: boolean;\r\n inProcessStatuses: string[] = ['Draft', 'Signing', 'Submitted', 'Incomplete', 'InProcess'];\r\n showAttachment: boolean;\r\n documentType = 'Origination';\r\n selectedApplicationId: string;\r\n user: User;\r\n messages: Message[] = [];\r\n applicationLoadError = 'Failed to get the application details';\r\n applicationLoadDetails = 'If problem continues, please create a new application.';\r\n\r\n constructor(private applicationService: ApplicationHttpService,\r\n private currentApplicationService: CurrentApplicationService,\r\n private router: Router,\r\n private userService: UserService,\r\n private notificationService: NotificationService,\r\n private history: HistoryService,\r\n private logService: LoggingService) { }\r\n\r\n ngOnInit(): void {\r\n this.getApplicationStatuses();\r\n }\r\n\r\n getApplicationStatuses(): void {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationStatusSummaryComponent.getApplicationStatuses start`, null, null, currentUser);\r\n this.loading = true;\r\n this.loadingApplications.emit(true);\r\n this.applicationService.getApplicationHeaders()\r\n .then((applications) => {\r\n this.logService.recordInfo(`ApplicationStatusSummaryComponent.getApplicationStatuses completed, returned ${applications?.length} records`, null, null, currentUser);\r\n this.applicationHeaders = applications;\r\n this.applicationHeaders.forEach(applicationHeader => {\r\n if (this.inProcessStatuses.includes(applicationHeader.status)) {\r\n this.hasOpenApplication.emit(true);\r\n }\r\n });\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n this.loadingApplications.emit(false);\r\n }).catch((err) => {\r\n this.setApplicationLoadErrorMessage();\r\n this.loading = false;\r\n this.loadingApplications.emit(false);\r\n this.logService.recordError(`ApplicationStatusSummaryComponent.getApplicationStatuses exception`, err.message || err, null, currentUser);\r\n });\r\n this.user = this.userService.GetUser();\r\n }\r\n\r\n getApplicationDisplayName(applicationHeader: ApplicationHeader): string {\r\n return this.getApplicationStatus(applicationHeader);\r\n }\r\n\r\n getApplicationStatus(applicationHeader: ApplicationHeader): string {\r\n if (applicationHeader.status === 'InProcess') {\r\n return 'In Process';\r\n }\r\n return applicationHeader.status;\r\n }\r\n\r\n refresh(): void {\r\n this.getApplicationStatuses();\r\n }\r\n\r\n resume(applicationHeader: ApplicationHeader) {\r\n if (applicationHeader.status === 'Draft') {\r\n this.loading = true;\r\n this.applicationService.getApplication(applicationHeader.id)\r\n .then((app) => {\r\n this.currentApplicationService.setCurrentApplication(app);\r\n this.history.init('');\r\n this.router.navigate([NavigationOptions.GetStartPage(app)]);\r\n })\r\n .catch(error => {\r\n this.setApplicationLoadErrorMessage();\r\n });\r\n }\r\n }\r\n\r\n newApp() {\r\n this.currentApplicationService.setCurrentApplication(null);\r\n this.router.navigate(['/apply']);\r\n }\r\n\r\n sign(applicationHeader: ApplicationHeader) {\r\n if (applicationHeader.status === 'Signing') {\r\n this.applicationService.getApplication(applicationHeader.id)\r\n .then((app) => {\r\n this.applicationService.getDocuSignUrl(app).then((docuSignURL) => {\r\n if (docuSignURL !== null) {\r\n window.location.href = docuSignURL;\r\n }\r\n });\r\n })\r\n .catch(error => {\r\n this.setApplicationLoadErrorMessage();\r\n });\r\n }\r\n }\r\n\r\n edit(applicationHeader: ApplicationHeader) {\r\n if (applicationHeader.status === 'Signing' || applicationHeader.status === 'Cancelled') {\r\n this.loading = true;\r\n this.applicationService.getApplication(applicationHeader.id)\r\n .then((application) => {\r\n this.applicationService.editSigningApplication(application).then((app) => {\r\n this.currentApplicationService.setCurrentApplication(app);\r\n this.router.navigate([NavigationOptions.GetStartPage(app)]);\r\n });\r\n })\r\n .catch(error => {\r\n this.setApplicationLoadErrorMessage();\r\n });\r\n }\r\n }\r\n\r\n cancel(applicationHeader: ApplicationHeader) {\r\n if (applicationHeader.status === 'Draft' || applicationHeader.status === 'Signing') {\r\n this.loading = true;\r\n this.applicationService.getApplication(applicationHeader.id)\r\n .then((app) => {\r\n this.applicationService.cancel(app).then(() => this.refresh());\r\n })\r\n .catch(error => {\r\n this.setApplicationLoadErrorMessage();\r\n });\r\n }\r\n }\r\n\r\n delete(applicationHeader: ApplicationHeader) {\r\n if (applicationHeader.status === 'Cancelled') {\r\n this.loading = true;\r\n this.applicationService.getApplication(applicationHeader.id)\r\n .then((application) => {\r\n this.applicationService.delete(application).then(() => this.refresh());\r\n this.currentApplicationService.getCurrentApplication('ApplicationStatusSummaryComponent - delete()').then((app) => {\r\n if (applicationHeader.id === app.id) {\r\n this.currentApplicationService.setCurrentApplication(null);\r\n }\r\n });\r\n })\r\n .catch(error => {\r\n this.setApplicationLoadErrorMessage();\r\n });\r\n }\r\n }\r\n\r\n canAttach(applicationHeader: ApplicationHeader): boolean {\r\n switch (applicationHeader.status) {\r\n case 'Draft':\r\n case 'Signing':\r\n case 'Submitted':\r\n case 'InProcess':\r\n case 'Incomplete':\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n attach(applicationHeader: ApplicationHeader) {\r\n this.showAttachment = true;\r\n this.selectedApplicationId = applicationHeader.id;\r\n }\r\n\r\n setApplicationLoadErrorMessage() {\r\n this.notificationService.push({ severity: 'error', summary: this.applicationLoadError, detail: this.applicationLoadDetails, life:12000});\r\n }\r\n}\r\n","My Dashboard\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-dashboard-home',\r\n templateUrl: 'dashboard-home.component.html',\r\n styles: [`\r\n .dashboard {\r\n padding-bottom: 15px;\r\n }\r\n `]\r\n})\r\nexport class DashboardHomeComponent {\r\n\r\n loadingAccounts = true;\r\n loadingApplications = true;\r\n hasAccount: boolean;\r\n hasOpenApplication: boolean;\r\n\r\n returnHasAccount(event: boolean) {\r\n this.hasAccount = event;\r\n }\r\n\r\n returnloadingAccounts(event: boolean) {\r\n this.loadingAccounts = event;\r\n }\r\n\r\n returnHasOpenApplication(event: boolean) {\r\n this.hasOpenApplication = event;\r\n }\r\n\r\n returnLoadingApplications(event: boolean) {\r\n this.loadingApplications = event;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../../services/user.service';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'gol-account-preferences',\r\n templateUrl: 'account-preferences.component.html',\r\n styleUrls: ['account-preferences.component.css']\r\n})\r\nexport class AccountPreferencesComponent implements OnInit {\r\n\r\n constructor(private userService: UserService, private authService: AuthService) { }\r\n\r\n ngOnInit() { }\r\n}\r\n","My Profile\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","
\r\n

Communication Preferences

\r\n \r\n
\r\n There was an error pulling the account preferences.\r\n
\r\n
\r\n

We'd like to offer quicker ways to update you on your account. Please select how you would like to receive\r\n alerts outside of mail.

\r\n

You will receive alerts via the following methods when changes are made to your account, statements become\r\n available, if there is an upcoming payment due or if a payment is received.

\r\n
\r\n \r\n \r\n
\r\n

Email alerts will be sent to . You can\r\n change this in the Contact Information tab above.\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

Your preferences were successfully changed!

\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { User } from '../../../models/user';\r\nimport { ContactDetail } from '../../../models/accounts/contact-detail';\r\nimport { TopForm } from '../../../form/top-form';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\n\r\n@Component({\r\n selector: 'gol-preferences-alerts',\r\n templateUrl: 'preferences-alerts.component.html',\r\n styleUrls: ['../account-preferences.component.css', 'preferences-alerts.component.css']\r\n})\r\nexport class PreferencesAlertsComponent implements OnInit {\r\n\r\n user: User;\r\n contactDetails: ContactDetail;\r\n loading: boolean;\r\n alertChangeComplete: boolean;\r\n newNumber: string;\r\n form: TopForm;\r\n textNumberError: boolean;\r\n newNumberRadio = 'newNumberRadio';\r\n error: boolean;\r\n\r\n constructor(private userService: UserService, private authService: AuthService, private accountService: AccountHttpService) {\r\n this.form = new TopForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.getUserData();\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n getUserData() {\r\n this.loading = true;\r\n this.accountService.getCustomerContactPreferences()\r\n .then((result) => {\r\n this.contactDetails = result;\r\n })\r\n .catch(() => {\r\n this.error = true;\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n update() {\r\n const valid = this.verifyTextNumber();\r\n if (valid) {\r\n this.textNumberError = false;\r\n this.loading = true;\r\n this.accountService.updateCustomerContactPreferences(this.contactDetails)\r\n .then((result) => {\r\n this.contactDetails = result;\r\n this.alertChangeComplete = true;\r\n })\r\n .catch(() => {\r\n this.error = true;\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.textNumberError = true;\r\n }\r\n }\r\n\r\n verifyTextNumber(): boolean {\r\n if (!this.contactDetails.UserPreferences.TextOptIn) {\r\n return true;\r\n }\r\n\r\n if (this.contactDetails.UserPreferences.PhoneNumber !== null\r\n && this.contactDetails.UserPreferences.PhoneNumber === this.newNumberRadio) {\r\n if (this.form.valid) {\r\n this.contactDetails.UserPreferences.PhoneNumber = this.newNumber;\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n if (this.contactDetails.UserPreferences.PhoneNumber == null || this.contactDetails.UserPreferences.PhoneNumber.length < 10) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n resetForm() {\r\n this.newNumber = '';\r\n this.alertChangeComplete = false;\r\n window.scrollTo(0, 0);\r\n }\r\n}\r\n","
\r\n

Update Contact Information

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Email/User Name\r\n \r\n \r\n
\r\n
This will change your user name for this site and where you receive email notifications.
\r\n \r\n
\r\n
An e-mail address is\r\n required
\r\n
Please enter a valid\r\n e-mail\r\n address
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Mailing Address\r\n \r\n \r\n

{{contactDetails.MailingAddress.line1}}

\r\n

0\">{{contactDetails.MailingAddress.line2}}

\r\n

{{contactDetails.MailingAddress.city}}, {{contactDetails.MailingAddress.state}}\r\n {{contactDetails.MailingAddress.zipcode}}

\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Physical Address\r\n \r\n \r\n

{{contactDetails.PhysicalAddress.line1}}

\r\n

0\">{{contactDetails.PhysicalAddress.line2}}

\r\n

{{contactDetails.PhysicalAddress.city}}, {{contactDetails.PhysicalAddress.state}}\r\n {{contactDetails.PhysicalAddress.zipcode}}

\r\n \r\n
\r\n
\r\n \r\n \r\n Phone Numbers\r\n \r\n \r\n
\r\n
\r\n Phone Number\r\n
\r\n
\r\n Primary\r\n
\r\n
\r\n Mobile\r\n
\r\n
\r\n
\r\n
\r\n {{formatPhoneNumber(phoneNumber.PhoneNumber)}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n (primary)\r\n
\r\n
\r\n \r\n (mobile)\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Required\r\n
\r\n
\r\n Phone Number is invalid
\r\n
\r\n
\r\n
\r\n
\r\n
Primary
\r\n \r\n \r\n \r\n \r\n (primary)\r\n
\r\n
\r\n
Mobile
\r\n \r\n \r\n (mobile)\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Password\r\n \r\n \r\n
\r\n
Your password is required to save changes.
\r\n \r\n
\r\n
Your password is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{updateInfoError}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Your account was successfully updated!

\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\n\r\nimport { User } from '../../../models/user';\r\nimport { TopForm } from '../../../form/top-form';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { validateEmailFactory } from '../../../form/validation/email-validator.directive';\r\nimport { ContactDetail } from '../../../models/accounts/contact-detail';\r\nimport { UserPreferences } from '../../../models/user-preferences';\r\nimport { ContactAddress } from '../../../models/accounts/contact-address';\r\nimport { ContactPhone } from '../../../models/accounts/contact-phone';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { States } from '../../../models/state-list';\r\n\r\nexport const PhoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n@Component({\r\n selector: 'gol-preferences-contact',\r\n templateUrl: 'preferences-contact.component.html',\r\n styleUrls: ['../account-preferences.component.css', 'preferences-contact.component.css']\r\n})\r\nexport class PreferencesContactComponent implements OnInit {\r\n contactInfoForm: TopForm;\r\n user: User;\r\n contactInfoChangeComplete = false;\r\n updateInfoError: string;\r\n contactDetails: ContactDetail;\r\n loading: boolean;\r\n error: boolean;\r\n zipMask = ZipMask;\r\n phoneMask = PhoneMask;\r\n states = States;\r\n sameAsPhysical: boolean;\r\n newPhone: ContactPhone;\r\n addingNewPhone: boolean;\r\n\r\n constructor(private userService: UserService, private accountService: AccountHttpService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.newPhone = new ContactPhone();\r\n this.contactInfoForm = new TopForm({\r\n email: new FormControl('', [Validators.required, validateEmailFactory()]),\r\n password: new FormControl('', [Validators.required]),\r\n newPhoneCtrl: new FormControl(''),\r\n });\r\n\r\n this.getUserData();\r\n }\r\n\r\n getUserData() {\r\n window.scrollTo(0, 0);\r\n this.loading = true;\r\n this.user = new User(this.userService.GetUser());\r\n if (this.user.cifno) {\r\n this.accountService.getCustomerContactDetails(this.user.cifno)\r\n .then((result) => {\r\n this.contactDetails = result;\r\n this.checkPhysicalAddress();\r\n })\r\n .catch(() => {\r\n this.error = true;\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.contactDetails = new ContactDetail();\r\n this.contactDetails.UserPreferences = new UserPreferences();\r\n this.contactDetails.UserPreferences.EmailAddress = this.user.email;\r\n this.sameAsPhysical = true;\r\n this.setPhysicalAddressValidators();\r\n this.loading = false;\r\n }\r\n }\r\n\r\n checkPhysicalAddress() {\r\n if (this.contactDetails.PhysicalAddress) {\r\n this.sameAsPhysical = false;\r\n } else {\r\n this.sameAsPhysical = true;\r\n }\r\n this.setPhysicalAddressValidators();\r\n }\r\n\r\n setPhysicalAddressValidators() {\r\n if (!this.contactDetails.PhysicalAddress) {\r\n this.contactDetails.PhysicalAddress = new ContactAddress();\r\n }\r\n }\r\n\r\n formatPhoneNumber(phoneNumber: string): string {\r\n return '(' + phoneNumber.substr(0, 3) + ') ' + phoneNumber.substr(3, 3) + '-' + phoneNumber.substr(6, 4);\r\n }\r\n\r\n addPhone(add: boolean) {\r\n this.addingNewPhone = add;\r\n\r\n const newPhoneCtrl = this.contactInfoForm.get('newPhoneCtrl');\r\n if (add) {\r\n newPhoneCtrl.setValidators([Validators.required]);\r\n } else {\r\n newPhoneCtrl.setValidators([]);\r\n\r\n if (this.contactDetails.PhoneNumbers && this.contactDetails.PhoneNumbers.length > 0) {\r\n const primaryPhone = this.contactDetails.PhoneNumbers.find(p => p.IsPrimary).PhoneNumber;\r\n\r\n if (primaryPhone) {\r\n this.contactDetails.PrimaryPhoneNumber = primaryPhone;\r\n }\r\n }\r\n }\r\n newPhoneCtrl.updateValueAndValidity();\r\n }\r\n\r\n contactInfoSubmit() {\r\n this.updateInfoError = null;\r\n this.contactInfoForm.submitted = true;\r\n\r\n if (this.contactInfoForm.valid) {\r\n this.loading = true;\r\n if (this.addingNewPhone) {\r\n this.contactDetails.PhoneNumbers.push(this.newPhone);\r\n }\r\n if (this.sameAsPhysical) {\r\n this.contactDetails.PhysicalAddress = null;\r\n }\r\n this.accountService.updateCustomerContactDetails(this.contactDetails)\r\n .then((res) => {\r\n this.contactDetails = res;\r\n const user = this.userService.GetUser();\r\n user.email = this.contactDetails.UserPreferences.EmailAddress;\r\n this.userService.SetUser(user);\r\n this.checkPhysicalAddress();\r\n this.contactInfoChangeComplete = true;\r\n this.updateInfoError = null;\r\n })\r\n .catch((rejected) => {\r\n this.contactDetails.Password = '';\r\n this.updateInfoError = rejected.Message;\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.updateInfoError = 'Invalid data';\r\n }\r\n }\r\n\r\n closeComplete() {\r\n this.contactInfoChangeComplete = false;\r\n this.contactInfoForm.submitted = false;\r\n this.contactInfoForm.markAsPristine();\r\n this.addPhone(false);\r\n this.newPhone = new ContactPhone();\r\n window.scrollTo(0, 0);\r\n }\r\n}\r\n\r\nexport function ZipMask(inputValue) {\r\n let array: any[] = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\r\n if (inputValue.length > 5) {\r\n array = array.concat(['-', /\\d/, /\\d/, /\\d/, /\\d/]);\r\n }\r\n return array;\r\n}\r\n","
\r\n

Update Name

\r\n
\r\n
\r\n
\r\n \r\n \r\n
Your first name is required
\r\n
\r\n
\r\n \r\n \r\n
Your last name is required
\r\n
\r\n
\r\n {{updateInfoError}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Your account was successfully updated!

\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\n\r\nimport { User } from '../../../models/user';\r\nimport { TopForm } from '../../../form/top-form';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { AuthService} from '../../../services/auth.service';\r\nimport { ContactDetail } from '../../../models/accounts/contact-detail';\r\n\r\n@Component({\r\n selector: 'gol-preferences-name',\r\n templateUrl: 'preferences-name.component.html',\r\n styleUrls: ['../account-preferences.component.css']\r\n})\r\nexport class PreferencesNameComponent implements OnInit {\r\n contactInfoForm: TopForm;\r\n formGroup: FormGroup;\r\n user: User;\r\n contactInfoChangeComplete = false;\r\n updateInfoError: string;\r\n contactDetails: ContactDetail;\r\n loading: boolean;\r\n error: boolean;\r\n\r\n\r\n constructor(private userService: UserService, private authService: AuthService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.contactInfoForm = new TopForm({\r\n firstName: new FormControl('', Validators.required),\r\n lastName: new FormControl('', Validators.required),\r\n });\r\n\r\n this.formGroup = new FormGroup({});\r\n this.user = this.userService.GetUser();\r\n }\r\n\r\n contactInfoSubmit() {\r\n this.authService.UpdateUser(this.user)\r\n .then(res => {\r\n this.contactInfoChangeComplete = true;\r\n this.updateInfoError = null;\r\n })\r\n .catch(rejected => {\r\n this.updateInfoError = rejected;\r\n });\r\n }\r\n}\r\n","
\r\n

Change Profile Password

\r\n
\r\n
\r\n \r\n \r\n
Please type your old password
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

A new password is\r\n required

\r\n

\r\n {{passwordValidationMessage(newPassword.errors['passwordValidation'])}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Passwords do not match

\r\n
\r\n
\r\n
\r\n
\r\n {{changePasswordError}}\r\n
\r\n \r\n
\r\n
\r\n

Your password was successfully changed!

\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\n\r\nimport { User } from '../../../models/user';\r\nimport { TopForm } from '../../../form/top-form';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { PasswordChange } from '../../../models/password-change';\r\nimport { validatePasswordFactory } from '../../../form/validation/password-validator.directive';\r\nimport { passwordMatcher } from '../../../form/validation/password-matcher.validator';\r\n\r\n@Component({\r\n selector: 'gol-preferences-password',\r\n templateUrl: 'preferences-password.component.html',\r\n styleUrls: ['../account-preferences.component.css']\r\n})\r\nexport class PreferencesPasswordComponent implements OnInit {\r\n contactInfoForm: TopForm;\r\n changePasswordForm: TopForm;\r\n oldPassword: FormControl;\r\n newPasswordGroup: FormGroup;\r\n newPassword: FormControl;\r\n confirmPassword: FormControl;\r\n model: User;\r\n password: PasswordChange;\r\n passwordChangeComplete = false;\r\n contactInfoChangeComplete = false;\r\n changePasswordError: string;\r\n updateInfoError: string;\r\n\r\n constructor(private userService: UserService, private authService: AuthService) {\r\n this.model = new User(userService.GetUser());\r\n this.password = new PasswordChange();\r\n }\r\n\r\n ngOnInit() {\r\n this.resetChangePasswordForm();\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n passwordValidationMessage(errorObj) {\r\n let message = 'Password is invalid: ';\r\n // tslint:disable-next-line: forin\r\n for (const error in errorObj) {\r\n message += errorObj[error] + '; ';\r\n }\r\n return message;\r\n }\r\n\r\n resetChangePasswordForm() {\r\n this.passwordChangeComplete = false;\r\n this.password = new PasswordChange();\r\n\r\n this.changePasswordForm = new TopForm();\r\n this.oldPassword = new FormControl('', [Validators.required]);\r\n this.newPassword = new FormControl('', [Validators.required, validatePasswordFactory()]);\r\n this.confirmPassword = new FormControl('', [Validators.required]);\r\n this.newPasswordGroup = new FormGroup({\r\n 'newPassword': this.newPassword,\r\n 'confirmPassword': this.confirmPassword\r\n }, passwordMatcher);\r\n\r\n this.changePasswordError = null;\r\n this.changePasswordForm.addControl('oldPassword', this.oldPassword);\r\n this.changePasswordForm.addControl('newPasswordGroup', this.newPasswordGroup);\r\n }\r\n\r\n changePasswordSubmit() {\r\n this.authService.ChangePassword(this.password)\r\n .then(res => {\r\n this.passwordChangeComplete = true;\r\n })\r\n .catch(rejected => {\r\n this.password.oldPassword = '';\r\n this.changePasswordError = rejected;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-preferences-security',\r\n templateUrl: 'preferences-security.component.html',\r\n styleUrls: ['../account-preferences.component.css']\r\n})\r\nexport class PreferencesSecurityComponent {\r\n}\r\n","","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { UserService } from '../services/user.service';\r\nimport { CurrentApplicationService } from '../services/current-application.service';\r\n\r\n\r\n@Component({\r\n selector: 'gol-user-dashboard',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n `,\r\n styles: [`\r\n .dashboard-wrapper {\r\n background: #ebebeb;\r\n box-shadow: 0 14px 16px -10px rgba(20, 18, 64, .32);\r\n padding: 0px;\r\n }\r\n\r\n .dashboard-wrapper .dash-stage {\r\n background: #ebebeb;\r\n min-height: 570px;\r\n }\r\n `]\r\n})\r\nexport class UserDashboardComponent implements OnInit {\r\n constructor(private router: Router, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n logout(): void {\r\n this.userService.Logout();\r\n this.router.navigate(['/home']);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-electronic-statement',\r\n templateUrl: 'electronic-statement.component.html',\r\n styles: [`\r\n .displayBox {\r\n background:#e7e7e7;\r\n margin: 15px;\r\n padding:15px;\r\n overflow: auto;\r\n height:400px;\r\n }\r\n `]\r\n})\r\nexport class ElectronicStatementComponent {\r\n\r\n}\r\n","
\r\n

This GrowerOnline Service Electronic Delivery Disclosure and Consent\r\n Agreement (“Agreement”) applies to all Communications for the products, services, and Accounts\r\n offered or accessible through the GrowerOnline Service.

\r\n

 

\r\n

Definitions

\r\n

 

\r\n

The words “we,” “us,” and “our” refers to Rabo AgriFinance LLC (“RAF”). The\r\n words “you” and “your” means you, the individual or entity that is a Borrower on an Eligible\r\n Account, or the Authorized Representative of the Borrower. An “Eligible Account” is each line of\r\n credit of the Borrowers that is accessible through the Service. Eligible Accounts are only\r\n available for the purchase of input-related products and services. All Eligible Accounts must be\r\n business accounts and must not be used for personal, family or household purposes.\r\n “Communication” means any Borrower agreement or amendment thereto, monthly billing or account\r\n statements, tax statements, disclosures, notices, responses to claims, transaction history,\r\n privacy policies, and all other information related to the product, service, or Eligible\r\n Account(s), including but not limited to information required to be provided by law.

\r\n

 

\r\n

Communications

\r\n

 

\r\n

By consenting to this Agreement, you agree that RAF may provide you with\r\n Communications in electronic format. Communications include but are not limited to: (a)\r\n Paperless Statements related to your Eligible Account(s); (b) tax statements (c) disclosures,\r\n notices, and other documents required by law to be provided in connection with the Eligible\r\n Account(s), such as legally required notification of changes to terms and conditions related to\r\n your Eligible Account(s) or the GrowerOnline Service; (d) disclosures, notices, and other\r\n documents about a change in the terms of your Eligible Account(s); (e) disclosures, notices and\r\n other documents required by law to be provided in connection with opening, using or maintaining\r\n online banking. Your consent to receive Communications in electronic form does not automatically\r\n stop the receipt by you of paper account statements and tax documents.

\r\n

 

\r\n

Delivery Method

\r\n

 

\r\n

All Communications in electronic form will be provided by one or more of the\r\n following methods: via email, via access to the GrowerOnline Service website, or via SMS and/or\r\n text messaging.

\r\n

 

\r\n

Withdrawal of Consent for e-Communication

\r\n

 

\r\n

You may withdraw your consent to receive Communications in electronic form\r\n by contacting us at (314) 317-8000 or by changing your delivery preferences on the GrowerOnline\r\n Service website.
Note: If you provide an invalid email address or a previously functioning\r\n email address subsequently fails to function properly, we may consider this as a withdrawal of\r\n your consent to receive Communications in electronic form and your access and use of the\r\n GrowerOnline Service may be terminated.

\r\n

 

\r\n

Updating Contact Information

\r\n

 

\r\n

You are responsible for maintaining a true, accurate, and complete email\r\n address, contact number, and other information related to this Disclosure and your Eligible\r\n Account(s), and to promptly update any changes to this information. You may update your\r\n information on the GrowerOnline Service website or by contacting us at (314) 317-8000.\r\n

\r\n

 

\r\n

Hardware and Software Requirements

\r\n

 

\r\n

The Borrowers and Authorized Representatives are responsible for and must\r\n provide all internet connections, equipment, software (other than any software provided by us),\r\n hardware, and any other services necessary to access the GrowerOnline Website and the\r\n Service.

\r\n

 

\r\n

Paper Copies

\r\n

 

\r\n

You should not expect to receive a paper copy of any Communication unless\r\n you request it or we otherwise deem it appropriate to do so. You can obtain a paper copy of a\r\n Communication in electronic form by printing it yourself or by requesting that we mail you a\r\n paper copy, provided that such request is made within a reasonable time after we first provided\r\n the Communication in electronic form to you. To request a paper copy, contact us by telephone at\r\n (314) 317-8000, or by logging in to the GrowerOnline Service. We may charge you a reasonable\r\n service charge, of which we've provided you prior notice, for the delivery of paper copies of\r\n any Communication provided to you electronically pursuant to this authorization. We reserve the\r\n right, but assume no obligation, to provide a paper (instead of electronic) copy of any\r\n Communication that you have authorized us to provide electronically.

\r\n

 

\r\n

In Writing

\r\n

 

\r\n

All Communications in electronic form or paper format are considered “in\r\n writing.”

\r\n

 

\r\n

Federal Law

\r\n

 

\r\n

You acknowledge and agree that your consent to Communication in electronic\r\n form is being provided in connection with a transaction affecting interstate commerce that is\r\n subject to the federal Electronic Signatures in Global and National Commerce Act (the \"Act\"),\r\n and that you and we both intend that the Act apply to the fullest extent possible to validate\r\n our ability to conduct business with you by electronic means.

\r\n

 

\r\n

Changes/Termination

\r\n

 

\r\n

We reserve the right, at our sole discretion, to discontinue the use of\r\n Communication in electronic form or to terminate or change the terms and conditions of this\r\n Agreement. We will provide notice of any such changes or termination as required by law.\r\n

\r\n

 

\r\n

Email Address for Accounts with Multiple or Joint\r\n Owners

\r\n

 

\r\n

For purposes of electronic notification for Paperless Statements on a joint\r\n or multiple owner account, you agree that electronic notifications for Paperless Statements\r\n delivered to the e-mail address of the account owner who enrolls in Paperless Statements will\r\n constitute delivery to all account owners, even if all account owners may not have access to\r\n such e-mail address.

\r\n

 

\r\n

Consent and Acceptance

\r\n

 

\r\n

By consenting to this Disclosure, you agree to the following\r\n statements:
I have read, understand and agree to be bound by the terms and conditions\r\n described above and consent to receive Communications in electronic form according to the\r\n process described above.
I understand and agree that: (i) certain documents will continue\r\n to be delivered to me via U.S. Mail and that in the future some or all of these documents may be\r\n made available for me to view electronically in accordance with this Disclosure; (ii) RAF and/or\r\n its agents may revoke my participation in the Paperless Statements program at any time at their\r\n discretion; (iii) neither RAF, nor their agents will be liable for any loss, liability, cost,\r\n expense, or claim for acting upon this authorization or arising from my use of the product or\r\n services provided pursuant to this Disclosure; and (iv) inserts that may be provided along with\r\n my account statements contain important information or disclosures concerning my Account and I\r\n agree to review such inserts in a timely manner.

\r\n

 

\r\n

Affirmative Consent

\r\n

 

\r\n

By clicking “I Agree” below, you consent to terms of this Agreement.\r\n

\r\n
","import { Router } from '@angular/router';\r\nimport { Application } from '../models/application';\r\nimport { CurrentApplicationService } from '../services/current-application.service';\r\nimport { NavigationOptions } from '../models/navigation-options';\r\nimport { UtilitiesService } from '../services/utilities.service';\r\nimport { HistoryService } from '../services/history.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\nexport abstract class AbstractFormPage {\r\n application: Application;\r\n pageAlias: string;\r\n\r\n constructor(\r\n private currentAppSvc: CurrentApplicationService,\r\n public router: Router,\r\n protected utilities: UtilitiesService,\r\n private history: HistoryService,\r\n public notificationService: NotificationService) {}\r\n\r\n initPage() {\r\n this.currentAppSvc.getCurrentApplication('AbstractFormPage - initPage()').then((app) => {\r\n // tslint:disable-next-line: max-line-length\r\n // if app is not defined there is a security mismatch where the user is not allowed to see the requested app, redirect to landing page.\r\n if (!app || app.currentPage === '') {\r\n return this.router.navigate(['/apply']);\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n // trying to get to an invalid page for this application, or trying to get to a page past where the user has validated the app up to.\r\n this.application = app;\r\n if (this.pageNumber === -1) {\r\n this.application = null;\r\n return this.router.navigate(['/apply']);\r\n }\r\n if (app.currentPage) {\r\n if (this.pageNumber > NavigationOptions.GetPageIndexByAlias(app?.maxPageReached ?? app.currentPage, app, true)) {\r\n this.application = null;\r\n return this.router.navigate(['/apply']);\r\n }\r\n }\r\n\r\n if (this.history.isEmpty()) {\r\n if (this.pageNumber === 0) {\r\n this.history.init(this.router.url);\r\n } else {\r\n this.prePopulateHistory(app);\r\n }\r\n } else if (this.history.Count() == 1 && this.pageNumber !== 0) {\r\n this.prePopulateHistory(app);\r\n }\r\n this.afterInitPage();\r\n });\r\n }\r\n\r\n private prePopulateHistory(app: Application) {\r\n const currentPageIndex = NavigationOptions.GetPageIndexByAlias(app.currentPage, app, true);\r\n const visiblePages = NavigationOptions.AppPages(app, true);\r\n this.history.init(visiblePages[0].route);\r\n for (let i = 1; i <= currentPageIndex; i++) {\r\n this.history.forward(visiblePages[i].route);\r\n }\r\n }\r\n\r\n next(numberToMove?: number) {\r\n numberToMove = numberToMove || 1;\r\n const currentAlias = this.application.currentPage;\r\n const currentMaxPageReached = this.application.maxPageReached;\r\n const newPage = NavigationOptions.AppPages(this.application, true)[this.pageNumber + numberToMove];\r\n const newPageAlias = newPage.alias;\r\n this.application.currentPage = newPageAlias;\r\n this.application.maxPageReached = this.getMaxPageAlias(newPageAlias, this.application);\r\n\r\n this.save().then(success => {\r\n if (success) {\r\n this.history.forward(newPage.route);\r\n this.router.navigateByUrl(newPage.route);\r\n window.scrollTo(0, 0);\r\n } else {\r\n this.application.currentPage = currentAlias;\r\n this.application.maxPageReached = currentMaxPageReached;\r\n }\r\n }).catch(err => {\r\n this.application.currentPage = currentAlias;\r\n this.application.maxPageReached = currentMaxPageReached;\r\n });\r\n }\r\n\r\n back() {\r\n const currentAlias = this.application.currentPage;\r\n const prevPageRoute = this.history.back();\r\n const prevPage = NavigationOptions.AppPages(this.application, true).filter(r => r.route == prevPageRoute)[0];\r\n this.application.currentPage = prevPage.alias;\r\n this.save().then(success => {\r\n if (success) {\r\n this.router.navigateByUrl(prevPageRoute);\r\n } else {\r\n //roll back history change\r\n this.application.currentPage = currentAlias;\r\n const currPageRoute = NavigationOptions.AppPages(this.application, true).filter(r => r.alias == currPageRoute)[0].route;\r\n this.history.forward(currPageRoute);\r\n }\r\n });\r\n }\r\n\r\n save(): Promise {\r\n return this.application.save()\r\n .then(id => {\r\n this.currentAppSvc.setCurrentApplication(this.application);\r\n this.afterSave(id);\r\n return true;\r\n }, err => {\r\n this.notificationService.push({\r\n severity: 'error',\r\n summary: 'Failed to save application.',\r\n detail: err,\r\n });\r\n return false;\r\n })\r\n .catch((error) => {\r\n this.notificationService.push({\r\n severity: 'error',\r\n summary: 'Failed to save application.',\r\n detail: error,\r\n });\r\n return false;\r\n });\r\n }\r\n\r\n getMaxPageAlias(pageAlias: string, app: Application): string {\r\n const pageIndex = NavigationOptions.GetPageIndexByAlias(pageAlias, app, true);\r\n const maxIndex = NavigationOptions.GetPageIndexByAlias(this.application?.maxPageReached ?? '', app, true);\r\n\r\n return pageIndex > maxIndex ? pageAlias : this.application.maxPageReached;\r\n }\r\n\r\n get pageNumber() {\r\n return NavigationOptions.GetPageIndexByAlias(this.pageAlias, this.application, true);\r\n }\r\n\r\n toNumber(value) {\r\n return this.utilities.toNumber(value);\r\n }\r\n\r\n goToPage(path: string) {\r\n const newPage = NavigationOptions.AppPages(this.application, true).filter(p => p.route == path)[0];\r\n const newPageAlias = newPage.alias;\r\n this.application.currentPage = newPageAlias;\r\n this.application.maxPageReached = this.getMaxPageAlias(newPageAlias, this.application);\r\n this.history.forward(path);\r\n this.router.navigateByUrl(path);\r\n }\r\n\r\n get showBack() {\r\n return this.history.Count() > 1;\r\n }\r\n\r\n afterInitPage() {\r\n // virtual method to override\r\n }\r\n\r\n afterSave(id: number){\r\n // virtual method to override\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string): Promise{\r\n // virtual method to override\r\n throw console.error('validateSaveFunction not implemented.');\r\n }\r\n\r\n scrollToError() {\r\n const element: any = document.querySelector('.ng-invalid');\r\n if (element) {\r\n element.scrollIntoView();\r\n window.scrollBy(0, -100);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, AfterViewInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { Application } from '../../models/application';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { Router } from '@angular/router';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { NgModel, FormControl, FormGroup } from '@angular/forms';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { SimpleQuestion } from '../../models/wizard/simple-question';\r\nimport { Question } from '../../models/wizard/question';\r\nimport { WizardQuestionService } from '../../services/wizard-question-http.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-financial-information-balance-sheet-selection',\r\n template: `
\r\n \r\n
\r\n
\r\n

Financial Information - Balance Sheet

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
`,\r\n styleUrls: ['../styles_form.css']\r\n})\r\nexport class FinancialInformationBalanceSheetSelectionComponent extends AbstractFormPage {\r\n\r\n\r\n constructor(currentAppSvc: CurrentApplicationService, router: Router, utilities: UtilitiesService, history: HistoryService, notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'balancesheetSelection';\r\n this.initPage();\r\n }\r\n\r\n goToWizard() {\r\n this.goToPage('/financial-information-balance-sheet');\r\n }\r\n\r\n submit() {\r\n this.goToPage('/financial-information');\r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Financial Information - Balance Sheet

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n There are no questions currently configured for this wizard.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, AfterViewInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgModel } from '@angular/forms';\r\n\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { SimpleQuestion } from '../../models/wizard/simple-question';\r\nimport { Question } from '../../models/wizard/question';\r\nimport { WizardQuestionService } from '../../services/wizard-question-http.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { FinancialSummaryService } from '../../services/financial-summary.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-financial-information-balance-sheet',\r\n templateUrl: 'financial-information-balance-sheet.component.html',\r\n styleUrls: ['../styles_form.css'],\r\n providers: [WizardQuestionService]\r\n})\r\nexport class FinancialInformationBalanceSheetComponent extends AbstractFormPage implements AfterViewInit, OnInit {\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n\r\n form: TopForm = new TopForm();\r\n currentIndex = 0;\r\n review = false;\r\n editing = false;\r\n characters = [];\r\n historyService: HistoryService;\r\n\r\n questions: Question[];\r\n\r\n financesContainsErrorsCallback: () => boolean = null;\r\n\r\n ngAfterViewInit() {\r\n this.inputChildren.forEach((item) => {\r\n this.form.addControl(item.name, item.control);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.financialSummaryService.ContainsErrorsMethod.subscribe({\r\n next: (f) => { this.financesContainsErrorsCallback = f; }\r\n });\r\n }\r\n\r\n constructor(\r\n currentAppSvc: CurrentApplicationService,\r\n router: Router,\r\n utilities: UtilitiesService,\r\n history: HistoryService,\r\n notificationService: NotificationService,\r\n private wizardService: WizardQuestionService,\r\n private financialSummaryService: FinancialSummaryService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.historyService = history;\r\n this.pageAlias = 'balancesheet';\r\n this.initPage();\r\n }\r\n\r\n afterInitPage() {\r\n this.characters = this.getCharacters();\r\n if (!this.application.balanceSheet.questions) {\r\n this.wizardService.getQuestions().then(questions => {\r\n this.questions = questions;\r\n })\r\n .catch((err) => { });\r\n } else {\r\n this.questions = this.application.balanceSheet.questions;\r\n const index = this.application.balanceSheet.getCurrentWizardIndex();\r\n if (index === -1) {\r\n this.review = true;\r\n this.currentIndex = this.questions.length;\r\n }\r\n }\r\n }\r\n\r\n getCharacters(): string[] {\r\n const characters = this.application.borrowers.map((person) => person.fullName.toString());\r\n if (this.application.entity && this.application.entity.legalName) {\r\n characters.push(this.application.entity.legalName);\r\n }\r\n return characters;\r\n }\r\n\r\n get currentIsSimple(): boolean {\r\n return this.questionIsSimple(this.currentQuestion);\r\n }\r\n\r\n questionIsSimple(question: Question): boolean {\r\n return question instanceof SimpleQuestion;\r\n }\r\n\r\n get currentQuestion(): Question {\r\n return this.questions[this.currentIndex];\r\n }\r\n\r\n get financesContainErrors(): boolean {\r\n return this.financesContainsErrorsCallback && this.financesContainsErrorsCallback();\r\n }\r\n\r\n nextQuestion() {\r\n this.form.updateValueAndValidity();\r\n this.form.submitted = true;\r\n if (this.form.valid) {\r\n this.application.balanceSheet.questions = this.questions;\r\n this.application.save();\r\n\r\n if (this.editing) {\r\n this.currentIndex = this.questions.length - 1;\r\n this.editing = false;\r\n this.review = true;\r\n } else if (this.questions.length > (this.currentIndex + 1)) {\r\n this.form.submitted = false;\r\n this.currentIndex++;\r\n } else {\r\n this.review = true;\r\n this.currentIndex++;\r\n }\r\n } else {\r\n this.scrollToError();\r\n }\r\n }\r\n\r\n navigateWizard(index: number) {\r\n this.editing = true;\r\n this.review = false;\r\n this.currentIndex = +index;\r\n }\r\n\r\n submit() {\r\n this.application.balanceSheet.convertWizardAnswersToAppData();\r\n if (!this.financesContainErrors) {\r\n this.next();\r\n }\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string) {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n comp.application.balanceSheet.convertWizardAnswersToAppData();\r\n if (!comp.financesContainErrors) {\r\n comp.application.currentPage = newPageAlias;\r\n resolve(comp.save());\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n\r\n wizardBack() {\r\n // flow hard...\r\n if (this.review || this.currentIndex === 0) {\r\n if (this.historyService.isEmpty()) {\r\n this.router.navigate(['/financial-information-balance-sheet-selection']);\r\n } else {\r\n this.back();\r\n }\r\n } else {\r\n // remove current form controls from formapi\r\n for (const c in this.form.controls) {\r\n if (c.split('_')[1] === this.currentIndex.toString()) {\r\n this.form.removeControl(c);\r\n }\r\n }\r\n this.form.submitted = false;\r\n this.currentIndex--;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Financial Information - Balance Sheet

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
0\"\r\n class=\"error ng-invalid\">Your balance sheet requires a date.
\r\n
The date must be more recent than\r\n {{minDate | date}}.
\r\n
You may not select a date in the\r\n future.
\r\n
\r\n

Total Assets

\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n \r\n An amount is required\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n An amount is required\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n An amount is required\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
    \r\n
  • \r\n
\r\n
\r\n {{application.balanceSheet.totalAssets | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
\r\n\r\n
\r\n

Total Liabilities

\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n \r\n An amount is required\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n An amount is required\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n An amount is required\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
    \r\n
  • \r\n
\r\n
\r\n {{application.balanceSheet.totalLiabilities | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
\r\n
\r\n

Net Worth

\r\n
    \r\n
  • \r\n \r\n
    {{application.balanceSheet.totalAssets | currency:'USD':'symbol':'1.2-2'}}\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n {{application.balanceSheet.totalLiabilities | currency:'USD':'symbol':'1.2-2'}}\r\n
    \r\n
  • \r\n
\r\n
\r\n = 0\"\r\n [class.red]=\"application.balanceSheet.totalEquity < 0\">{{application.balanceSheet.totalEquity | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n
\r\n
\r\n

Total Income

\r\n
    \r\n
  • \r\n \r\n
    {{application.income.grossCropIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n {{application.income.grossLivestockIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    {{application.income.otherFarmIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
    \r\n
  • \r\n
\r\n
\r\n {{application.income.totalFarmIncome | currency:'USD':'symbol':'1.2-2'}}\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport * as moment from 'moment';\r\n\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport numberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { totalIncomeMaxNLS, FinancialValidation } from '../financial-validation';\r\nimport { validateNumberFactory } from '../validation/number-validator.directive';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-financial-information',\r\n templateUrl: 'financial-information.component.html',\r\n styleUrls: ['../styles_form.css', 'financial-table.css']\r\n})\r\nexport class FinancialInformationComponent extends AbstractFormPage implements OnInit {\r\n\r\n constructor(currentAppSvc: CurrentApplicationService, router: Router, utilities: UtilitiesService, history: HistoryService, notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'financial';\r\n this.initPage();\r\n }\r\n\r\n public get totalAssetsInvalid(): boolean {\r\n return this.application.balanceSheet.totalAssets > this.totalIncomeMax;\r\n }\r\n\r\n public get totalLiabilitiesInvalid(): boolean {\r\n return this.application.balanceSheet.totalLiabilities > this.totalIncomeMax;\r\n }\r\n\r\n public get totalFarmIncomeInvalid(): boolean {\r\n return this.application.income.totalFarmIncome > this.totalIncomeMax;\r\n }\r\n form: TopForm = new TopForm();\r\n currentAssets: FormControl;\r\n termAssets: FormControl;\r\n currentLiabilities: FormControl;\r\n termLiabilities: FormControl;\r\n intermediateAssets: FormControl;\r\n intermediateLiabilities: FormControl;\r\n creationDate: FormControl;\r\n minBalanceSheetDate: moment.Moment;\r\n minDateError = false;\r\n maxDateError = false;\r\n minDate: Date = new Date(this.getMinimumBalanceSheetDate()['_d']);\r\n financialValidation: FinancialValidation = new FinancialValidation();\r\n totalIncomeMax: number = totalIncomeMaxNLS;\r\n\r\n mask = numberMask({\r\n prefix: '$',\r\n includeThousandsSeperator: true,\r\n allowDecimal: true,\r\n });\r\n\r\n ngOnInit() {\r\n this.currentAssets = new FormControl(\r\n '',\r\n [Validators.required, validateNumberFactory(false, 2, 0, totalIncomeMaxNLS, this.utilities)]);\r\n this.termAssets = new FormControl('', [Validators.required, validateNumberFactory(false, 2, 0, totalIncomeMaxNLS, this.utilities)]);\r\n this.currentLiabilities = new FormControl(\r\n '',\r\n [Validators.required, validateNumberFactory(false, 2, 0, totalIncomeMaxNLS, this.utilities)]);\r\n this.termLiabilities = new FormControl(\r\n '',\r\n [Validators.required, validateNumberFactory(false, 2, 0, totalIncomeMaxNLS, this.utilities)]);\r\n this.intermediateAssets = new FormControl(\r\n '',\r\n [Validators.required, validateNumberFactory(false, 2, 0, totalIncomeMaxNLS, this.utilities)]);\r\n this.intermediateLiabilities = new FormControl(\r\n '',\r\n [Validators.required, validateNumberFactory(false, 2, 0, totalIncomeMaxNLS, this.utilities)]);\r\n this.creationDate = new FormControl('', []);\r\n this.form.addControl('currentAssets', this.currentAssets);\r\n this.form.addControl('termAssets', this.termAssets);\r\n this.form.addControl('currentLiabilities', this.currentLiabilities);\r\n this.form.addControl('termLiabilities', this.termLiabilities);\r\n this.form.addControl('intermediateLiabilities', this.intermediateLiabilities);\r\n this.form.addControl('intermediateAssets', this.intermediateAssets);\r\n this.form.addControl('creationDate', this.creationDate);\r\n this.minBalanceSheetDate = this.getMinimumBalanceSheetDate();\r\n }\r\n\r\n getMinimumBalanceSheetDate(): moment.Moment {\r\n let minimumBalanceSheetDate = moment().subtract(6, 'month');\r\n const startOfYear = this.getStartOfFiscalYear();\r\n if (startOfYear < minimumBalanceSheetDate) {\r\n minimumBalanceSheetDate = startOfYear;\r\n }\r\n return minimumBalanceSheetDate;\r\n }\r\n\r\n getStartOfFiscalYear(): moment.Moment {\r\n const startOfYear = moment().month(11).date(1);\r\n if (startOfYear > moment()) {\r\n startOfYear.year(startOfYear.year() - 1);\r\n }\r\n return startOfYear;\r\n }\r\n\r\n checkDateAge() {\r\n this.minDateError = this.application.balanceSheet.creationDate < new Date(this.minDate.toDateString());\r\n this.maxDateError = this.application.balanceSheet.creationDate > new Date();\r\n }\r\n\r\n isValidForm(){\r\n this.form.updateValueAndValidity();\r\n this.form.submitted = true;\r\n\r\n const noDateError = (!this.application.balanceSheet.creationDate && this.application.balanceSheet.totalEquity > 0);\r\n const totalsOutsideOfRange = this.totalAssetsInvalid || this.totalLiabilitiesInvalid || this.totalFarmIncomeInvalid;\r\n\r\n if (this.minDateError || this.maxDateError || noDateError) {\r\n window.scrollTo(0, 0);\r\n return false;\r\n } else {\r\n if (this.form.valid && !totalsOutsideOfRange) {\r\n return true;\r\n } else {\r\n this.scrollToError();\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n submit() {\r\n if (this.isValidForm()) {\r\n this.next();\r\n }\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string) {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n if (comp.isValidForm()) {\r\n comp.application.currentPage = newPageAlias;\r\n resolve(comp.save());\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n\r\n updateNetWorth() {\r\n // setTimeout(() => {\r\n // this.form.controls['Date of Balance Sheet'].updateValueAndValidity();\r\n // });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n

{{financial.type}}

\r\n
    \r\n
  • \r\n
    0\">\r\n

    {{category.title}}

    \r\n
      \r\n
    • \r\n \r\n {{question.values[selected.index] | currency:'USD':'symbol':'1.2-2'}}\r\n {{sum(question.values) | currency:'USD':'symbol':'1.2-2'}}\r\n
    • \r\n
    \r\n {{(category.total[selected.index] || 0) | currency:'USD':'symbol':'1.2-2'}}\r\n {{(sum(category.total) || 0) | currency:'USD':'symbol':'1.2-2'}}\r\n
    \r\n
  • \r\n
\r\n
\r\n \r\n {{(financial.total[selected.index] || 0) | currency:'USD':'symbol':'1.2-2'}}
\r\n Amount must be\r\n less than {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
\r\n
\r\n \r\n {{(sum(financial.total) || 0) | currency:'USD':'symbol':'1.2-2'}}
\r\n Amount must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Net Worth

\r\n
    \r\n
  • \r\n \r\n {{totalAssets() | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{totalLiabilities() | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n \r\n = 0\"\r\n [class.red]=\"netWorth() < 0\">{{netWorth() | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n
\r\n\r\n
\r\n

Total Income

\r\n
    \r\n
  • \r\n \r\n {{application.income.grossCropIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.income.grossLivestockIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.income.otherFarmIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n \r\n {{application.income.totalFarmIncome | currency:'USD':'symbol':'1.2-2'}}\r\n Amount must be less\r\n than {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import {\r\n Component, OnInit, Input, Output,\r\n EventEmitter, OnDestroy\r\n} from '@angular/core';\r\n\r\nimport { Question } from '../../models/wizard/question';\r\nimport { Finances } from '../../models/finances';\r\nimport { SimpleQuestion } from '../../models/wizard/simple-question';\r\nimport { ComplexQuestion } from '../../models/wizard/complex-question';\r\nimport { totalIncomeMaxNLS } from '../financial-validation';\r\nimport { FinancialSummaryService } from '../../services/financial-summary.service';\r\n\r\n@Component({\r\n selector: 'gol-financial-summary',\r\n templateUrl: 'financial-summary.component.html',\r\n styleUrls: ['financial-summary.component.css'],\r\n})\r\nexport class FinancialSummaryComponent implements OnInit, OnDestroy {\r\n selected: any = {};\r\n finances: Finances;\r\n @Input()\r\n application;\r\n @Input()\r\n characters: string[];\r\n @Input()\r\n questions: Question[];\r\n @Output()\r\n navigateWizard = new EventEmitter();\r\n\r\n public totalIncomeMax: number = totalIncomeMaxNLS;\r\n\r\n constructor(private financialSummaryService: FinancialSummaryService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.characters && this.characters.length > 0) {\r\n if (this.characters.length === 1) {\r\n this.selected.index = 0;\r\n this.selected.character = this.characters[0];\r\n } else {\r\n this.selected.index = -1;\r\n }\r\n\r\n this.finances = this.transform(this.questions);\r\n\r\n this.financialSummaryService.setContainsErrorsMethod(() => {\r\n return this.financesOutsideOfMax(this.totalAssets())\r\n || this.financesOutsideOfMax(this.totalLiabilities())\r\n || this.financesOutsideOfMax(this.application.income.totalFarmIncome);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.financialSummaryService.setContainsErrorsMethod(null);\r\n }\r\n\r\n selectCharacter(character: string) {\r\n this.selected.index = this.characters.indexOf(character);\r\n this.selected.character = character;\r\n }\r\n\r\n financesOutsideOfMax(total: number): boolean {\r\n return total > totalIncomeMaxNLS;\r\n }\r\n\r\n sum(values: number[]): number {\r\n return values.reduce((prev, curr) => prev + curr, 0);\r\n }\r\n\r\n selectQuestion(index: number) {\r\n this.navigateWizard.emit(index);\r\n }\r\n\r\n totalAssets() {\r\n return this.sum(this.finances.assets.total) | 0;\r\n }\r\n\r\n totalLiabilities() {\r\n return this.sum(this.finances.liabilities.total) | 0;\r\n }\r\n\r\n netWorth() {\r\n return this.totalAssets() - this.totalLiabilities();\r\n }\r\n\r\n transform(questions): Finances {\r\n this.finances = new Finances();\r\n\r\n if (questions) {\r\n for (let index = 0; index <= questions.length - 1; index++) {\r\n const question: Question = questions[index];\r\n\r\n if (question instanceof SimpleQuestion) {\r\n this.finances[question.fieldType.toLowerCase()].addQuestion(+index,\r\n question.length,\r\n question.description,\r\n question.values);\r\n } else if (question instanceof ComplexQuestion) {\r\n this.finances.assets.addQuestion(+index, question.length, question.description, question.assets);\r\n this.finances.liabilities.addQuestion(+index, 'shortTerm', question.description, question['shortTermLiability']);\r\n const values: number[] = question.totalLiability.map((total, i) => total - question['shortTermLiability'][i]);\r\n this.finances.liabilities.addQuestion(+index, question.length, question.description, values);\r\n }\r\n }\r\n }\r\n\r\n return this.finances;\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Social Security Number is invalid. Must be in\r\n the format: 123-45-6789.

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Email is invalid

\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n

A date is required

\r\n

That is not a valid date

\r\n

Please select a date after {{dob.errors['precedesMin'].toDateString()}}\r\n

\r\n

Please select a date before {{dob.errors['exceedsMax'].toDateString()}}\r\n

\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
%
\r\n
\r\n

Required

\r\n

\r\n Ownership percentage must be between 0 and 100, with up to 2 decimal places\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n

A date is required

\r\n

That is not a valid date

\r\n

Please select a date after\r\n {{filingDate.errors['precedesMin'].toDateString()}}

\r\n

Please select a date before\r\n {{filingDate.errors['exceedsMax'].toDateString()}}

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

A date is required

\r\n

That is not a valid date

\r\n

Please select a date after\r\n {{dischargeDate.errors['precedesMin'].toDateString()}}

\r\n

Please select a date before\r\n {{dischargeDate.errors['exceedsMax'].toDateString()}}

\r\n
\r\n
\r\n
","import { Component, Input, AfterViewInit, ViewChildren, OnInit } from '@angular/core';\r\nimport { Person } from '../../models/person';\r\nimport { NgForm, NgModel, FormGroup } from '@angular/forms';\r\nimport { hundredWithDecimalMask } from '../validation/custom-masks';\r\nimport * as moment from 'moment';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { USA } from '../../models/constants';\r\n\r\n@Component({\r\n selector: 'gol-borrower-detail',\r\n templateUrl: 'borrower-detail.component.html',\r\n styles: [`\r\n .postfix {\r\n float: right;\r\n margin-top:-30px;\r\n padding-right:5px;\r\n }`]\r\n\r\n})\r\nexport class BorrowerDetailComponent implements OnInit, AfterViewInit {\r\n\r\n constructor(utilities: UtilitiesService, private lookupService: LookupService) {\r\n this._utilities = utilities;\r\n }\r\n _utilities: UtilitiesService;\r\n\r\n citizenshipCountries: string[] = null;\r\n addressCountries: string[] = null;\r\n\r\n @ViewChildren(NgModel) inputChildren;\r\n\r\n @Input() form: NgForm;\r\n @Input() group: FormGroup;\r\n\r\n ssnMask = [/\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n hundredMask = hundredWithDecimalMask;\r\n\r\n\r\n @Input() showOwnership: boolean;\r\n @Input() borrower: Person;\r\n\r\n maxDob: Date = moment().subtract(18, 'years').toDate();\r\n minDob: Date = new Date(1880, 0, 1);\r\n today: Date = moment().toDate();\r\n\r\n ngOnInit() {\r\n if (this.borrower.phoneNumber) {\r\n this.borrower.phoneNumber = this._utilities.formatPhoneNumber(this.borrower.phoneNumber);\r\n }\r\n\r\n this.lookupService.getCitizenshipCountriesExceptUSA()\r\n .then(resolve => {\r\n this.citizenshipCountries = [''].concat(resolve);\r\n });\r\n\r\n this.lookupService.getPermanentResidenceCountries()\r\n .then(resolve => {\r\n this.addressCountries = [''].concat(resolve);\r\n });\r\n\r\n this.setBorrowerCitizenshipToUS();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.inputChildren.forEach((item) => {\r\n this.group.addControl(item.name, item.control);\r\n });\r\n }\r\n\r\n isCitizen() {\r\n return this.borrower.isUSCitizen === true;\r\n }\r\n\r\n isBankruptcy() {\r\n return this.borrower.hasBankruptcy === true;\r\n }\r\n\r\n changeCitizen(value) {\r\n this.borrower.isUSCitizen = (value === 'true');\r\n if (this.borrower.isUSCitizen) {\r\n this.group.removeControl('citizenshipCountry');\r\n this.group.removeControl('permanentres');\r\n this.setBorrowerCitizenshipToUS();\r\n this.changeResident('true');\r\n } else {\r\n this.reAddConditionalControls();\r\n }\r\n }\r\n\r\n setBorrowerCitizenshipToUS() {\r\n this.borrower.countryOfCitizenship = USA;\r\n }\r\n\r\n changeBankruptcy(value) {\r\n this.borrower.hasBankruptcy = (value === 'true');\r\n if (this.borrower.hasBankruptcy) {\r\n this.reAddConditionalControls();\r\n } else {\r\n this.group.removeControl('filingDate');\r\n this.group.removeControl('dischargeDate');\r\n }\r\n }\r\n\r\n changeResident(value) {\r\n this.borrower.isPermanentResident = (value === 'true');\r\n }\r\n\r\n reAddConditionalControls() {\r\n setTimeout(() => {\r\n this.inputChildren.forEach((item) => {\r\n if (!this.group.contains(item.name)) {\r\n this.group.addControl(item.name, item.control);\r\n }\r\n });\r\n });\r\n }\r\n}","
\r\n \r\n

\r\n Pre-Screened Offer Acceptance\r\n

\r\n
\r\n
\r\n

Borrower Information

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n (new)\r\n {{b.fullName.firstName}} {{b.fullName.lastName}}\r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Total borrower ownership exceeds 100%\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n You have changed the values associated with your pre-screen offer. Please click “Restore Defaults” if you\r\n wish to continue with the pre-screen offer. If you would simply like to start a new application, which would\r\n not be processed under the pre-screen offer, please click “Proceed” and you can begin the new application\r\n process.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { ApplicationType } from '../../models/application-type';\r\nimport { Person } from '../../models/person';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { ChangeLogService } from '../../services/changelog.service';\r\nimport { ChangeLogModel } from '../../../app/models/changelog';\r\nimport { UserService } from '../../services/user.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-borrower-information',\r\n templateUrl: 'borrower-information.component.html',\r\n styleUrls: ['../styles_form.css']\r\n})\r\n\r\nexport class BorrowerInformationComponent extends AbstractFormPage {\r\n isOpen: boolean[];\r\n accordionMap: number[];\r\n formGroups: FormGroup[];\r\n form: TopForm;\r\n showModal: boolean;\r\n preApproved = false;\r\n changeLogSvc: ChangeLogService;\r\n userService: UserService;\r\n containerClass: string;\r\n pendingChangelogs: ChangeLogModel[] = [];\r\n\r\n constructor(currentAppSvc: CurrentApplicationService, router: Router,\r\n utilities: UtilitiesService, history: HistoryService,\r\n changeLogService: ChangeLogService, userSvc: UserService, notificationService: NotificationService) {\r\n\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n\r\n this.changeLogSvc = changeLogService;\r\n this.userService = userSvc;\r\n this.pageAlias = 'borrower';\r\n this.isOpen = [];\r\n this.formGroups = [];\r\n this.accordionMap = [];\r\n this.containerClass = '';\r\n this.initPage();\r\n }\r\n\r\n afterInitPage() {\r\n this.form = new TopForm();\r\n if (this.application.borrowers.length === 0) {\r\n this.add();\r\n } else {\r\n let opened = false;\r\n for (let i = 0; i < this.application.borrowers.length; ++i) {\r\n if (!opened &&\r\n (!this.application.borrowers[i].fullName.firstName ||\r\n !this.application.borrowers[i].fullName.lastName)) {\r\n opened = true;\r\n this.isOpen.push(true);\r\n } else {\r\n this.isOpen.push(false);\r\n }\r\n this.accordionMap.push(i);\r\n const group = new FormGroup({});\r\n this.formGroups.push(group);\r\n this.form.addControl(this.accordionMap.length.toString(), group);\r\n }\r\n }\r\n\r\n if (this.application.preApprovalStagingId > 0) {\r\n this.SetPreApprovalStatus(true);\r\n this.isOpen[0] = true;\r\n }\r\n }\r\n\r\n setClass(isSubmitted: boolean, index: number): string {\r\n if (!this.containerClass) {\r\n if (isSubmitted && !(this.formGroups[index] && this.formGroups[index].valid)) {\r\n this.containerClass = 'error';\r\n }\r\n if (!(this.formGroups[index] && this.formGroups[index].valid) && !this.isOpen[index]) {\r\n this.containerClass = 'ng-invalid';\r\n }\r\n }\r\n return this.containerClass;\r\n }\r\n\r\n add() {\r\n this.form.submitted = false;\r\n const borrower = new Person();\r\n borrower.isUSCitizen = true;\r\n this.application.borrowers.push(borrower);\r\n this.closeAllTabs();\r\n this.accordionMap.push(this.isOpen.length);\r\n this.isOpen.push(true);\r\n const group = new FormGroup({});\r\n this.formGroups.push(group);\r\n this.form.addControl(this.accordionMap.length.toString(), group);\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n delete(i: number, e: MouseEvent) {\r\n this.application.borrowers.splice(i, 1);\r\n this.isOpen.splice(i, 1);\r\n this.formGroups.splice(i, 1);\r\n let found = null;\r\n this.accordionMap = this.accordionMap.map((mapping, idx) => {\r\n if (mapping === i) {\r\n found = true;\r\n this.form.removeControl((idx + 1).toString());\r\n return -1;\r\n } else {\r\n return found ? mapping - 1 : mapping;\r\n }\r\n });\r\n e.preventDefault();\r\n\r\n if (this.application.borrowers.length === 0) {\r\n this.add();\r\n }\r\n }\r\n\r\n tabOpen(e) {\r\n this.isOpen[this.accordionMap[e.index]] = true;\r\n }\r\n\r\n tabClose(e) {\r\n this.isOpen[this.accordionMap[e.index]] = false;\r\n }\r\n\r\n private closeAllTabs() {\r\n for (let i = 0; i < this.isOpen.length; ++i) {\r\n this.isOpen[i] = false;\r\n }\r\n }\r\n\r\n hasNonWhitespace(s) {\r\n return /[^\\s]/g.test(s);\r\n }\r\n\r\n showDisplayName(borrower: Person): boolean {\r\n return this.hasNonWhitespace(borrower.fullName);\r\n }\r\n\r\n previous() {\r\n if (this.isValidForm()) {\r\n this.back();\r\n }\r\n }\r\n\r\n submit() {\r\n this.form.updateValueAndValidity();\r\n this.form.submitted = true;\r\n\r\n // tslint:disable-next-line: forin\r\n for (const index in this.form.controls) {\r\n const discharge = this.form.controls[index].get('dischargeDate');\r\n if (discharge) {\r\n discharge.updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (this.application.preApprovalStagingId > 0 && !this.comparePreApprovalData()) {\r\n this.showModal = true;\r\n return;\r\n }\r\n\r\n if (this.form.valid && !this.invalidTotalOwnership()) {\r\n this.next(1);\r\n } else {\r\n this.scrollToError();\r\n }\r\n }\r\n\r\n isValidForm() {\r\n const comp = this;\r\n\r\n comp.form.updateValueAndValidity();\r\n comp.form.submitted = true;\r\n\r\n // tslint:disable-next-line: forin\r\n for (const index in comp.form.controls) {\r\n const discharge = comp.form.controls[index].get('dischargeDate');\r\n if (discharge) {\r\n discharge.updateValueAndValidity();\r\n }\r\n }\r\n if (comp.application.preApprovalStagingId > 0 && !comp.comparePreApprovalData()) {\r\n comp.showModal = true;\r\n return false;\r\n }\r\n\r\n if (comp.form.valid && !comp.invalidTotalOwnership()) {\r\n return true;\r\n } else {\r\n comp.scrollToError();\r\n return false;\r\n }\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n if (comp.isValidForm()) {\r\n comp.application.currentPage = newPageAlias;\r\n try {\r\n resolve(comp.save());\r\n } catch (err) {\r\n reject(false);\r\n }\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n\r\n afterSave(id): void {\r\n if(this.pendingChangelogs.length > 0){\r\n const myUser = this.userService.GetUser();\r\n this.pendingChangelogs.forEach(log => {\r\n log.RefValue = `${id}`;\r\n log.ChangedBy = myUser && myUser.email ? myUser.email : 'Unknown';\r\n this.changeLogSvc.saveChangeLog(log);\r\n });\r\n this.pendingChangelogs = [];\r\n }\r\n }\r\n\r\n invalidTotalOwnership() {\r\n if (!this.isEntityApplication()) {\r\n return false;\r\n }\r\n const ownerPercent = this.application.borrowerOwnership();\r\n return (ownerPercent > 100);\r\n }\r\n\r\n isEntityApplication() {\r\n return this.application.appType === ApplicationType.Entity;\r\n }\r\n\r\n viewModal() {\r\n this.showModal = true;\r\n }\r\n\r\n comparePreApprovalData(): boolean {\r\n const borrowerFullName = this.application.borrowers[0].fullName;\r\n const borrowerMailingAddress = this.application.borrowers[0].mailingAddress;\r\n const defaultName = this.application.preApprovalBorrower?.fullName;\r\n let defaultAddress = this.application.preApprovalBorrower?.mailingAddress;\r\n\r\n if (borrowerFullName.lastName !== defaultName?.lastName) {\r\n return false;\r\n } else {\r\n //check allowed changes and log for auditing\r\n if (borrowerFullName.firstName !== defaultName.firstName) {\r\n this.generateChangeLog('FirstName', defaultName.firstName, borrowerFullName.firstName);\r\n defaultName.firstName = borrowerFullName.firstName;\r\n }\r\n if (borrowerFullName.middleName !== defaultName.middleName) {\r\n this.generateChangeLog('MiddleName', defaultName.middleName, borrowerFullName.middleName);\r\n defaultName.middleName = borrowerFullName.middleName;\r\n }\r\n if (borrowerFullName.suffix !== defaultName.suffix) {\r\n this.generateChangeLog('Suffix', defaultName.suffix, borrowerFullName.suffix);\r\n defaultName.suffix = borrowerFullName.suffix;\r\n }\r\n if (defaultAddress.toString() !== borrowerMailingAddress.toString()) {\r\n this.generateChangeLog(\"Address\", defaultAddress.toString(), borrowerMailingAddress.toString());\r\n defaultAddress = borrowerMailingAddress;\r\n }\r\n\r\n return true;\r\n }\r\n }\r\n\r\n generateChangeLog(fieldName: string, oldValue: string, newValue: string){\r\n \r\n let log = new ChangeLogModel();\r\n log.Form='PreApproval';\r\n let myUser = this.userService.GetUser();\r\n log.ChangedBy = myUser && myUser.email ? myUser.email : 'Unknown';\r\n log.RefType = 'ApplicationId';\r\n log.RefValue = this.application.id;\r\n log.FieldName = fieldName;\r\n log.OldValue = oldValue;\r\n log.NewValue = newValue;\r\n if (!log.RefValue || log.RefValue === '0'){\r\n this.pendingChangelogs.push(log);\r\n }else{\r\n this.changeLogSvc.saveChangeLog(log);\r\n }\r\n }\r\n\r\n restorePreApprovalDefaults() {\r\n if (this.application.borrowers.length === 0) {\r\n this.add();\r\n }\r\n const borrower = this.application.borrowers[0];\r\n const defaults = this.application.preApprovalBorrower;\r\n\r\n borrower.fullName.firstName = defaults.fullName.firstName;\r\n borrower.fullName.lastName = defaults.fullName.lastName;\r\n borrower.fullName.middleName = defaults.fullName.middleName;\r\n borrower.fullName.suffix = defaults.fullName.suffix;\r\n\r\n borrower.mailingAddress.city = defaults.mailingAddress.city;\r\n borrower.mailingAddress.line1 = defaults.mailingAddress.line1;\r\n borrower.mailingAddress.line2 = defaults.mailingAddress.line2;\r\n borrower.mailingAddress.state = defaults.mailingAddress.state;\r\n borrower.mailingAddress.zipcode = defaults.mailingAddress.zipcode;\r\n borrower.physicalAddress = this.application.preApprovalBorrower.mailingAddress;\r\n borrower.physicalAddress.isPhysicalAddress();\r\n\r\n this.SetPreApprovalStatus(true);\r\n this.showModal = false;\r\n }\r\n\r\n ProceedWithoutPreApproval() {\r\n this.application.preApprovalStagingId = null;\r\n this.SetPreApprovalStatus(false);\r\n this.submit();\r\n }\r\n\r\n SetPreApprovalStatus(status: boolean) {\r\n this.preApproved = status;\r\n this.application.borrowers[0].isPreApproved = this.preApproved;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{status.title}}

\r\n

{{status.message}}

\r\n \r\n \r\n
\r\n
\r\n \r\n Make changes and resubmit\r\n
\r\n
\r\n \r\n Print and mail your application\r\n
\r\n
\r\n \r\n Start a new application\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Printing Instructions\r\n \r\n
\r\n
    \r\n
  1. Click to print your filled in\r\n application
  2. \r\n
  3. Review and sign the document in the appropriate locations
  4. \r\n
  5. Fax, email or mail your application to:\r\n
      \r\n
    • \r\n Fax:\r\n
      (866) 349-3139
      \r\n
    • \r\n
    • \r\n Email:\r\n
      QuickLink@RaboAg.com
      \r\n
    • \r\n
    • \r\n Mail:\r\n
      \r\n Rabo AgriFinance
      \r\n 1402 Technology Parkway
      \r\n Cedar Falls, IA 50613\r\n
      \r\n
    • \r\n
    \r\n
  6. \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ApplicationHttpService } from '../../services/application-http.service';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { NavigationOptions } from '../../models/navigation-options';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\nclass Status {\r\n title: string;\r\n message: string;\r\n}\r\n\r\n@Component({\r\n selector: 'gol-confirmation',\r\n templateUrl: 'confirmation.component.html',\r\n styleUrls: ['../styles_form.css', 'confirmation.component.css']\r\n})\r\nexport class ConfirmationComponent extends AbstractFormPage implements OnInit {\r\n status: Status;\r\n showContinue = false;\r\n showPrintDialog = false;\r\n currentAppSrvc: CurrentApplicationService;\r\n\r\n constructor(currentAppSvc: CurrentApplicationService,\r\n router: Router,\r\n utilities: UtilitiesService,\r\n history: HistoryService,\r\n private applicationService: ApplicationHttpService, notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'confirmation';\r\n this.initPage();\r\n this.currentAppSrvc = currentAppSvc;\r\n }\r\n\r\n ngOnInit() {\r\n const eventQP = this.router.parseUrl(this.router.url).queryParams['event'];\r\n this.status = new Status();\r\n\r\n if (eventQP === 'signing_complete') {\r\n this.status.title = 'Complete';\r\n this.status.message = 'Thank you for completing your application! We will get back to you as soon as possible.';\r\n } else if (eventQP === 'id_check_failed') {\r\n this.showContinue = true;\r\n this.status.title = 'ID Check';\r\n this.status.message = 'Sorry, your application was cancelled due to an ID check failure.';\r\n } else {\r\n this.showContinue = true;\r\n this.status.title = 'Cancelled';\r\n this.status.message = 'Your application was cancelled. You can:';\r\n }\r\n }\r\n\r\n continueCurrentApp() {\r\n this.applicationService.editSigningApplication(this.application).then((app) => {\r\n this.currentAppSrvc.setCurrentApplication(app);\r\n this.router.navigate([NavigationOptions.GetStartPage(app)]);\r\n });\r\n }\r\n\r\n createNew() {\r\n this.currentAppSrvc.setCurrentApplication(null);\r\n this.router.navigate(['/apply']);\r\n }\r\n\r\n printApp() {\r\n this.application.print();\r\n this.closePrintDialog();\r\n }\r\n\r\n openPrintDialog() {\r\n this.showPrintDialog = true;\r\n }\r\n\r\n closePrintDialog() {\r\n this.showPrintDialog = false;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { SurveyQuestionService } from '../../services/survey-questions-http.service';\r\nimport { SurveyQuestion } from '../../models/survey-question';\r\nconst SHOW_SUBMITTED_TIME = 8000;\r\n\r\n@Component({\r\n selector: 'gol-survey-component',\r\n template: `\r\n
\r\n

{{Title}}

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ThankYou}}

\r\n
\r\n `,\r\n styleUrls: ['survey.component.css'],\r\n providers: [SurveyQuestionService]\r\n})\r\nexport class SurveyComponent implements OnInit {\r\n questions: SurveyQuestion[];\r\n showSubmitted = false;\r\n @Input() Title = 'Please take a moment and let us know how we can make your experience better.';\r\n @Input() ThankYou = 'Thank you. Your survey questions have been submitted.';\r\n @Output() surveySubmit: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit() {\r\n this.surveyService.getQuestions().then((questions) => {\r\n this.questions = questions;\r\n });\r\n }\r\n\r\n constructor(private surveyService: SurveyQuestionService) { }\r\n\r\n submit() {\r\n this.surveyService.submitQuestions(this.questions);\r\n this.showSubmitted = true;\r\n // setTimeout(() => this.showSubmitted = false, SHOW_SUBMITTED_TIME);\r\n this.surveySubmit.emit(null);\r\n\r\n }\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\nexport class DoingBusinessAsItem {\r\n control: FormControl;\r\n name: string;\r\n}\r\n","
\r\n \r\n If your entity uses any trade names or does business under any other names, please list them here.\r\n \r\n
\r\n
\r\n
\r\n \r\n
Required\r\n
\r\n
\r\n
\r\n Remove\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, AfterViewInit, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { TopForm } from '../../top-form';\r\nimport { Application } from '../../../models/application';\r\nimport { DoingBusinessAsItem } from './doing-business-as-item';\r\n\r\n@Component({\r\n selector: 'gol-doing-business-as',\r\n templateUrl: './doing-business-as.component.html',\r\n styleUrls: ['./doing-business-as.styles.css']\r\n})\r\nexport class DoingBusinessAsComponent implements AfterViewInit {\r\n\r\n @Input() application: Application;\r\n @Input() form: TopForm;\r\n dbaFormGroup: FormGroup;\r\n dbas: DoingBusinessAsItem[] = [];\r\n uniqueIndex = 0;\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) { }\r\n\r\n ngAfterViewInit() {\r\n this.dbaFormGroup = new FormGroup({});\r\n this.form.addControl('DoingBusinessAs', this.dbaFormGroup);\r\n if (this.application.entity.doingBusinessAs) {\r\n this.application.entity.doingBusinessAs.forEach(() => this.addNewFormControlForDBA());\r\n }\r\n\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n addDBA() {\r\n this.addNewFormControlForDBA();\r\n this.application.entity.doingBusinessAs.push('');\r\n }\r\n\r\n addNewFormControlForDBA() {\r\n const dbaItem = new DoingBusinessAsItem();\r\n dbaItem.control = new FormControl('', Validators.required);\r\n dbaItem.name = `dba-${this.uniqueIndex++}`;\r\n\r\n this.dbaFormGroup.addControl(dbaItem.name, dbaItem.control);\r\n this.dbas.push(dbaItem);\r\n }\r\n\r\n removeDBA(dbaItem: DoingBusinessAsItem) {\r\n const index = this.dbas.indexOf(dbaItem);\r\n this.dbaFormGroup.removeControl(dbaItem.name);\r\n this.application.entity.doingBusinessAs.splice(index, 1);\r\n this.dbas.splice(index, 1);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Entity Information

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

TaxID Number is invalid. Must be in the format:\r\n 12-3456789.

\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n

A date is required

\r\n

That is not a valid date

\r\n

Please select a date after\r\n {{orgDate.errors['precedesMin'].toDateString()}}

\r\n

Please select a date before\r\n {{orgDate.errors['exceedsMax'].toDateString()}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, AfterViewInit, ViewChildren } from '@angular/core';\r\nimport { NgModel } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { OrganizationType } from '../../models/organization-type';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-entity-information',\r\n templateUrl: 'entity-information.component.html',\r\n styleUrls: ['../styles_form.css']\r\n})\r\nexport class EntityInformationComponent extends AbstractFormPage implements OnInit, AfterViewInit {\r\n form: TopForm;\r\n organizationTypes: OrganizationType[] = OrganizationType.getValidTypes();\r\n taxIDMask = [/\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\r\n today: Date = new Date();\r\n minDateOfOrg: Date = new Date(1880, 0, 1);\r\n\r\n @ViewChildren(NgModel) inputChildren;\r\n\r\n ngAfterViewInit() {\r\n const addables = ['legalName', 'taxIdNumber', 'orgDate'];\r\n\r\n this.inputChildren.changes.subscribe((items) => {\r\n items.map((item) => {\r\n if (addables.indexOf(item.name) > -1) {\r\n this.form.addControl(item.name, item.control);\r\n }\r\n });\r\n });\r\n }\r\n\r\n constructor(currentAppSvc: CurrentApplicationService, router: Router, utilities: UtilitiesService, history: HistoryService, notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'entity';\r\n this.initPage();\r\n }\r\n\r\n ngOnInit() {\r\n this.form = new TopForm();\r\n }\r\n\r\n isValidForm() {\r\n this.form.updateValueAndValidity();\r\n this.form.submitted = true;\r\n\r\n if (this.form.valid) {\r\n return true;\r\n } else {\r\n this.scrollToError();\r\n return false;\r\n }\r\n }\r\n\r\n submit() {\r\n if (this.isValidForm()) {\r\n this.next();\r\n }\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string) {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n if (comp.isValidForm()) {\r\n comp.application.currentPage = newPageAlias;\r\n resolve(comp.save());\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\nexport const totalIncomeMaxNLS = 999999999;\r\n\r\nexport class FinancialValidation {\r\n constructor() {\r\n\r\n }\r\n public hasNoValueError(c: FormControl): boolean {\r\n return c && c.hasError('required');\r\n }\r\n\r\n public hasInvalidNumberError(c: FormControl): boolean {\r\n return c && c.hasError('validateNumber') && c.errors['validateNumber'].NAN;\r\n }\r\n\r\n public hasOutOfRangePriceError(c: FormControl): boolean {\r\n return c && c.hasError('validateNumber') && c.errors['validateNumber'].max && c.errors['validateNumber'].max === true;\r\n }\r\n}\r\n","import { IItemFactory } from '../reusables/autocomplete/autocomplete.component';\r\n\r\nexport class CropItemFactory implements IItemFactory {\r\n public getItems(query: string): string[] {\r\n if (query == null || query === '') {\r\n return Object.keys(this.getCropItems());\r\n } else {\r\n return Object.keys(this.getCropItems()).filter(function (el) {\r\n return el.toLowerCase().indexOf(query.toLowerCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n public getCropItems() {\r\n // tslint:disable-next-line: max-line-length\r\n return { 'Alfalfa': 'T', 'Barley': 'Bu', 'Canola': 'Bu', 'Corn': 'Bu', 'Cotton': 'lb.', 'Hay': 'T', 'Milo/Sorghum': 'Bu', 'Oats': 'Bu', 'Peanuts': 'lb.', 'Potatoes': 'Cwt', 'Rice': 'Bu', 'Soybeans': 'Bu', 'Sugar Beets': 'T', 'Sunflowers': 'lb.', 'Sweet Potatoes': 'Cwt', 'Wheat': 'Bu' };\r\n }\r\n}\r\n","import { TopForm } from '../top-form';\r\nimport { FormControl, Validators } from '@angular/forms';\r\n\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { Crop } from '../../models/crop';\r\nimport { validateNumberFactory } from '../validation/number-validator.directive';\r\nimport { totalIncomeMaxNLS, FinancialValidation } from '../financial-validation';\r\nimport { CropItemFactory } from './crop-item-factory';\r\nimport { IItemFactory } from '../reusables/autocomplete/autocomplete.component';\r\n\r\nexport class Crops {\r\n form: TopForm;\r\n editingCrop: Crop;\r\n cropName: string;\r\n cropYieldUnits: string;\r\n current: Crop;\r\n financialValidation: FinancialValidation = new FinancialValidation();\r\n totalIncomeMax: number = totalIncomeMaxNLS;\r\n\r\n constructor(private utilities: UtilitiesService) {\r\n this.current = new Crop();\r\n this.form = new TopForm();\r\n this.form.addControl('acres', new FormControl('', Validators.required));\r\n this.form.addControl('yield', new FormControl('', Validators.required));\r\n this.form.addControl('price', new FormControl('',\r\n [Validators.required, validateNumberFactory(false, 2, 0, this.totalIncomeMax, this.utilities)]));\r\n }\r\n\r\n update(crop?: Crop) {\r\n this.cropName = crop ? crop.name : '';\r\n this.current.acres = crop ? crop.acres : 0;\r\n this.current.averageYield = crop ? crop.averageYield : 0;\r\n this.cropYieldUnits = crop ? crop.yieldUnits : '';\r\n this.current.price = crop ? crop.price : 0;\r\n }\r\n\r\n clear() {\r\n this.update();\r\n }\r\n\r\n setCropName() {\r\n const cropFactory = new CropItemFactory();\r\n\r\n const crops = this;\r\n return function (cropName) {\r\n crops.cropName = cropName;\r\n const cropItems = cropFactory.getCropItems();\r\n\r\n if (cropItems[cropName]) {\r\n crops.cropYieldUnits = cropItems[cropName];\r\n }\r\n };\r\n }\r\n\r\n setYieldUnits() {\r\n const crops = this;\r\n return function (yieldUnits) {\r\n crops.cropYieldUnits = yieldUnits;\r\n };\r\n }\r\n\r\n get value(): Crop {\r\n return new Crop({\r\n Name: this.cropName,\r\n Acres: this.current.acres,\r\n AverageYield: this.current.averageYield,\r\n YieldUnits: this.cropYieldUnits,\r\n Price: this.current.price\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Financial Information - Income

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

What do you grow?

\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n A crop is\r\n required\r\n
    \r\n
  • \r\n
  • \r\n \r\n \r\n Acres are required\r\n
  • \r\n
  • \r\n \r\n \r\n
    \r\n \r\n
    \r\n Yield units\r\n are required\r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n A price is required\r\n Price must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
    \r\n
  • \r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n {{crop.revenue | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • No crops added
  • \r\n
  • 0\"\r\n class=\"total group\" [class.error]=\"totalCropIncomeInvalid\">\r\n \r\n {{(application.income.grossCropIncome || 0) | currency:'USD':'symbol':'1.2-2'}}\r\n Total must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

What livestock do you raise?

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n Livestock is required\r\n
  • \r\n
  • \r\n \r\n \r\n Head count is required\r\n
  • \r\n
  • \r\n \r\n \r\n Value per head is required\r\n Value must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
  • \r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n {{stock.revenue | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • No livestock added
  • \r\n
  • 0\"\r\n class=\"total group\" [class.error]=\"totalLivestockIncomeInvalid\">\r\n \r\n {{(application.income.grossLivestockIncome || 0) | currency:'USD':'symbol':'1.2-2'}}\r\n Total must be less than\r\n {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Other Farm Income

\r\n

(Milk proceeds, custom work, etc.)

\r\n
\r\n \r\n \r\n Value per head\r\n is required\r\n Value is\r\n not a whole number or is not a valid number.\r\n Income\r\n must be less than {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
\r\n
\r\n\r\n
\r\n

Total Income

\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n {{(application.income.grossCropIncome || 0) | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{(application.income.grossLivestockIncome || 0) | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{(application.income.otherFarmIncome || 0) | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.income.totalFarmIncome || 0 | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n Warning: Total income must be less than {{totalIncomeMax | currency:'USD':true:'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { Crop } from '../../models/crop';\r\nimport { Livestock } from '../../models/livestock';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { IItemFactory } from '../reusables/autocomplete/autocomplete.component';\r\nimport { validateNumberFactory } from '../validation/number-validator.directive';\r\nimport { totalIncomeMaxNLS, FinancialValidation } from '../financial-validation';\r\nimport { Crops } from './crops';\r\nimport { Livestocks } from './livestocks';\r\nimport { CropItemFactory } from './crop-item-factory';\r\nimport { YieldUnitsFactory } from './yield-units-factory';\r\nimport { LivestockItemFactory } from './livestock-item-factory';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-financial-information-income',\r\n templateUrl: 'financial-information-income.component.html',\r\n styleUrls: ['../styles_form.css', 'income-table.css']\r\n})\r\nexport class FinancialInformationIncomeComponent extends AbstractFormPage {\r\n\r\n constructor(currentAppSvc: CurrentApplicationService,\r\n router: Router,\r\n utilities: UtilitiesService,\r\n history: HistoryService,\r\n private route: ActivatedRoute,\r\n notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'income';\r\n this.initPage();\r\n }\r\n\r\n public get totalCropIncomeInvalid(): boolean {\r\n return this.application.income.grossCropIncome > this.totalIncomeMax;\r\n }\r\n\r\n public get totalLivestockIncomeInvalid(): boolean {\r\n return this.application.income.grossLivestockIncome > this.totalIncomeMax;\r\n }\r\n\r\n public get totalOtherIncomeInvalid(): boolean {\r\n return this.application.income.otherFarmIncome > this.totalIncomeMax;\r\n }\r\n\r\n public get totalIncomeIsInvalid(): boolean {\r\n return this.application.income.totalFarmIncome && this.application.income.totalFarmIncome >= this.totalIncomeMax;\r\n }\r\n\r\n otherFarmIncomeForm: TopForm = new TopForm();\r\n otherFarmIncomeControl: FormControl;\r\n financialValidation: FinancialValidation = new FinancialValidation();\r\n cropFactory: IItemFactory = new CropItemFactory();\r\n yieldUnitsFactory: IItemFactory = new YieldUnitsFactory();\r\n livestockFactory: IItemFactory = new LivestockItemFactory();\r\n totalIncomeMax: number = totalIncomeMaxNLS;\r\n\r\n crops = new Crops(this.utilities);\r\n\r\n livestock = new Livestocks(this.utilities);\r\n\r\n numbersOnlyMask = function (valueInput: string) {\r\n const mask = [];\r\n for (let i = 0; i < valueInput.length; ++i) {\r\n mask.push(/\\d/);\r\n }\r\n return mask;\r\n };\r\n\r\n addCrop() {\r\n this.crops.form.submitted = true;\r\n if (this.crops.form.valid) {\r\n if (this.crops.editingCrop) {\r\n const match = this.application.income.cropList.findIndex((crop) => crop === this.crops.editingCrop);\r\n if (match !== -1) {\r\n const crop = this.crops.value;\r\n this.application.income.cropList[match] = crop;\r\n }\r\n this.crops.editingCrop = null;\r\n } else {\r\n const crop = this.crops.value;\r\n this.application.income.cropList.push(crop);\r\n }\r\n\r\n this.crops.form.submitted = false;\r\n this.application.income.calculateValues();\r\n this.crops.clear();\r\n }\r\n }\r\n\r\n cropListUpdate(crop: Crop) {\r\n if (!this.crops.editingCrop || (this.crops.editingCrop && this.crops.editingCrop !== crop)) {\r\n this.crops.editingCrop = crop;\r\n this.crops.update(crop);\r\n } else if (this.crops.editingCrop) {\r\n this.crops.form.submitted = false;\r\n this.crops.editingCrop = null;\r\n this.crops.clear();\r\n }\r\n }\r\n\r\n cropListRemove(cropToRemove: Crop) {\r\n const match = this.application.income.cropList.findIndex((crop) => crop === cropToRemove);\r\n if (match !== -1) {\r\n this.application.income.cropList.splice(match, 1);\r\n this.application.income.calculateValues();\r\n this.crops.editingCrop = null;\r\n this.crops.clear();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n addLivestock() {\r\n this.livestock.form.submitted = true;\r\n if (this.livestock.form.valid) {\r\n if (this.livestock.editingLivestock) {\r\n const match = this.application.income.livestockList.findIndex((livestock) => livestock === this.livestock.editingLivestock);\r\n if (match !== -1) {\r\n this.application.income.livestockList[match] = this.livestock.value;\r\n }\r\n this.livestock.editingLivestock = null;\r\n } else {\r\n this.application.income.livestockList.push(this.livestock.value);\r\n }\r\n\r\n this.livestock.form.submitted = false;\r\n this.application.income.calculateValues();\r\n this.livestock.clear();\r\n }\r\n }\r\n\r\n livestockListUpdate(livestock: Livestock) {\r\n if (!this.livestock.editingLivestock || (this.livestock.editingLivestock && this.livestock.editingLivestock !== livestock)) {\r\n this.livestock.editingLivestock = livestock;\r\n this.livestock.update(livestock);\r\n } else if (this.livestock.editingLivestock) {\r\n this.livestock.form.submitted = false;\r\n this.livestock.editingLivestock = null;\r\n this.livestock.clear();\r\n }\r\n }\r\n\r\n livestockListRemove(livestockToRemove: Livestock) {\r\n const match = this.application.income.livestockList.findIndex((livestock) => livestock === livestockToRemove);\r\n if (match !== -1) {\r\n this.application.income.livestockList.splice(match, 1);\r\n this.application.income.calculateValues();\r\n this.livestock.editingLivestock = null;\r\n this.livestock.clear();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n afterInitPage() {\r\n this.otherFarmIncomeControl = new FormControl(this.application.income.otherFarmIncome || 0,\r\n [Validators.required, validateNumberFactory(false, 2, 0, this.totalIncomeMax, this.utilities)]);\r\n this.otherFarmIncomeForm.addControl('otherFarmIncomeControl', this.otherFarmIncomeControl);\r\n }\r\n\r\n isValidForm() {\r\n return !this.totalCropIncomeInvalid\r\n && !this.totalLivestockIncomeInvalid\r\n && !this.totalOtherIncomeInvalid\r\n && !this.totalIncomeIsInvalid;\r\n }\r\n\r\n next() {\r\n if (this.isValidForm()) {\r\n super.next();\r\n }\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string) {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n if (comp.isValidForm()) {\r\n comp.application.currentPage = newPageAlias;\r\n resolve(comp.save());\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n}\r\n","import { IItemFactory } from '../reusables/autocomplete/autocomplete.component';\r\n\r\nexport class LivestockItemFactory implements IItemFactory {\r\n public items: string[] = ['Cattle-Feeder', 'Cattle-Dairy', 'Cattle-Other', 'Swine-Market', 'Swine-Other', 'Livestock-Other'];\r\n getItems(query: string): string[] {\r\n if (query == null || query === '') {\r\n return this.items;\r\n } else {\r\n return this.items.filter(function (el) {\r\n return el.toLowerCase().indexOf(query.toLowerCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n}\r\n","import { FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { Livestock } from '../../models/livestock';\r\nimport { validateNumberFactory } from '../validation/number-validator.directive';\r\nimport { totalIncomeMaxNLS, FinancialValidation } from '../financial-validation';\r\nimport { IItemFactory } from '../reusables/autocomplete/autocomplete.component';\r\nimport { LivestockItemFactory } from './livestock-item-factory';\r\n\r\nexport class Livestocks {\r\n form: TopForm;\r\n editingLivestock: Livestock;\r\n livestockName: string;\r\n current: Livestock;\r\n financialValidation: FinancialValidation = new FinancialValidation();\r\n totalIncomeMax: number = totalIncomeMaxNLS;\r\n livestockFactory: IItemFactory = new LivestockItemFactory();\r\n\r\n constructor(private utilities: UtilitiesService) {\r\n this.current = new Livestock();\r\n this.form = new TopForm();\r\n this.form.addControl('count', new FormControl('', Validators.required));\r\n this.form.addControl('price', new FormControl('',\r\n [Validators.required, validateNumberFactory(false, 2, 0, this.totalIncomeMax, this.utilities)]));\r\n }\r\n\r\n update(livestock?: Livestock) {\r\n this.livestockName = livestock ? livestock.name : '';\r\n this.current.count = livestock ? livestock.count : 0;\r\n this.current.price = livestock ? livestock.price : 0;\r\n }\r\n\r\n clear() {\r\n this.update();\r\n }\r\n\r\n setLivestockName() {\r\n const livestocks = this;\r\n return function (livestockName) {\r\n livestocks.livestockName = livestockName;\r\n };\r\n }\r\n\r\n get value(): Livestock {\r\n return new Livestock({\r\n Name: this.livestockName,\r\n Count: this.current.count,\r\n Price: this.current.price\r\n });\r\n }\r\n}\r\n","import { IItemFactory } from '../reusables/autocomplete/autocomplete.component';\r\n\r\nexport class YieldUnitsFactory implements IItemFactory {\r\n public items: string[] = ['Bu', 'Cwt', 'lb.', 'T'];\r\n getItems(query: string): string[] {\r\n if (query == null || query === '') {\r\n return this.items;\r\n } else {\r\n return this.items.filter(function (el) {\r\n return el.toLowerCase().indexOf(query.toLowerCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
You must select \"Yes\" or \"No\"
\r\n
\r\n \r\n \r\n \r\n
\r\n
You must list countries outside of the US
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { Option } from '../../models/option.model';\r\n\r\n@Component({\r\n selector: 'gol-increased-risk-countries',\r\n templateUrl: './increased-risk-countries.component.html',\r\n styleUrls: ['./increased-risk-countries.component.css']\r\n})\r\nexport class IncreasedRiskCountriesComponent implements OnInit {\r\n @Input() increasedRiskCountries: string[];\r\n @Input() submitted: boolean;\r\n @Output() increasedRiskCountriesChange: EventEmitter = new EventEmitter();\r\n\r\n countries: Option[];\r\n autoCompleteFilteredCountries: Option[];\r\n selectedIncreasedRiskCountries: Option[];\r\n showIncreasedRiskCountries: boolean = true;\r\n\r\n get isValid(): boolean {\r\n return this.isAnswered && !this.isMissingIncreasedRiskCountries;\r\n }\r\n\r\n get isAnswered(): boolean {\r\n return this.showIncreasedRiskCountries != null;\r\n }\r\n\r\n get isMissingIncreasedRiskCountries(): boolean {\r\n return this.showIncreasedRiskCountries == true && !this.increasedRiskCountries;\r\n }\r\n\r\n constructor(\r\n private lookupService: LookupService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getCountries();\r\n this.showIncreasedRiskCountries = this.increasedRiskCountries && this.increasedRiskCountries.length > 0;\r\n } \r\n\r\n private getCountries(): void {\r\n this.lookupService.getAddressCountries()\r\n .then(resolve => {\r\n this.countries = resolve.map(x => new Option(x.DisplayName, x.Name));\r\n\r\n // Populated selected countries with an Option rather than just country code\r\n if (this.countries && this.increasedRiskCountries) {\r\n this.selectedIncreasedRiskCountries = this.countries.filter(c => this.increasedRiskCountries.some(irc => irc == c.value));\r\n\r\n }\r\n });\r\n }\r\n\r\n public showIncreasedRiskCountriesChanged(value: string) { \r\n if (value.includes('false')) {\r\n this.selectedIncreasedRiskCountries = [];\r\n this.increasedRiskCountries = [];\r\n this.updateIncreasedRiskCountries();\r\n }\r\n }\r\n\r\n public filterCountry(query: any): void {\r\n const filtered : any[] = [];\r\n\r\n for(let i = 0; i < this.countries.length; i++) {\r\n const country = this.countries[i];\r\n if (country.label.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(country);\r\n }\r\n }\r\n \r\n this.autoCompleteFilteredCountries = filtered;\r\n }\r\n\r\n public updateIncreasedRiskCountries(): void { \r\n this.increasedRiskCountries = this.selectedIncreasedRiskCountries.map(sirc => sirc.value);\r\n this.increasedRiskCountriesChange.emit(this.increasedRiskCountries); \r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Line of Business Information

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

What is your primary line of business?

\r\n \r\n
You must pick\r\n a line of business
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, AfterViewInit, OnChanges, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { IncreasedRiskCountriesComponent } from '../increased-risk-countries/increased-risk-countries.component';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { LineOfBusinesses } from '../../models/line-of-businesses';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-line-of-business-information',\r\n templateUrl: 'line-of-business-information.component.html',\r\n styleUrls: ['../styles_form.css', 'line-of-business-information.component.css']\r\n})\r\nexport class LineOfBusinessInformationComponent extends AbstractFormPage implements OnInit, AfterViewInit, OnChanges {\r\n businesses = LineOfBusinesses;\r\n form: TopForm;\r\n @ViewChild(IncreasedRiskCountriesComponent) increasedRiskCountriesComponent: IncreasedRiskCountriesComponent;\r\n\r\n ngOnChanges(LOB) {\r\n this.application.lineOfBusiness = LOB;\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n constructor(currentAppSvc: CurrentApplicationService, router: Router, utilities: UtilitiesService, history: HistoryService, notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'line-of-business-information';\r\n this.initPage();\r\n }\r\n\r\n ngOnInit() {\r\n this.form = new TopForm();\r\n }\r\n\r\n submit() {\r\n this.form.submitted = true;\r\n\r\n if (this.application.lineOfBusiness && this.increasedRiskCountriesComponent.isValid) {\r\n this.next();\r\n }\r\n }\r\n\r\n previous() {\r\n if (this.isValidForm()) {\r\n this.back();\r\n }\r\n }\r\n\r\n isValidForm() {\r\n const comp = this;\r\n comp.form.submitted = true;\r\n\r\n if (comp.application.lineOfBusiness && comp.increasedRiskCountriesComponent.isValid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string) {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n if (comp.isValidForm()) {\r\n comp.application.currentPage = newPageAlias;\r\n resolve(comp.save());\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n
  • \r\n
","import { Component, EventEmitter, Input, Output, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-radio-complete',\r\n templateUrl: 'radio-complete.component.html',\r\n styleUrls: ['radio-complete.component.css']\r\n})\r\nexport class RadioCompleteComponent implements OnInit {\r\n @Input()\r\n options: string[];\r\n @Input()\r\n value: string;\r\n @Output()\r\n changedValue = new EventEmitter();\r\n initialValue = '';\r\n\r\n ngOnInit() {\r\n if (this.shouldCheck('custom')) {\r\n this.initialValue = this.value;\r\n }\r\n }\r\n\r\n updateValue(newValue) {\r\n if (newValue !== this.value) {\r\n this.value = newValue;\r\n this.changedValue.emit(this.value);\r\n }\r\n }\r\n\r\n shouldCheck(type: string, option?: string): boolean {\r\n if (type === 'radio') {\r\n return this.value && this.value.toLowerCase() === option.toLowerCase();\r\n } else if (type === 'custom') {\r\n return this.value && this.options.findIndex((opt) => opt.toLowerCase() === this.value.toLowerCase()) === -1;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n

A date is required

\r\n

That is not a valid date

\r\n

Please select a date after {{dob.errors['precedesMin'].toDateString()}}

\r\n

Please select a date before {{dob.errors['exceedsMax'].toDateString()}}

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Required\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
%
\r\n
\r\n

Required

\r\n

Ownership Percentage is invalid. Must be non negative numeric\r\n value between 0 and 100

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Email is invalid

\r\n
\r\n
\r\n","import { Component, Input, AfterViewInit, ViewChildren, QueryList, OnInit } from '@angular/core';\r\nimport { NgModel, FormGroup } from '@angular/forms';\r\nimport { Person } from '../../models/person';\r\nimport { TopForm } from '../top-form';\r\nimport { hundredWithDecimalMask } from '../validation/custom-masks';\r\nimport * as moment from 'moment';\r\nimport { LookupService } from '../../services/lookup.service';\r\n\r\n@Component({\r\n selector: 'gol-owner-detail',\r\n templateUrl: 'owner-detail.component.html',\r\n styleUrls: ['owner-detail.component.css']\r\n})\r\nexport class OwnerDetailComponent implements OnInit, AfterViewInit {\r\n hundredMask = hundredWithDecimalMask;\r\n\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n @Input() readonly: boolean;\r\n @Input() mode = '';\r\n @Input() index: number;\r\n @Input() alreadyAddedOwners: Person[] = null;\r\n @Input() owner: Person = new Person();\r\n @Input() assumeIsControllingParty = false;\r\n\r\n maxDob: Date = moment().subtract(18, 'years').toDate();\r\n minDob: Date = new Date(1880, 0, 1);\r\n addressCountries: string[] = null;\r\n\r\n constructor(\r\n private lookupService: LookupService\r\n ) {}\r\n \r\n ngOnInit(): void {\r\n this.lookupService.getPermanentResidenceCountries()\r\n .then(resolve => {\r\n this.addressCountries = [''].concat(resolve);\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.group) {\r\n this.inputChildren.forEach((item) => {\r\n if (!this.group.contains(item.name)) {\r\n this.group.addControl(item.name, item.control);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public getTitlePrefix(): string {\r\n return (this.mode === 'borrower') ? 'Owner\\'s ' : '';\r\n }\r\n\r\n public reAddConditionalControls(): void {\r\n setTimeout(() => {\r\n this.inputChildren.forEach((item) => {\r\n if (!this.group.contains(item.name)) {\r\n this.group.addControl(item.name, item.control);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Ownership Information

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n Please answer these initial ownership questions.\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n Please provide a signed and dated copy of the legal entity's organizational chart including ownership \r\n percentages throughout the layers and countries associated with each entity and individual owning \r\n more than 25%.\r\n \r\n If there is a Trust in the Organizational Structure, please identify Entities and Individuals that own \r\n greater than 10% and complete the Trustee Certification form.\r\n

\r\n
\r\n \r\n
\r\n

\r\n Any Persons opening an account on behalf of a legal entity must provide the following information \r\n for each individual who directly or indirectly, through any contract, arrangement, understanding, \r\n relationship or otherwise any of the following:\r\n

\r\n
    \r\n
  • Owns more than 25% of the equity interests of the legal entity
  • \r\n
  • Has more than 25% of the voting rights of the legal entity
  • \r\n
  • Receives more than 25% of the profits of the legal entity
  • \r\n
  • Any other individuals who regularly perform similar functions
  • \r\n
  • Otherwise exercises effective control
  • \r\n
\r\n
\r\n\r\n Why is this required?\r\n \r\n

\r\n To help the government fight financial crime, Federal regulation requires certain financial \r\n institutions to obtain, verify, and record information about the beneficial owners of legal \r\n entity customers. Legal entities can be abused to disguise involvement in terrorist financing, \r\n money laundering, tax evasion, corruption, fraud, and other financial crimes. Requiring the \r\n disclosure of key individuals who own or control a legal entity (i.e., the beneficial owners) \r\n helps law enforcement investigate and prosecute these crimes.\r\n

\r\n
\r\n
\r\n\r\n

Owners:

\r\n
\r\n \r\n \r\n \r\n (new)\r\n {{o.fullName.firstName}} {{o.fullName.lastName}}\r\n \r\n {{o.ownershipPercentage/100 | percent:'1.0-2'}}\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n

\r\n Total Ownership: {{application.totalOwnership()/100 | percent:'1.0-2'}}\r\n
\r\n Total ownership must not be over 100%\r\n
\r\n

\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n

Who is authorized to sign on behalf of {{application.entity.legalName || 'this entity'}}?

\r\n

We will send this person a separate e-mail with instructions to sign the application.

\r\n \r\n
\r\n Select someone to sign for {{application.entity.legalName || 'this entity'}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { Person } from '../../models/person';\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-ownership',\r\n templateUrl: 'ownership.component.html',\r\n styleUrls: ['../styles_form.css', 'ownership.component.css'],\r\n})\r\nexport class OwnershipComponent extends AbstractFormPage implements OnInit {\r\n formGroups: FormGroup[];\r\n form: TopForm;\r\n signerGroup: FormGroup = new FormGroup({});\r\n\r\n signerSelect: Person = null;\r\n isOpen: boolean[];\r\n accordionMap: number[];\r\n\r\n get showOwnershipAdd(): boolean {\r\n return (this.application.hasEntityOwnership === true && this.application.hasTrust === true && this.application.hasIosWithPercent === true)\r\n || (this.application.hasEntityOwnership === true && this.application.hasTrust == false && this.application.hasIndividualsWithPercent == true)\r\n || (this.application.hasEntityOwnership === false && this.application.hasIndividualsWithPercent === true);\r\n }\r\n\r\n get showControllingPartyAdd(): boolean {\r\n return (this.application.hasEntityOwnership === true && this.application.hasTrust === true && this.application.hasIosWithPercent === false)\r\n || (this.application.hasEntityOwnership === true && this.application.hasTrust == false && this.application.hasIndividualsWithPercent == false)\r\n || (this.application.hasEntityOwnership === false && this.application.hasIndividualsWithPercent === false);\r\n }\r\n\r\n get possibleSigners(): Person[] {\r\n return this.application.borrowers.concat(this.application.additionalOwners);\r\n }\r\n\r\n get areAllInitialQuestionsAnswered(): boolean {\r\n return this.showOwnershipAdd || this.showControllingPartyAdd;\r\n }\r\n\r\n constructor(currentAppSvc: CurrentApplicationService, router: Router, utilities: UtilitiesService, history: HistoryService, notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'ownership';\r\n this.isOpen = [];\r\n this.formGroups = [];\r\n this.accordionMap = [];\r\n this.initPage();\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n afterInitPage(): void {\r\n this.form = new TopForm();\r\n for (let i = 0; i < this.application.ownersList.length; ++i) {\r\n this.isOpen.push(false);\r\n this.accordionMap.push(i);\r\n const group = new FormGroup({});\r\n this.formGroups.push(group);\r\n this.form.addControl(this.accordionMap.length.toString(), group);\r\n }\r\n\r\n // Check for signer\r\n if (this.application.entity.signer) {\r\n // Signer could be borrower/owner\r\n const match = this.application.ownersList.find((o) => {\r\n return (o.fullName.toString() === this.application.entity.signer.fullName.toString() &&\r\n o.email === this.application.entity.signer.email)\r\n });\r\n if (match != null) {\r\n this.signerSelect = match;\r\n } else {\r\n this.signerSelect = null;\r\n }\r\n }\r\n }\r\n\r\n private closeAllTabs(): void {\r\n for (let i = 0; i < this.isOpen.length; ++i) {\r\n this.isOpen[i] = false;\r\n }\r\n }\r\n\r\n private hasNonWhitespace(s: string) {\r\n return /[^\\s]/g.test(s);\r\n }\r\n\r\n private saveSignerOnApplication(): void {\r\n if (!!this.signerSelect) {\r\n this.application.entity.signer = this.signerSelect;\r\n this.application.entity.signerTitle = this.signerSelect.signerTitle;\r\n }\r\n }\r\n\r\n public onSignerChange(): void {\r\n this.form.submitted = false;\r\n this.saveSignerOnApplication();\r\n }\r\n\r\n\r\n public add(isControllingParty: boolean = false): void {\r\n this.form.submitted = false;\r\n const p = new Person();\r\n p.isBorrower = false;\r\n p.isControllingParty = isControllingParty;\r\n this.application.additionalOwners.push(p);\r\n this.closeAllTabs();\r\n this.accordionMap.push(this.isOpen.length);\r\n this.isOpen.push(true);\r\n const group = new FormGroup({});\r\n this.formGroups.push(group);\r\n this.form.addControl(this.accordionMap.length.toString(), group);\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n public delete(index: number, event: PointerEvent): void {\r\n const additionalOwnersIndex = index - this.application.borrowers.length;\r\n this.application.additionalOwners.splice(additionalOwnersIndex, 1);\r\n this.isOpen.splice(index, 1);\r\n this.formGroups.splice(index, 1);\r\n let found = null;\r\n this.accordionMap = this.accordionMap.map((mapping, idx) => {\r\n if (mapping === index) {\r\n\r\n // If signer is deleted, clear signer details\r\n if (!!this.application.entity && !!this.application.entity.signer\r\n && index === this.application.additionalOwners.findIndex(x => x.fullName.toString() == this.signerSelect.fullName.toString()\r\n && x.email === this.application.entity.signer.email)) {\r\n this.signerSelect = null;\r\n this.application.entity.signer = null;\r\n this.application.entity.signerTitle = '';\r\n }\r\n\r\n found = true;\r\n this.form.removeControl((idx + 1).toString());\r\n return -1;\r\n } else {\r\n return found ? mapping - 1 : mapping;\r\n }\r\n });\r\n event.preventDefault();\r\n\r\n if (this.application.ownersList.length === 0) {\r\n this.add();\r\n }\r\n }\r\n\r\n public tabOpen(e: number): void {\r\n this.isOpen[this.accordionMap[e]] = true;\r\n }\r\n\r\n public tabClose(e: number): void {\r\n this.isOpen[this.accordionMap[e]] = false;\r\n }\r\n\r\n public showDisplayName(owner: Person): boolean {\r\n return this.hasNonWhitespace(owner.fullName.toString());\r\n }\r\n\r\n public isTotalOwnershipValid(): boolean {\r\n const ownerPercent = this.application.totalOwnership();\r\n return !(ownerPercent > 100);\r\n }\r\n\r\n public onEntityChanged(newValue: boolean){\r\n if (newValue) {\r\n this.application.hasIndividualsWithPercent = null;\r\n this.application.hasEntityOwnership = true;\r\n return;\r\n }\r\n if (newValue == undefined) {\r\n this.application.hasEntityOwnership = null;\r\n this.application.hasIndividualsWithPercent = null;\r\n this.application.hasTrust = null;\r\n this.application.hasIosWithPercent = null;\r\n return;\r\n }\r\n if (!newValue){\r\n this.application.hasEntityOwnership = false;\r\n this.application.hasTrust = null;\r\n this.application.hasIosWithPercent = null;\r\n }\r\n }\r\n\r\n public onTrustChanged(newValue: boolean){\r\n if (newValue) {\r\n this.application.hasIndividualsWithPercent = null;\r\n this.application.hasTrust = true;\r\n return;\r\n }\r\n if (newValue == undefined) {\r\n this.application.hasIndividualsWithPercent = null;\r\n this.application.hasTrust = null;\r\n this.application.hasIosWithPercent = null;\r\n return;\r\n }\r\n if (!newValue){\r\n this.application.hasTrust = false;\r\n this.application.hasIosWithPercent = null;\r\n return;\r\n }\r\n }\r\n\r\n isValidForm() {\r\n this.form.updateValueAndValidity();\r\n this.form.submitted = true;\r\n this.saveSignerOnApplication();\r\n\r\n if (this.form.valid\r\n && this.isTotalOwnershipValid()\r\n && this.signerSelect !== null\r\n && this.areAllInitialQuestionsAnswered) {\r\n return true;\r\n } else {\r\n this.scrollToError();\r\n return false;\r\n }\r\n }\r\n\r\n public submit(): void {\r\n if (this.isValidForm()) {\r\n this.next();\r\n } else {\r\n this.scrollToError();\r\n }\r\n }\r\n\r\n public previous() {\r\n if (this.isValidForm()) {\r\n this.back();\r\n }\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n if (comp.isValidForm()) {\r\n comp.application.currentPage = newPageAlias;\r\n resolve(comp.save());\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n

\r\n Pre-Screened Offer Acceptance\r\n

\r\n
 
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n
\r\n

Are you a robot?

\r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
","import { Component, Output, OnInit, EventEmitter, Input } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { TopForm } from '../top-form';\r\nimport { AuthService, IAuthService } from '../../services/auth.service';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { Router } from '@angular/router';\r\nimport { Application } from '../../models/application';\r\nimport { ApplicationType } from '../../models/application-type';\r\nimport { NavigationOptions } from '../../models/navigation-options';\r\nimport { Person } from '../../models/person';\r\n\r\n@Component({\r\n selector: 'gol-preapproval',\r\n templateUrl: 'preapproval.component.html',\r\n styleUrls: ['preapproval.component.css']\r\n})\r\nexport class PreApprovalComponent {\r\n form: TopForm;\r\n name: FormControl;\r\n code: FormControl;\r\n serverError = '';\r\n recaptchaToken = '';\r\n submitting: boolean;\r\n application: Application;\r\n\r\n constructor(private authService: AuthService, private currentAppService: CurrentApplicationService, private router: Router) {\r\n this.form = new TopForm();\r\n this.name = new FormControl('', Validators.required);\r\n this.code = new FormControl('', Validators.required);\r\n this.form.addControl('name', this.name);\r\n this.form.addControl('password', this.code);\r\n this.currentAppService.makeNewApp();\r\n this.currentAppService.getCurrentApplication('PreApprovalComponent - Cstr').then(app => {\r\n this.application = app;\r\n });\r\n }\r\n\r\n submit() {\r\n this.form.submitted = true;\r\n this.serverError = '';\r\n\r\n if (this.recaptchaToken === '') {\r\n return;\r\n }\r\n\r\n if (this.form.valid) {\r\n this.submitting = true;\r\n this.authService.ValidatePreApproval(this.code.value, this.name.value)\r\n .then((res) => {\r\n if (res >= 0) {\r\n this.proceed(res);\r\n } else {\r\n // tslint:disable-next-line: max-line-length\r\n this.serverError = 'The information you entered is invalid or may have expired. Prescreened Offer Acceptance Codes are case sensitive please verify your information. If you continue to have problems, please contact our customer service team at 888-395-8505. If you would like to complete an application, please click \"Apply Here\" at the top of the page.';\r\n }\r\n })\r\n .catch((error) => {\r\n this.serverError = error;\r\n })\r\n .then(() => {\r\n this.submitting = false;\r\n });\r\n }\r\n }\r\n\r\n cancel() {\r\n this.router.navigateByUrl('/home');\r\n }\r\n\r\n recaptchaResolved(token: string) {\r\n this.recaptchaToken = token;\r\n }\r\n\r\n proceed(stagingId: number) {\r\n this.application.entity = null;\r\n this.application.appType = ApplicationType.Single;\r\n const startpage = NavigationOptions.AppPages(this.application, true)[0];\r\n this.application.currentPage = startpage.alias;\r\n this.application.maxPageReached = startpage.alias;\r\n this.application.preApprovalStagingId = stagingId;\r\n this.application.preApprovalCode = this.code.value;\r\n this.currentAppService.setCurrentApplication(this.application);\r\n this.currentAppService.getPreApprovalStagingForApplication(stagingId)\r\n .then(res => {\r\n this.application.borrowers.push(res);\r\n\r\n // due to complex types being pass by reference, I need to state the values explicitly\r\n this.application.preApprovalBorrower = new Person();\r\n this.application.preApprovalBorrower.fullName.firstName = res.fullName.firstName;\r\n this.application.preApprovalBorrower.fullName.lastName = res.fullName.lastName;\r\n this.application.preApprovalBorrower.fullName.middleName = res.fullName.middleName;\r\n this.application.preApprovalBorrower.fullName.suffix = res.fullName.suffix;\r\n this.application.preApprovalBorrower.isPreApproved = res.isPreApproved;\r\n\r\n this.application.preApprovalBorrower.mailingAddress.city = res.mailingAddress.city;\r\n this.application.preApprovalBorrower.mailingAddress.line1 = res.mailingAddress.line1;\r\n this.application.preApprovalBorrower.mailingAddress.line2 = res.mailingAddress.line2;\r\n this.application.preApprovalBorrower.mailingAddress.state = res.mailingAddress.state;\r\n this.application.preApprovalBorrower.mailingAddress.zipcode = res.mailingAddress.zipcode;\r\n this.application.preApprovalBorrower.physicalAddress = this.application.preApprovalBorrower.mailingAddress;\r\n this.application.preApprovalBorrower.physicalAddress.isPhysicalAddress();\r\n\r\n this.router.navigate([startpage.route]);\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
0\" class=\"control-group\">\r\n \r\n \r\n \r\n
\r\n Name: \r\n Address: \r\n City: \r\n State: \r\n ZIP Code: \r\n
\r\n

Invalid ZIP Code

\r\n
\r\n Phone: \r\n
\r\n

Invalid phone number

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n

Required

\r\n

Invalid\r\n number

\r\n

Must be\r\n greater than 0

\r\n

Cannot be\r\n greater than $999,999,999

\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, AfterViewInit, QueryList, ViewChildren, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { Application } from '../../models/application';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { Router } from '@angular/router';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { NgForm, NgModel, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { validateCheckboxFactory } from '../validation/checkbox-required.directive';\r\nimport { validateNumberFactory } from '../validation/number-validator.directive';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { IItemFactory } from '../reusables/autocomplete/autocomplete.component';\r\nimport { TopVendorsFactory, VendorDealersFactory } from '../../services/program-item-factories';\r\nimport { VendorService } from '../../services/vendor.service';\r\nimport { Vendor, TopVendors } from '../../models/vendor';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { States } from '../../models/state-list';\r\nimport { zipMask } from '../reusables/address/zip.component';\r\nimport { phoneMask } from '../reusables/phone/phone.component';\r\nimport { totalIncomeMaxNLS } from '../financial-validation';\r\nimport numberMask from 'text-mask-addons/dist/createNumberMask';\r\n\r\n@Component({\r\n selector: 'gol-vendor-programs',\r\n templateUrl: 'vendor-programs.component.html',\r\n styleUrls: ['../styles_form.css', 'vendor-programs.component.css']\r\n})\r\nexport class VendorProgramsComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(NgModel) inputChildren;\r\n\r\n @Input() application: Application;\r\n @Input() vendor: Vendor;\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n @Input() vendorNumber: number;\r\n\r\n loadingVendors: boolean = false;\r\n loadingRetailers: boolean = false;\r\n topVendorsFactory: IItemFactory;\r\n vendorDealersFactory: IItemFactory;\r\n _utilities: UtilitiesService;\r\n zip: FormControl;\r\n phone: FormControl;\r\n creditLimit: FormControl;\r\n preApprovalSponsorId: number;\r\n preApprovalChanged: boolean;\r\n states = States;\r\n\r\n creditMask = numberMask({\r\n prefix: '$',\r\n includeThousandsSeperator: true,\r\n allowDecimal: true,\r\n });\r\n zipMask = zipMask;\r\n phoneMask = phoneMask;\r\n\r\n constructor(utilities: UtilitiesService, private vendorService: VendorService, private cdr: ChangeDetectorRef) {\r\n this._utilities = utilities;\r\n }\r\n\r\n ngOnInit() {\r\n this.addAdditionalControls();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.inputChildren.forEach((item) => {\r\n this.group.addControl(item.name, item.control);\r\n });\r\n\r\n this.loadingVendors = true;\r\n this.vendorService.GetVendors(this.application ? `ApplicationId:${this.application.id}` : null) //this initializes the service's vendors and filteredVendors lists, will not repopulate if called again\r\n .then((res) => {\r\n this.loadingVendors = false;\r\n }).catch(err => {\r\n console.log('There was an error loading Vendors');\r\n }).then(() => {\r\n this.loadingVendors = false;\r\n });\r\n\r\n this.filterVendors(); //sets the service's filteredVendors to a subset of vendors matching existing application's vendors\r\n this.topVendorsFactory = new TopVendorsFactory(this.vendorService);\r\n\r\n if (this.application.preApprovalStagingId > 0) {\r\n this.vendorService.GetSponsoringDealerForPreApproval(this.application.preApprovalStagingId)\r\n .then(res => {\r\n if (res) {\r\n const vendorControl = this.group.get('Vendor');\r\n vendorControl.setErrors(null);\r\n\r\n this.preApprovalSponsorId = res.rowId;\r\n this.preApprovalChanged = false;\r\n this.vendor.vendorId = res.rowId;\r\n this.vendor.vendorName = res.name;\r\n if (this.application.preApprovalVendor == null){\r\n if (this.application.vendors.filter(x => x.vendorId == res.rowId).length > 0){\r\n this.application.preApprovalVendor =this.application.vendors.filter(x => x.vendorId == res.rowId)[0]\r\n }else{\r\n this.application.preApprovalVendor = new Vendor();\r\n this.application.preApprovalVendor.vendorId = res.rowId;\r\n this.application.preApprovalVendor.creditLimit = this.vendor.creditLimit;\r\n }\r\n }\r\n }\r\n this.getRetailersForVendor(this.vendor.vendorId);\r\n })\r\n .catch(err => {\r\n console.error('Error in GetSponsoringDealerForPreApproval');\r\n });\r\n } else {\r\n if (this.vendor && this.vendor.vendorId > 0) {\r\n const vendorControl = this.group.get('Vendor');\r\n vendorControl.setErrors(null);\r\n this.getRetailersForVendor(this.vendor.vendorId);\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n addAdditionalControls() {\r\n this.zip = new FormControl('', Validators.compose([Validators.maxLength(10), Validators.pattern('^[0-9]{5}(?:-[0-9]{4})?$')]));\r\n this.zip.updateValueAndValidity();\r\n this.group.addControl('zip', this.zip);\r\n\r\n const numberValidation = validateNumberFactory(false, 0, 1, totalIncomeMaxNLS, this._utilities);\r\n this.creditLimit = new FormControl('', [Validators.required, numberValidation]);\r\n this.creditLimit.updateValueAndValidity();\r\n this.group.addControl('creditLimit', this.creditLimit);\r\n\r\n this.phone = new FormControl('', Validators.compose([Validators.maxLength(14), Validators.minLength(14)]));\r\n this.phone.updateValueAndValidity();\r\n this.group.addControl('phone', this.phone);\r\n\r\n if (this.vendor.retailerPhone) {\r\n this.vendor.retailerPhone = this._utilities.formatPhoneNumber(this.vendor.retailerPhone);\r\n }\r\n }\r\n\r\n filterVendors() {\r\n const selectedVendors = this.application.vendors.map(v => v.vendorId);\r\n this.vendorService.filterSelectedVendors(selectedVendors);\r\n }\r\n\r\n getVendorUpdate() {\r\n const component = this;\r\n const service = this.vendorService;\r\n return function (value) {\r\n if (component.vendor) {\r\n const vendor = service.vendors.find(v => v.getShortName() === value);\r\n if (vendor) {\r\n const vendorControl = component.group.get('Vendor');\r\n vendorControl.setErrors(null);\r\n component.vendor.vendorId = vendor.rowId;\r\n component.vendor.vendorName = vendor.name;\r\n component.filterVendors();\r\n component.getRetailersForVendor(vendor.rowId);\r\n } else {\r\n const vendorControl = component.group.get('Vendor');\r\n vendorControl.setErrors({ 'required': true });\r\n component.vendor.vendorId = 0;\r\n component.vendor.vendorName = value;\r\n }\r\n if (component.application.preApprovalStagingId > 0) {\r\n if (!vendor || vendor.rowId !== component.preApprovalSponsorId) {\r\n component.preApprovalChanged = true;\r\n } else {\r\n component.preApprovalChanged = false;\r\n }\r\n }\r\n component.clearRetailer();\r\n }\r\n };\r\n }\r\n\r\n clearRetailer() {\r\n this.vendor.retailerId = 0;\r\n this.vendor.retailer = '';\r\n this.vendor.retailerAddress = '';\r\n this.vendor.retailerCity = '';\r\n this.vendor.retailerState = '';\r\n this.vendor.retailerZip = '';\r\n this.vendor.retailerPhone = '';\r\n }\r\n\r\n getRetailersForVendor(vendorId: number) {\r\n this.loadingRetailers = true;\r\n const nearZipCode = this.getZipCode();\r\n this.vendorService.GetRetailersForVendor(vendorId, nearZipCode, this.application ? `ApplicationId:${this.application.id}` : null)\r\n .then((res) => {\r\n this.vendorDealersFactory = new VendorDealersFactory(this.vendorService);\r\n this.loadingRetailers = false;\r\n })\r\n .catch(err=>{\r\n console.log('Error in get retailers for vender.',err)\r\n }).then(() => {\r\n this.loadingRetailers = false;\r\n });\r\n }\r\n\r\n getRetailerUpdate() {\r\n const component = this;\r\n const service = this.vendorService;\r\n\r\n return function (value) {\r\n if (component.vendor) {\r\n const retailer = service.vendorRetailers.find(v => v.getItemName() === value);\r\n if (retailer) {\r\n component.vendor.retailerId = retailer.rowId;\r\n component.vendor.retailer = retailer.name;\r\n component.vendor.retailerAddress = retailer.address.line1;\r\n component.vendor.retailerCity = retailer.address.city;\r\n component.vendor.retailerState = retailer.address.state;\r\n component.vendor.retailerZip = retailer.address.zipcode;\r\n if (retailer.phoneNumber) {\r\n component.vendor.retailerPhone = component._utilities.formatPhoneNumber(retailer.phoneNumber);\r\n }\r\n } else {\r\n component.clearRetailer();\r\n component.vendor.retailer = value;\r\n }\r\n }\r\n };\r\n }\r\n\r\n checkForRetailerChange() {\r\n if (this.loadingRetailers === false && this.vendor.retailerId > 0) {\r\n const retailer = this.vendorService.vendorRetailers.find(v => v.rowId === this.vendor.retailerId);\r\n if (retailer) {\r\n if (retailer.address.line1 !== this.vendor.retailerAddress ||\r\n retailer.address.city !== this.vendor.retailerCity ||\r\n retailer.address.state !== this.vendor.retailerState ||\r\n retailer.address.zipcode !== this.vendor.retailerZip ||\r\n (retailer.phoneNumber\r\n && (this._utilities.formatPhoneNumber(retailer.phoneNumber)\r\n !== this._utilities.formatPhoneNumber(this.vendor.retailerPhone)))\r\n ) {\r\n this.vendor.retailerId = 0;\r\n }\r\n } else {\r\n this.vendor.retailerId = 0;\r\n }\r\n }\r\n }\r\n\r\n greaterThanZeroValidator() {\r\n const comp = this;\r\n return function (c: FormControl) {\r\n if (c.value || c.value === 0) {\r\n const number = comp._utilities.toNumber(c.value);\r\n if (number != null && number < 1) {\r\n return { lessThanZero: true };\r\n }\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n private getZipCode(): string {\r\n if (this.application.entity) {\r\n return this.application.entity.mailingAddress.zipcode;\r\n }\r\n\r\n return this.application.borrowers[0].mailingAddress.zipcode;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

\r\n Pre-Screened Offer Acceptance\r\n

\r\n
\r\n
\r\n

Program Information

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

All fields are required unless otherwise noted.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n (new)\r\n {{b.vendorName}}\r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Total Credit Requested: {{application.totalCreditLimit() | currency:'USD'}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n You have changed the values associated with your pre-screen offer. Please click “Restore Defaults” if\r\n you wish to continue with the pre-screen offer. If you would simply like to start a new application,\r\n which would not be processed under the pre-screen offer, please click “Proceed” and you can begin the\r\n new application process.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { TopForm } from '../top-form';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { Vendor } from '../../models/vendor';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-vendor',\r\n templateUrl: 'vendor.component.html',\r\n styleUrls: ['../styles_form.css', 'vendor-programs.component.css']\r\n})\r\nexport class VendorComponent extends AbstractFormPage {\r\n isOpen: boolean[];\r\n accordionMap: number[];\r\n formGroups: FormGroup[];\r\n form: TopForm;\r\n preApproved = false;\r\n showModal = false;\r\n containerClass='';\r\n\r\n constructor(currentAppSvc: CurrentApplicationService, router: Router, utilities: UtilitiesService, history: HistoryService, notificationService: NotificationService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'program';\r\n this.isOpen = [];\r\n this.formGroups = [];\r\n this.accordionMap = [];\r\n this.initPage();\r\n }\r\n\r\n afterInitPage() {\r\n this.form = new TopForm();\r\n if (this.application.vendors.length === 0) {\r\n this.add();\r\n } else {\r\n let opened = false;\r\n for (let i = 0; i < this.application.vendors.length; ++i) {\r\n if (!opened && !this.application.vendors[i].vendorName) {\r\n opened = true;\r\n this.isOpen.push(true);\r\n } else {\r\n this.isOpen.push(false);\r\n }\r\n this.accordionMap.push(i);\r\n const group = new FormGroup({});\r\n this.formGroups.push(group);\r\n this.form.addControl(this.accordionMap.length.toString(), group);\r\n }\r\n }\r\n\r\n if (this.application.borrowers[0]) {\r\n this.preApproved = this.application.borrowers[0].isPreApproved;\r\n }\r\n }\r\n\r\n setClass(isSubmitted:boolean, index: number):string{\r\n if(isSubmitted && !(this.formGroups[index] && this.formGroups[index].valid)){\r\n this.containerClass = 'error';\r\n }\r\n if( !(this.formGroups[index] && this.formGroups[index].valid) && !this.isOpen[index]){\r\n this.containerClass = 'ng-invalid';\r\n }\r\n return this.containerClass;\r\n }\r\n\r\n add() {\r\n this.application.vendors.push(new Vendor());\r\n this.closeAllTabs();\r\n this.accordionMap.push(this.isOpen.length);\r\n this.isOpen.push(true);\r\n const group = new FormGroup({});\r\n this.formGroups.push(group);\r\n this.form.addControl(this.accordionMap.length.toString(), group);\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n delete(i: number, e: MouseEvent) {\r\n this.application.vendors.splice(i, 1);\r\n this.isOpen.splice(i, 1);\r\n this.formGroups.splice(i, 1);\r\n let found = null;\r\n this.accordionMap = this.accordionMap.map((mapping, idx) => {\r\n if (mapping === i) {\r\n found = true;\r\n this.form.removeControl((idx + 1).toString());\r\n return -1;\r\n } else {\r\n return found ? mapping - 1 : mapping;\r\n }\r\n });\r\n e.preventDefault();\r\n\r\n if (this.application.vendors.length === 0) {\r\n this.add();\r\n }\r\n }\r\n\r\n tabOpen(e) {\r\n this.isOpen[this.accordionMap[e.index]] = true;\r\n }\r\n\r\n tabClose(e) {\r\n this.isOpen[this.accordionMap[e.index]] = false;\r\n }\r\n\r\n private closeAllTabs() {\r\n for (let i = 0; i < this.isOpen.length; ++i) {\r\n this.isOpen[i] = false;\r\n }\r\n }\r\n\r\n hasNonWhitespace(s) {\r\n return /[^\\s]/g.test(s);\r\n }\r\n\r\n showDisplayName(vendor: Vendor): boolean {\r\n return this.hasNonWhitespace(vendor.vendorName);\r\n }\r\n\r\n getTotal(total, num): number {\r\n return total + num;\r\n }\r\n\r\n submit() {\r\n if (this.isValidForm()) {\r\n this.next();\r\n }\r\n }\r\n\r\n previous() {\r\n if (this.isValidForm()) {\r\n this.back();\r\n }\r\n }\r\n\r\n isValidForm() {\r\n const comp = this;\r\n comp.form.updateValueAndValidity();\r\n comp.form.submitted = true;\r\n if (comp.form.valid) {\r\n if (comp.form.valid && comp.application.preApprovalStagingId > 0 && !comp.comparePreApprovalData()) {\r\n comp.showModal = true;\r\n return false;\r\n }\r\n return true;\r\n } else {\r\n comp.scrollToError();\r\n return false;\r\n }\r\n }\r\n\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string) {\r\n return new Promise((resolve, reject) => {\r\n const comp = this;\r\n if (comp.isValidForm()) {\r\n comp.application.currentPage = newPageAlias;\r\n resolve(comp.save());\r\n } else {\r\n reject(false);\r\n }\r\n });\r\n }\r\n\r\n comparePreApprovalData() {\r\n const defaults = this.application.preApprovalVendor;\r\n if (this.application.vendors[0].vendorId !== defaults.vendorId) {\r\n return false;\r\n }\r\n\r\n if (this.application.vendors[0].creditLimit > 200000) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n restorePreApprovalDefaults() {\r\n const defaults = this.application.preApprovalVendor;\r\n\r\n if (this.application.vendors[0]) {\r\n this.application.vendors.splice(0, 1);\r\n this.application.vendors.push(defaults);\r\n }\r\n\r\n this.application.vendors[0].creditLimit = 0;\r\n this.showModal = false;\r\n }\r\n\r\n ProceedWithoutPreApproval() {\r\n this.application.preApprovalStagingId = null;\r\n this.application.borrowers[0].isPreApproved = false;\r\n this.submit();\r\n }\r\n}\r\n","
\r\n

Password Reset

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

\r\n {{passwordValidationMessage(password.errors['passwordValidation'])}}\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Passwords do not match

\r\n
\r\n
\r\n
\r\n

{{invalidFormMessage}}

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n

Your password has been changed.

\r\n

Click the Ok button to return to the login page.

\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { validatePasswordFactory, passwordCompareFactory } from '../validation/password-validator.directive';\r\nimport { TopForm } from '../top-form';\r\n\r\n@Component({\r\n templateUrl: 'reset-password-landing.component.html',\r\n styleUrls: ['../styles_form.css', 'reset-landing.component.css']\r\n})\r\nexport class ResetPasswordLandingComponent implements OnInit {\r\n email: string;\r\n token: string;\r\n securityQuestion: string;\r\n securityAnswer = '';\r\n newPassword: string;\r\n confirmNewPassword: string;\r\n showSecurityQuestion = true;\r\n serverError: string;\r\n password: FormControl = new FormControl('', [Validators.required, validatePasswordFactory()]);\r\n confirmPassword: FormControl = new FormControl('', Validators.required);\r\n passwordGroup: FormGroup;\r\n form: TopForm;\r\n showConfirmation: boolean;\r\n invalidFormMessage: string;\r\n isInvalidUserOrTokenInfo: boolean = false;\r\n\r\n constructor(private router: Router, private authService: AuthService) {\r\n this.form = new TopForm();\r\n this.passwordGroup = new FormGroup({\r\n 'password': this.password,\r\n 'confirmPassword': this.confirmPassword\r\n }, passwordCompareFactory());\r\n this.form.addControl('passwordGroup', this.passwordGroup);\r\n this.showConfirmation = false;\r\n this.invalidFormMessage = '';\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n ngOnInit() {\r\n this.email = this.router.parseUrl(this.router.url).queryParams['email'];\r\n this.token = this.router.parseUrl(this.router.url).queryParams['token'];\r\n this.authService.GetSecurityQuestion(this.email, null, this.token)\r\n .then((question) => this.securityQuestion = question)\r\n .catch((reason) => {\r\n this.invalidFormMessage = reason;\r\n this.isInvalidUserOrTokenInfo = true;\r\n });\r\n }\r\n\r\n passwordValidationMessage(errorObj) {\r\n let message = 'Password is invalid: ';\r\n // tslint:disable-next-line: forin\r\n for (const error in errorObj) {\r\n message += errorObj[error] + '; ';\r\n }\r\n\r\n return message;\r\n }\r\n\r\n submitWithQuestion() {\r\n this.form.submitted = true;\r\n if (!this.showConfirmation) {\r\n if (this.form.valid) {\r\n this.authService.ResetPassword(this.email, this.token, this.newPassword, this.securityQuestion, this.securityAnswer)\r\n .then(() => { \r\n this.showConfirmation = true;\r\n })\r\n .catch((rejected) => {\r\n this.showConfirmation = false;\r\n this.serverError = rejected;\r\n this.isInvalidUserOrTokenInfo = false;\r\n });\r\n } else {\r\n const element: any = document.querySelector('.ng-invalid');\r\n if (element) {\r\n element.scrollIntoView();\r\n window.scrollBy(0, -100);\r\n }\r\n }\r\n }\r\n }\r\n\r\n successAndReturn() {\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n answerUpdated(value: string) {\r\n this.securityAnswer = value;\r\n }\r\n}\r\n","
\r\n

\r\n Reset Security Questions\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n Security Questions\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
 
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n
\r\n

Each security question must be unique.

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Password\r\n \r\n \r\n
\r\n
Your password is required to save changes.
\r\n \r\n
\r\n

Your password is required

\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{serverError}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Your account was successfully updated!

\r\n \r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\n\r\nimport { SecurityQuestion } from '../../../models/security-question';\r\nimport { SecurityQuestionReset } from '../../../models/security-question-reset';\r\nimport { SecurityQuestions } from '../../../models/security-questions';\r\nimport { TopForm } from '../../../form/top-form';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { Router } from '@angular/router';\r\n\r\nconst SECURITY_QUESTIONS_COUNT = 5;\r\n\r\n@Component({\r\n selector: 'gol-edit-security-questions',\r\n templateUrl: 'edit-security-questions.component.html',\r\n styleUrls: []\r\n})\r\nexport class EditSecurityQuestionsComponent implements OnInit {\r\n form: TopForm;\r\n serverError = '';\r\n emailError = '';\r\n questionsGroup: FormGroup;\r\n possibleSecurityQuestions: string[] = SecurityQuestions;\r\n securityQuestionReset: SecurityQuestionReset;\r\n loading: boolean;\r\n changeComplete: boolean;\r\n @Input() requirePassword = true;\r\n\r\n constructor(private accountService: AccountHttpService, private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.securityQuestionReset = new SecurityQuestionReset();\r\n this.securityQuestionReset.email = this.accountService.credentials.email;\r\n const pw = this.requirePassword ? '' : this.accountService.credentials.password;\r\n this.securityQuestionReset.password = pw;\r\n this.form = new TopForm({\r\n password: new FormControl(pw, [Validators.required]),\r\n });\r\n\r\n this.questionsGroup = new FormGroup({}, this.noDuplicateQuestionsFactory());\r\n for (let x = 0; x < SECURITY_QUESTIONS_COUNT; ++x) {\r\n if (this.securityQuestionReset.securityQuestions.length <= x) {\r\n this.securityQuestionReset.securityQuestions.push(new SecurityQuestion());\r\n }\r\n const questionFC = new FormControl('', Validators.required);\r\n const answerFC = new FormControl('', Validators.required);\r\n this.questionsGroup.addControl('questionControl' + x, questionFC);\r\n this.questionsGroup.addControl('answerControl' + x, answerFC);\r\n }\r\n this.form.addControl('questionGroup', this.questionsGroup);\r\n }\r\n\r\n changeSecurityQuestion(securityQuestion: SecurityQuestion, questionValue: string) {\r\n securityQuestion.question = questionValue;\r\n }\r\n\r\n noDuplicateQuestionsFactory() {\r\n const self = this;\r\n return function (g: FormGroup) {\r\n const selectedQuestions = {};\r\n if (self.securityQuestionReset && self.securityQuestionReset.securityQuestions) {\r\n for (let i = 0; i < self.securityQuestionReset.securityQuestions.length; ++i) {\r\n const value = self.securityQuestionReset.securityQuestions[i].question;\r\n if (value) {\r\n if (value in selectedQuestions) {\r\n return { duplicateQuestions: true };\r\n }\r\n selectedQuestions[value] = true;\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n submit() {\r\n this.form.submitted = true;\r\n\r\n if (this.form.valid) {\r\n this.loading = true;\r\n this.accountService.updateSecurityQuestions(this.securityQuestionReset)\r\n .then((res) => {\r\n if (res) {\r\n this.changeComplete = res;\r\n } else {\r\n this.serverError = 'There was an issue submitting the request';\r\n }\r\n })\r\n .catch((rejected) => {\r\n if (rejected.status = 401) {\r\n this.serverError = 'Incorrect Password';\r\n } else {\r\n this.serverError = rejected;\r\n }\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n closeComplete() {\r\n if (this.requirePassword) {\r\n this.changeComplete = false;\r\n this.ngOnInit();\r\n } else {\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'gol-login-failure',\r\n templateUrl: './login-failure.component.html',\r\n styleUrls: []\r\n})\r\n\r\nexport class LoginFailureComponent {\r\n constructor(private router: Router) { }\r\n \r\n returnHome() { \r\n this.router.navigate(['/home']);\r\n }\r\n \r\n}","
\r\n Error\r\n
\r\n \r\n
\r\n

\r\n Login Error: User Account Failure\r\n

\r\n
\r\n

There was an error with your online user account.

\r\n

\r\n Please contact a Rabobank representative to ensure your account is correctly activated for online access to Grower Online.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","
\r\n
\r\n
\r\n

\r\n Login\r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n

{{serverError}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n Login - Security Question\r\n \r\n

\r\n \r\n \r\n
\r\n

{{serverError}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n","import { Component, Output, OnInit, EventEmitter, Input } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\nimport { validateCheckboxFactory } from '../../validation/checkbox-required.directive';\r\nimport { validateEmailFactory } from '../../validation/email-validator.directive';\r\nimport { User } from '../../../models/user';\r\nimport { AuthService, IAuthService } from '../../../services/auth.service';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\nimport { Router } from '@angular/router';\r\nimport { connectableObservableDescriptor } from 'rxjs/internal/observable/ConnectableObservable';\r\nimport { DatePipe, formatDate } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'gol-login',\r\n templateUrl: 'login.component.html',\r\n styleUrls: ['login.component.css']\r\n})\r\nexport class LoginComponent {\r\n\r\n @Input() hideCancel = false;\r\n form: TopForm;\r\n email: FormControl;\r\n password: FormControl;\r\n serverError = '';\r\n question: string;\r\n loginMessage: string;\r\n loginDateUtc: Date;\r\n answer: string;\r\n @Output() closeEvent: EventEmitter = new EventEmitter();\r\n submitting: boolean;\r\n loading: boolean;\r\n passwordExpired: boolean;\r\n\r\n constructor(private authService: AuthService, private userService: UserService,\r\n private accountService: AccountHttpService, private router: Router) {\r\n this.form = new TopForm();\r\n this.email = new FormControl('', Validators.required);\r\n this.password = new FormControl('', Validators.required);\r\n this.form.addControl('email', this.email);\r\n this.form.addControl('password', this.password);\r\n }\r\n\r\n async submit() {\r\n this.form.submitted = true;\r\n this.serverError = '';\r\n if (this.form.valid) {\r\n this.submitting = true;\r\n await this.authService.GetSecurityQuestion(this.email.value, this.password.value, null)\r\n .then(async (question) => {\r\n if (question) {\r\n this.question = question;\r\n this.answer = '';\r\n\r\n /*********Now that we're reasonably sure of their identity, display last login date message*********/\r\n await this.authService.GetLastLoginMessage(this.email.value) \r\n .then((result) => {\r\n const {message}:{message:string} = JSON.parse(result);\r\n this.loginMessage = message;\r\n }).catch((err)=>{\r\n this.serverError = err;\r\n });\r\n } else {\r\n this.closeEvent.emit(false);\r\n this.accountService.credentials.email = this.email.value;\r\n this.accountService.credentials.password = this.password.value;\r\n this.router.navigate(['/resetsecurityquestions'], { skipLocationChange: true });\r\n }\r\n \r\n })\r\n .catch((rejected) => {\r\n this.serverError = rejected;\r\n if (rejected === 'Password expired') {\r\n this.passwordExpired = true;\r\n }\r\n })\r\n .finally(() => {\r\n this.submitting = false;\r\n });\r\n }\r\n }\r\n\r\n submitWithQuestion() {\r\n this.form.submitted = true;\r\n this.serverError = '';\r\n if (this.form.valid) {\r\n this.submitting = true;\r\n this.authService.Login(this.email.value, this.password.value, this.question, this.answer)\r\n .then(() => {\r\n this.securityQuestionPassed();\r\n })\r\n .catch((rejected) => {\r\n this.setFailedLogin(rejected);\r\n })\r\n .finally(() => {\r\n this.submitting = false;\r\n });\r\n }\r\n }\r\n\r\n cancel() {\r\n this.closeEvent.emit(false);\r\n }\r\n\r\n securityQuestionPassed() {\r\n this.checkContactAccountsEnabled();\r\n }\r\n\r\n answerUpdated(value: string) {\r\n this.answer = value;\r\n }\r\n\r\n checkContactAccountsEnabled() {\r\n const user = this.userService.GetUser();\r\n if (!user) {\r\n this.closeEvent.emit(true);\r\n } else {\r\n if (user.cifno) {\r\n this.loading = true;\r\n this.accountService.getCustomerContactDetails(user.cifno)\r\n .then((results) => {\r\n this.loading = false;\r\n if (results.AccountsDisabled) {\r\n this.userService.Logout();\r\n this.setFailedLogin('There is an issue with your account. Please contact customer service for more details.');\r\n } else {\r\n this.checkAccountStatuses(user);\r\n }\r\n });\r\n } else {\r\n this.closeEvent.emit(true);\r\n }\r\n }\r\n }\r\n\r\n checkAccountStatuses(user: User) {\r\n let result = true;\r\n this.loading = true;\r\n this.accountService.getAllCommitments()\r\n .then((results) => {\r\n this.loading = false;\r\n const allCommitments = results;\r\n if (allCommitments && allCommitments.length > 0) {\r\n user.hasBadCreditAccounts = allCommitments.some(x => this.isBadCreditAccount(x));\r\n user.hasGoodCreditAccounts = allCommitments.some(x => !this.isBadCreditAccount(x));\r\n user.canApply = allCommitments.every(x => !this.stopApplying(x));\r\n\r\n if (user.hasBadCreditAccounts && !user.hasGoodCreditAccounts) {\r\n this.userService.Logout();\r\n this.setFailedLogin('There is an issue with your account. Please contact customer service for more details.');\r\n\r\n result = false;\r\n }\r\n }\r\n })\r\n .catch(err => { })\r\n .then(() => {\r\n if (result) {\r\n this.closeEvent.emit(true);\r\n }\r\n });\r\n }\r\n\r\n onExpiredPasswordUpdated(newPassword: string) {\r\n this.passwordExpired = false;\r\n this.password.setValue(newPassword);\r\n this.submit();\r\n }\r\n\r\n private isBadCreditAccount(commitment: Commitment): boolean {\r\n return commitment.HasBankruptcy\r\n || commitment.HasCollections;\r\n }\r\n\r\n private stopApplying(commitment: Commitment): boolean {\r\n return commitment.IsDelinquent\r\n || commitment.HasExtension\r\n || commitment.HasCreditHold\r\n || this.isBadCreditAccount(commitment);\r\n }\r\n\r\n private setFailedLogin(message: string) {\r\n this.serverError = message;\r\n this.email.setValue('', { onlySelf: false });\r\n this.password.setValue('', { onlySelf: false });\r\n this.email.markAsPristine();\r\n this.password.markAsPristine();\r\n this.form.submitted = false;\r\n this.question = null;\r\n }\r\n}","
\r\n

\r\n Password Expired \r\n \r\n

\r\n
\r\n

{{serverError}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

\r\n {{passwordValidationMessage(password.errors['passwordValidation'])}}\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Passwords do not match

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n

Your password has been changed.

\r\n

Click the Ok button to return to the login page.

\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { validatePasswordFactory, passwordCompareFactory } from '../../validation/password-validator.directive';\r\nimport { TopForm } from '../../top-form';\r\n\r\n@Component({\r\n selector: 'gol-password-expired',\r\n templateUrl: 'password-expired.component.html',\r\n styleUrls: []\r\n})\r\nexport class PasswordExpiredComponent {\r\n @Input() email: string;\r\n @Input() oldPassword: string;\r\n @Output() onPasswordUpdated: EventEmitter = new EventEmitter();\r\n\r\n newPassword: string;\r\n confirmNewPassword: string;\r\n serverError: string; \r\n passwordGroup: FormGroup;\r\n form: TopForm;\r\n showConfirmation: boolean;\r\n loading: boolean = false;\r\n\r\n password: FormControl = new FormControl('', [Validators.required, validatePasswordFactory()]);\r\n confirmPassword: FormControl = new FormControl('', Validators.required);\r\n\r\n constructor(\r\n private authService: AuthService\r\n ) {\r\n this.form = new TopForm();\r\n this.showConfirmation = false;\r\n this.passwordGroup = new FormGroup({\r\n 'password': this.password,\r\n 'confirmPassword': this.confirmPassword\r\n }, passwordCompareFactory());\r\n this.form.addControl('passwordGroup', this.passwordGroup);\r\n }\r\n\r\n public passwordValidationMessage(errorObj): string {\r\n let message = 'Password is invalid: ';\r\n // tslint:disable-next-line: forin\r\n for (const error in errorObj) {\r\n message += errorObj[error] + '; ';\r\n }\r\n return message;\r\n }\r\n\r\n public submit(): void {\r\n this.form.submitted = true;\r\n this.serverError = '';\r\n if (!this.showConfirmation) {\r\n if (this.form.valid) {\r\n this.loading = true;\r\n this.authService.ChangeExpiredPassword(this.email, this.oldPassword, this.newPassword)\r\n .then(() => {\r\n this.showConfirmation = true;\r\n })\r\n .catch((rejected) => {\r\n this.showConfirmation = false;\r\n this.serverError = rejected;\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n } else {\r\n const element: any = document.querySelector('.ng-invalid');\r\n if (element) {\r\n element.scrollIntoView();\r\n window.scrollBy(0, -100);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public successAndReturn(): void {\r\n this.onPasswordUpdated.emit(this.newPassword);\r\n }\r\n}\r\n","
\r\n

\r\n Reset Password\r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n\r\n
\r\n

{{serverError}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n

We sent you an e-mail.

\r\n

Please check your inbox for further instructions.

\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Output, EventEmitter } from '@angular/core';\r\nimport { Validators, FormControl } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\nimport { AuthService } from '../../../services/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'gol-reset-password',\r\n templateUrl: 'reset-password.component.html',\r\n styles: [`.buttonContainer { height:50px }`]\r\n})\r\nexport class ResetPasswordComponent {\r\n @Output() closeEvent: EventEmitter = new EventEmitter();\r\n\r\n form: TopForm;\r\n email: FormControl;\r\n serverError = '';\r\n showConfirmation: boolean;\r\n loading: boolean = false;\r\n\r\n constructor(private authService: AuthService) {\r\n this.form = new TopForm();\r\n this.email = new FormControl('', Validators.required);\r\n this.form.addControl('email', this.email);\r\n this.showConfirmation = false;\r\n }\r\n\r\n submit() {\r\n if (!this.showConfirmation) {\r\n this.loading = true;\r\n this.form.submitted = true;\r\n this.serverError = '';\r\n if (this.form.valid) {\r\n this.authService.InitiatePasswordReset(this.email.value)\r\n .then(() => {\r\n this.showConfirmation = true;\r\n })\r\n .catch((rejected) => {\r\n this.serverError = rejected;\r\n this.showConfirmation = false;\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n cancel() {\r\n this.closeEvent.emit(false);\r\n }\r\n\r\n successAndReturn() {\r\n this.closeEvent.emit(true);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-reset-security-questions',\r\n templateUrl: 'reset-security-questions.component.html',\r\n styleUrls: []\r\n})\r\nexport class ResetSecurityQuestionsComponent {\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n

{{loginMessage}}

\r\n
\r\n
\r\n

{{serverError}}

\r\n
","import { Component, Output, OnInit, EventEmitter, Input } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\nimport { formatDate } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'gol-security-question',\r\n templateUrl: 'security-question.component.html',\r\n styles: [`.buttonContainer { height:50px }`]\r\n})\r\nexport class SecurityQuestionComponent {\r\n\r\n form: TopForm;\r\n @Input() securityQuestion = '';\r\n @Input() header: string;\r\n @Input() email: string;\r\n @Input() password: string;\r\n @Input() securityAnswer: string;\r\n answerForm: FormControl;\r\n @Input() serverError = '';\r\n @Input() loginMessage= '';\r\n @Output() answerUpdated: EventEmitter = new EventEmitter();\r\n lastLoginText: string;\r\n\r\n constructor() {\r\n this.form = new TopForm();\r\n this.answerForm = new FormControl('', Validators.required);\r\n this.form.addControl('securityAnswer', this.answerForm);\r\n }\r\n\r\n ngOnInit(){\r\n \r\n }\r\n updateAnswer(value: string) {\r\n this.answerUpdated.emit(value);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n Home {{Title}}\r\n \r\n 0\">\r\n Use existing address \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

P.O. Box is not valid for physical addresses.

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n
","import { Component, Input, AfterContentInit, AfterViewInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { Address } from '../../../models/address';\r\nimport { StateComponent } from './states.component';\r\nimport { ZipComponent } from './zip.component';\r\nimport { NgModel, FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\nimport { CurrentApplicationService } from '../../../services/current-application.service';\r\nimport { validateIsNotPOBox } from '../../validation/is-not-po-box';\r\n\r\n@Component({\r\n selector: 'gol-address-component',\r\n templateUrl: 'address.component.html',\r\n styles: [`\r\n .spanSelectExisting {\r\n float:right;\r\n font-size:12px;\r\n }\r\n `]\r\n})\r\nexport class AddressComponent implements AfterContentInit {\r\n\r\n get controlsConstructed(): boolean {\r\n return (this.streetCtrl != null) && (this.cityCtrl != null);\r\n }\r\n\r\n constructor(currentAppService: CurrentApplicationService) {\r\n currentAppService.getCurrentApplication('AddressComponent - cstr').then(app => {\r\n if (app.entity) {\r\n this.pushAddress(app.entity.mailingAddress);\r\n this.pushAddress(app.entity.physicalAddress);\r\n app.additionalOwners.forEach(owner => {\r\n this.pushAddress(owner.physicalAddress);\r\n });\r\n }\r\n app.borrowers.forEach(borrower => {\r\n this.pushAddress(borrower.mailingAddress);\r\n this.pushAddress(borrower.physicalAddress);\r\n });\r\n\r\n });\r\n }\r\n\r\n @Input('disabled')\r\n set disabled(value: boolean) {\r\n this.disabledVal = value;\r\n this.handleDisableChange(value);\r\n }\r\n get disabled(): boolean {\r\n return this.disabledVal;\r\n }\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n @Input() allowPOBox = false;\r\n\r\n streetCtrl: FormControl;\r\n zipCtrl: FormControl;\r\n stateCtrl: FormControl;\r\n cityCtrl: FormControl;\r\n addressList: Address[] = [];\r\n\r\n @Input()\r\n Title: string;\r\n\r\n @Input()\r\n address: Address;\r\n\r\n private disabledVal: boolean;\r\n\r\n @Input()\r\n showHomeAddressPrefix = false;\r\n @Input() updateFn: Function = () => { };\r\n\r\n private pushAddress(address: Address) {\r\n if (address.isComplete) {\r\n if (!this.addressList.find(a => {\r\n return a.toString() === address.toString();\r\n })) {\r\n this.addressList.push(address);\r\n }\r\n }\r\n }\r\n\r\n ngAfterContentInit() {\r\n let streetValidators = [Validators.required, validateIsNotPOBox()];\r\n if (this.allowPOBox) {\r\n streetValidators = [Validators.required];\r\n }\r\n this.streetCtrl = new FormControl({ value: this.address.line1, disabled: this.disabled }, streetValidators);\r\n this.cityCtrl = new FormControl({ value: this.address.city, disabled: this.disabled }, Validators.required);\r\n this.stateCtrl = new FormControl({value: this.address.state, disabled: this.disabled}, Validators.required);\r\n this.zipCtrl = new FormControl({value: this.address.zipcode, disabled: this.disabled}, Validators.required);\r\n\r\n const useGroup: FormGroup = this.group || this.form;\r\n useGroup.addControl(this.Title + 'Street', this.streetCtrl);\r\n useGroup.addControl(this.Title + 'city', this.cityCtrl);\r\n }\r\n\r\n handleDisableChange(disabled: boolean) {\r\n if (this.controlsConstructed) {\r\n if (disabled) {\r\n this.streetCtrl.disable();\r\n this.cityCtrl.disable();\r\n } else {\r\n this.streetCtrl.enable();\r\n this.cityCtrl.enable();\r\n }\r\n }\r\n }\r\n\r\n addressListSelected(address: Address) {\r\n // if(addressJson.length > 0) {\r\n // var address = JSON.parse(addressJson);\r\n this.address.city = address.city;\r\n this.address.state = address.state;\r\n this.address.line1 = address.line1;\r\n this.address.zipcode = address.zipcode;\r\n // }\r\n }\r\n\r\n serializeAddress(address: Address) {\r\n return JSON.stringify(address);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Input, AfterViewInit } from '@angular/core';\r\nimport { Address } from '../../../models/address';\r\nimport { AddressComponent } from './address.component';\r\nimport { NgForm, NgModel, FormGroup } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\n\r\n@Component({\r\n selector: 'gol-combined-address-component',\r\n templateUrl: 'combined-address.component.html',\r\n})\r\nexport class CombinedAddressComponent implements AfterViewInit {\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n @Input() name: string;\r\n physicalGroup: FormGroup = new FormGroup({});\r\n @Input()\r\n physicalAddress: Address;\r\n\r\n @Input()\r\n mailingAddress: Address;\r\n\r\n @Input()\r\n showHomeAddressPrefix = false;\r\n\r\n ngAfterViewInit() {\r\n this.streetUpdated()();\r\n }\r\n\r\n streetUpdated() {\r\n const combAddress = this;\r\n return function () {\r\n const useGroup = combAddress.group || combAddress.form;\r\n if (combAddress.isPhysicalAddressRequired()) {\r\n useGroup.addControl(combAddress.name, combAddress.physicalGroup);\r\n } else {\r\n useGroup.removeControl(combAddress.name);\r\n }\r\n };\r\n }\r\n\r\n isPhysicalAddressRequired() {\r\n return !this.mailingAddress.isPhysicalAddress();\r\n }\r\n}\r\n","import { Component, Input, forwardRef, QueryList, AfterViewInit, ViewChildren } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NgModel, NgForm, FormGroup } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\nimport { States } from '../../../models/state-list';\r\n\r\nexport const STATE_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => StateComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'gol-state-select',\r\n template: `
\r\n \r\n \r\n
\r\n

{{requiredErrorMessage}}

\r\n
\r\n
`,\r\n providers: [STATE_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class StateComponent implements ControlValueAccessor, AfterViewInit {\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n\r\n @Input()\r\n Title: string;\r\n @Input()\r\n requiredErrorMessage = 'Required';\r\n @Input()\r\n disabled = false;\r\n selectedState: string;\r\n\r\n private onTouchedCallback: () => {};\r\n private onChangeCallback: (_: any) => {};\r\n\r\n states = States;\r\n\r\n ngAfterViewInit() {\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.inputChildren.forEach((item) => {\r\n useGroup.addControl(this.Title, item.control);\r\n });\r\n }\r\n\r\n writeValue(value: any) {\r\n if (value !== this.selectedState) {\r\n this.selectedState = value;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n update() {\r\n this.onChangeCallback(this.selectedState);\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, forwardRef, QueryList, AfterViewInit, ViewChildren } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NgModel, NgForm, FormGroup } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\n\r\nexport const ZIP_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ZipComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'gol-zip-component',\r\n template: `
\r\n \r\n \r\n
\r\n

{{requiredErrorMessage}}

\r\n

{{Title}} is invalid

\r\n
\r\n
`,\r\n providers: [ZIP_INPUT_CONTROL_VALUE_ACCESSOR],\r\n})\r\nexport class ZipComponent implements ControlValueAccessor, AfterViewInit {\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n mask = zipMask;\r\n\r\n @Input()\r\n Title = 'ZIP Code';\r\n @Input()\r\n requiredErrorMessage = 'Required';\r\n @Input()\r\n disabled = false;\r\n\r\n zipCode: String;\r\n\r\n private onTouchedCallback: () => {};\r\n private onChangeCallback: (_: any) => {};\r\n\r\n ngAfterViewInit() {\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.inputChildren.forEach((item) => {\r\n useGroup.addControl(this.Title, item.control);\r\n });\r\n }\r\n\r\n writeValue(value: any) {\r\n if (value !== this.zipCode) {\r\n this.zipCode = value;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n update() {\r\n this.onChangeCallback(this.zipCode);\r\n }\r\n}\r\n\r\nexport function zipMask(inputValue) {\r\n let array: any[] = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\r\n if (inputValue.length > 5) {\r\n array = array.concat(['-', /\\d/, /\\d/, /\\d/, /\\d/]);\r\n }\r\n return array;\r\n}\r\n","

Attachments for {{getTitle()}}

\r\n

Document must be one of the following types:
.pdf, .doc, .docx, .xls, .xlsx, .png, .jpg, .bmp

\r\n
\r\n Upload Attachments:\r\n \r\n
\r\n \r\n
\r\n
\r\n {{d.Name}}\r\n
\r\n
\r\n
\r\n
\r\n {{message}}\r\n
\r\n
\r\n {{message}}\r\n
\r\n {{incompleteFields}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, ViewEncapsulation, OnInit, Input } from '@angular/core';\r\nimport { Document } from '../../../models/document/document';\r\nimport { DocumentMetaData } from '../../../models/document/document-meta-data';\r\nimport { DocumentService } from '../../../services/document.service';\r\n\r\n@Component({\r\n selector: 'gol-attachments',\r\n templateUrl: 'attachments.component.html',\r\n styleUrls: ['attachments.component.css']\r\n})\r\n\r\nexport class AttachmentsComponent implements OnInit {\r\n\r\n @Input() Refno: string;\r\n @Input() PrimaryCifNumber: string;\r\n @Input() Type: string;\r\n\r\n incompleteFields = 'Please enter a value for all required fields!';\r\n uploadIncomplete = false;\r\n updateIncomplete = false;\r\n uploading = false;\r\n uploadDocuments: Document[] = [];\r\n editingDocument: Document;\r\n files: FileList;\r\n uploadMessages: string[] = [];\r\n errorMessages: string[] = [];\r\n\r\n constructor(private documentService: DocumentService) { }\r\n\r\n ngOnInit() {\r\n this.uploadMessages = [];\r\n this.errorMessages = [];\r\n this.uploadDocuments = [];\r\n }\r\n\r\n onChange(event) {\r\n this.files = event.srcElement.files;\r\n\r\n for (let i = 0; i < this.files.length; i++) {\r\n const newDocument = this.createDocumentFromFile(this.files[i]);\r\n this.uploadDocuments.push(newDocument);\r\n }\r\n this.files = null;\r\n }\r\n\r\n onChangeEdit(event) {\r\n this.files = event.srcElement.files;\r\n if (this.files.length > 0) {\r\n this.editingDocument.File = this.files[0];\r\n this.editingDocument.Name = this.files[0].name.replace(/^.*[\\\\\\/]/, '');\r\n }\r\n this.files = null;\r\n }\r\n\r\n private createDocumentFromFile(file: any): Document {\r\n const newDocument = new Document();\r\n newDocument.Name = file.name.replace(/^.*[\\\\\\/]/, '');\r\n newDocument.MetaData = new DocumentMetaData();\r\n if (this.Refno) {\r\n newDocument.MetaData.Refno = this.Refno;\r\n }\r\n if (this.PrimaryCifNumber) {\r\n newDocument.MetaData.PrimaryCifNumber = this.PrimaryCifNumber;\r\n }\r\n newDocument.MetaData.DocumentType = this.Type;\r\n newDocument.MetaData.DocumentDescription = 'Needs Verification';\r\n newDocument.File = file;\r\n return newDocument;\r\n }\r\n\r\n getTitle(): string {\r\n let title = '';\r\n\r\n if (this.Refno) {\r\n title = 'Application ' + this.Refno;\r\n }\r\n\r\n return title;\r\n }\r\n\r\n cancel(id: number) {\r\n this.uploadDocuments.splice(id, 1);\r\n }\r\n\r\n cancelAll() {\r\n this.uploadDocuments = [];\r\n }\r\n\r\n saveAll() {\r\n this.uploadMessages = [];\r\n this.errorMessages = [];\r\n this.uploading = true;\r\n this.documentService.uploadDocuments(this.uploadDocuments)\r\n .then((res) => {\r\n res.forEach(document => {\r\n if (document.DocumentId) {\r\n this.uploadMessages.push('Document Saved: ' + document.Name + ' has been uploaded');\r\n } else {\r\n this.errorMessages.push('Issue Saving Document: ' + document.Name + ' has not been uploaded');\r\n }\r\n });\r\n this.cancelAll();\r\n this.uploading = false;\r\n })\r\n .catch((res) => {\r\n this.errorMessages.push('Issue Saving Document: There was an issue saving the document/s');\r\n this.uploading = false;\r\n });\r\n }\r\n\r\n private getTodaysDate(): string {\r\n const today = new Date();\r\n const dd = today.getDate();\r\n const mm = today.getMonth() + 1;\r\n const yyyy = today.getFullYear();\r\n return this.pad(mm, 2) + '/' + this.pad(dd, 2) + '/' + yyyy;\r\n }\r\n\r\n private pad(num: number, digits: number): string {\r\n return (1e15 + num + '').slice(-digits);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[golAutofocus]'\r\n})\r\nexport class AutofocusDirective implements OnInit {\r\n private _autofocus;\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this._autofocus || typeof this._autofocus === 'undefined') {\r\n this.el.nativeElement.focus();\r\n }\r\n }\r\n\r\n @Input() set autofocus(condition: boolean) {\r\n this._autofocus = condition !== false;\r\n }\r\n}\r\n","import { IItemFactory } from './autocomplete.component';\r\nexport class CorporationItemFactory implements IItemFactory {\r\n public items: string[] = [\r\n 'Corporation',\r\n 'Limited Liability Company (LLC)',\r\n 'Limited Liability Partnership (LLP)',\r\n 'General Partnership',\r\n 'Limited Partnership'\r\n ];\r\n getItems(query: string): string[] {\r\n if (query == null || query === '') {\r\n return this.items;\r\n } else {\r\n return this.items.filter(function (el) {\r\n return el.toLowerCase().indexOf(query.toLowerCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input, ElementRef, OnInit, AfterViewInit, ViewChildren, QueryList, HostListener, ViewChild } from '@angular/core';\r\nimport { NgModel, FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\nimport { noop } from 'rxjs/util/noop';\r\nimport { AutoComplete } from 'primeng/autocomplete';\r\nconst $ = window['$'];\r\n\r\n@Component({\r\n selector: 'gol-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.css']\r\n})\r\n\r\nexport class AutocompleteComponent implements OnInit, AfterViewInit {\r\n\r\n constructor(myElement: ElementRef) {\r\n this.elementRef = myElement;\r\n }\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n @ViewChild('autocomplete') autocomplete: AutoComplete;\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n @Input()\r\n DisplayTitle = 'Title';\r\n @Input()\r\n itemFactory: IItemFactory;\r\n @Input()\r\n maxSize = 5;\r\n @Input()\r\n showErrors = true;\r\n @Input()\r\n forceSelection = false;\r\n @Input()\r\n required = true;\r\n\r\n @Input()\r\n update: Function = noop;\r\n @Input()\r\n value = '';\r\n\r\n public filteredList = [];\r\n public elementRef;\r\n\r\n ngAfterViewInit() {\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.inputChildren.forEach((item) => {\r\n if (this.required) {\r\n useGroup.addControl(this.DisplayTitle, item.control);\r\n } else {\r\n const notRequired = new FormControl('');\r\n useGroup.addControl(this.DisplayTitle, notRequired);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n filter(event) {\r\n if (!event || event.keyCode !== 13) {\r\n this.filteredList = this.itemFactory.getItems(this.value);\r\n }\r\n\r\n if (this.forceSelection && this.filteredList.length === 0) {\r\n this.value = '';\r\n }\r\n }\r\n}\r\n\r\nexport interface IItemFactory {\r\n getItems(query: string): string[];\r\n}\r\n","import { Component, Input, AfterViewInit, ViewChildren, QueryList, forwardRef } from '@angular/core';\r\nimport { IItemFactory } from './autocomplete.component';\r\nimport { NgModel, FormGroup, NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\nimport { HelpTipComponent } from '../help-tip.component';\r\nimport { CorporationItemFactory } from './CorporationItemFactory';\r\n\r\nexport const CORP_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CorporationComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'gol-corporation-component',\r\n template: `
\r\n  Select an option from the list or type in your entity type if it is not listed.\r\n \r\n
\r\n `,\r\n styles: ['.form-group { position: relative }'],\r\n providers: [CORP_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class CorporationComponent implements AfterViewInit, ControlValueAccessor {\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n @Input() DisplayTitle = 'Entity Type';\r\n\r\n @Input()\r\n Title = 'Corporation';\r\n corporationType: string;\r\n\r\n itemFactory: IItemFactory = new CorporationItemFactory;\r\n\r\n private onTouchedCallback: () => {};\r\n private onChangeCallback: (_: any) => {};\r\n ngAfterViewInit() {\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.inputChildren.forEach((item) => {\r\n useGroup.addControl(this.Title, item.control);\r\n });\r\n }\r\n\r\n writeValue(value: any) {\r\n if (value !== this.corporationType) {\r\n this.corporationType = value;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n getUpdate() {\r\n const corpComp = this;\r\n return function (value) {\r\n corpComp.corporationType = value;\r\n corpComp.onChangeCallback(value);\r\n };\r\n }\r\n}\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Application } from '../../models/application';\r\nimport { ApplicationType } from '../../models/application-type';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { Entity } from '../../models/entity';\r\nimport { NavigationOptions } from '../../models/navigation-options';\r\n\r\n\r\n@Component({\r\n selector: 'gol-change-application-type-component',\r\n host: {\r\n '(document:click)': 'handleClick($event)',\r\n },\r\n template: `
\r\n Change Application Type\r\n \r\n
\r\n `,\r\n styles: [`.changeAppContainer {\r\n position:relative;\r\n color: var(--blue-500);\r\n }\r\n .changeAppDropDown {\r\n position:absoulte;\r\n left: 0;\r\n right: 0;\r\n z-index:99;\r\n }`]\r\n})\r\nexport class ChangeApplicationTypeComponent implements OnInit {\r\n appTypes: string[];\r\n showOptions = false;\r\n selected: string;\r\n @ViewChild('changeAppType', { static: true }) changeAppDropDown;\r\n constructor(private router: Router, private currentAppService: CurrentApplicationService) { }\r\n\r\n ngOnInit() {\r\n const types = Object.keys(ApplicationType);\r\n this.appTypes = types.slice(types.length / 2);\r\n this.currentAppService.getCurrentApplication('ChangeApplicationTypeComponent - ngOnInit').then(app => {\r\n this.selected = ApplicationType[app.appType];\r\n });\r\n }\r\n\r\n changedAppType(value: string) {\r\n this.currentAppService.getCurrentApplication('ChangeApplicationTypeComponent - changedAppType').then(app => {\r\n const previousType = app.appType;\r\n const redirect = '';\r\n app.appType = ApplicationType[value];\r\n if (app.appType === ApplicationType.Entity && previousType !== ApplicationType.Entity) {\r\n app.entity = new Entity();\r\n } else {\r\n app.entity = null;\r\n }\r\n const startpage = NavigationOptions.AppPages(app, true)[0];\r\n app.currentPage = startpage.alias;\r\n this.currentAppService.setCurrentApplication(app);\r\n this.router.navigate([startpage.route]);\r\n });\r\n }\r\n\r\n GetEnumDisplay(appType: string) {\r\n if (ApplicationType[appType] === ApplicationType.Single) {\r\n return 'Individual';\r\n } else if (ApplicationType[appType] === ApplicationType.CoBorrower) {\r\n return 'Individual with Co-Borrowers';\r\n } else {\r\n return appType;\r\n }\r\n }\r\n\r\n handleClick(event) {\r\n let clickedComponent = event.target;\r\n let inside = false;\r\n if (this.changeAppDropDown) {\r\n do {\r\n if (clickedComponent === this.changeAppDropDown.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n }\r\n if (!inside) {\r\n this.showOptions = false;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'gol-contact-component',\r\n template: `
\r\n
\r\n
\r\n \r\n
\r\n
\r\n If you need assistance with this site, please contact our customer service team.\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Call (888) 395-8505\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Email QuickLink@RaboAg.com\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Click the help icon on a page for more information.\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n For applications not signed by all parties and received by Rabo AgriFinance, information entered will be deleted after 30 days.\r\n
\r\n
\r\n
`,\r\n styles: [`.help_pad {\r\n padding:20px 0px 0px 0px;\r\n }\r\n .helpBox_grad {\r\n background: white; /* For browsers that do not support gradients */\r\n background: -webkit-linear-gradient(#D2D2D3, #F7F7F7); /* For Safari 5.1 to 6.0 */\r\n background: -o-linear-gradient(#D2D2D3, #F7F7F7); /* For Opera 11.1 to 12.0 */\r\n background: -moz-linear-gradient(#D2D2D3, #F7F7F7); /* For Firefox 3.6 to 15 */\r\n background: linear-gradient(#D2D2D3, #F7F7F7); /* Standard syntax */\r\n margin-top:20px;\r\n width:375px;\r\n margin: 0 auto;\r\n padding:10px;\r\n max-width:375px;\r\n }\r\n .RaboBlue-icon {\r\n color:#000099;\r\n margin-right:10px;\r\n }\r\n `]\r\n})\r\nexport class ContactComponent { }\r\n\r\n\r\n\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-credit-requirements',\r\n template: `\r\n
200000 && creditLimit <= 400000\" class=\"creditLimitRequirements\">\r\n

For requests between $200K and $400K, you will need a copy of your schedule F form.

\r\n
\r\n
400000\" class=\"creditLimitRequirements\">\r\n

For requests over $400K, you will need your 2 most recent years tax returns and balance sheets.

\r\n

As an entity, you'll need copies of formation documentation such as Articles of Incorporation, Partnership Agreement, Articles of Organization, etc.

\r\n
\r\n
200000\" class=\"instructions\">\r\n

Please send us your documents via:

\r\n \r\n
\r\n `,\r\n styles: [`\r\n .creditLimitRequirements {\r\n margin-top: 10px;\r\n padding: 10px;\r\n text-align: left;\r\n border: 1px solid #ffb584;\r\n border-radius: 4px;\r\n background: #ffe2c4;\r\n }\r\n .creditLimitRequirements p:last-child {\r\n margin-bottom: 0;\r\n }\r\n .instructions {\r\n margin-top: 15px;\r\n text-align: left;\r\n padding-left: 10px;\r\n }\r\n .instructions ul {\r\n list-style: none;\r\n }\r\n `]\r\n})\r\nexport class CreditRequirements {\r\n @Input()\r\n creditLimit = 0;\r\n @Input()\r\n entity = false;\r\n @Input()\r\n showInstructions = false;\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'gol-date-box',\r\n templateUrl: 'date-box.component.html',\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: DateBoxComponent }\r\n ]\r\n})\r\nexport class DateBoxComponent implements ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() disabled = false;\r\n innerValue = '';\r\n outerValue: Date;\r\n twoDigitYearCap = 40;\r\n _onChange: (value: any) => void;\r\n\r\n writeValue(value: any) {\r\n const date = moment(value);\r\n\r\n if (value && date.isValid()) {\r\n this.innerValue = date.format('MM/DD/YYYY');\r\n this.outerValue = date.toDate();\r\n }\r\n }\r\n\r\n inputUpdate($event: any): void {\r\n const candidate = this.cleanInput($event.target.value);\r\n\r\n $event.target.value = candidate;\r\n this.innerValue = candidate;\r\n\r\n if (candidate === '') {\r\n this.outerValue = null;\r\n } else {\r\n this.outerValue = this.parseDate(candidate);\r\n }\r\n\r\n this._onChange(this.outerValue);\r\n }\r\n\r\n blurUpdate(): void {\r\n if (this.outerValue instanceof Date && !/invalid/i.test(this.outerValue.toString())) {\r\n this.innerValue = moment(this.outerValue).format('MM/DD/YYYY');\r\n }\r\n }\r\n\r\n cleanInput(input: string): string {\r\n const illegalChars = /[^\\d/\\-\\.]/gi;\r\n return input.replace(illegalChars, '');\r\n }\r\n\r\n parseDate(candidate: string): Date {\r\n const dateLike = /^(\\d{1,2})[/\\-\\.](\\d{1,2})[/\\-\\.](\\d{4}|\\d{2})$/;\r\n const match = candidate.match(dateLike);\r\n\r\n if (match) {\r\n let [, month, day, year] = match.map((element: string) => parseInt(element));\r\n year = this.bumpTwoDigitYears(year);\r\n\r\n return moment([year, month - 1, day]).toDate();\r\n } else {\r\n return moment('').toDate();\r\n }\r\n }\r\n\r\n bumpTwoDigitYears(year: number): number {\r\n if (year < 100) {\r\n return (year > this.twoDigitYearCap) ? year + 1900 : year + 2000;\r\n } else {\r\n return year;\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this._onChange = fn;\r\n }\r\n registerOnTouched() { }\r\n}\r\n","\r\n","
\r\n
\r\n {{Title}}\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { FullName } from '../../models/fullname';\r\nimport { Component, Input, forwardRef, AfterViewInit, ViewChildren, QueryList } from '@angular/core';\r\nimport { NgModel, NgForm, FormGroup } from '@angular/forms';\r\nimport { TopForm } from '../top-form';\r\n\r\n@Component({\r\n selector: 'gol-fullname-component',\r\n templateUrl: 'fullname.component.html',\r\n})\r\nexport class FullNameComponent implements AfterViewInit {\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n\r\n @Input()\r\n Title: string = 'Full Name';\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n fullName: FullName;\r\n ngAfterViewInit() {\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.inputChildren.forEach((item) => {\r\n useGroup.addControl(this.Title + \"_\" + item.name, item.control);\r\n });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-help-tip',\r\n templateUrl: './help-tip.component.html',\r\n styleUrls: ['./help-tip.component.css']\r\n})\r\nexport class HelpTipComponent {\r\n}\r\n","  \r\n

\r\n \r\n

\r\n
","import { Component, Input, OnInit, AfterViewInit, forwardRef, ViewChild } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NgModel, NgForm, FormGroup } from '@angular/forms';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport numberMask from 'text-mask-addons/dist/createNumberMask';\r\n\r\nexport const NUMBER_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NumberInputComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'gol-number-input',\r\n templateUrl: 'number-input.component.html',\r\n providers: [NUMBER_INPUT_CONTROL_VALUE_ACCESSOR]\r\n\r\n})\r\nexport class NumberInputComponent implements ControlValueAccessor, AfterViewInit {\r\n @ViewChild('inputRef', { static: true }) input: { nativeElement: { value: string; focus: () => void; select: () => void; }; };\r\n @Input() placeholder = '';\r\n @Input() disabled: boolean;\r\n @Input() name: string;\r\n\r\n value: number;\r\n mask = numberMask({\r\n prefix: '$',\r\n includeThousandsSeperator: true,\r\n allowDecimal: true,\r\n });\r\n private onTouchedCallback: () => {};\r\n private onChangeCallback: (_: any) => {};\r\n\r\n constructor(private utilities: UtilitiesService) { }\r\n\r\n writeValue(value: any) {\r\n if (value !== this.value) {\r\n this.value = value;\r\n this.initInput();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initInput();\r\n }\r\n\r\n initInput() {\r\n if (this.input) {\r\n setTimeout(() => {\r\n this.input.nativeElement.value = new CurrencyPipe('en').transform(this.toNumber(this.value), 'USD', 'symbol', '1.2-2');\r\n });\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n update() {\r\n this.onTouchedCallback();\r\n this.onChangeCallback(this.value);\r\n }\r\n\r\n toNumber(value) {\r\n return this.utilities.toNumber(value);\r\n }\r\n\r\n focus() {\r\n if (this.input) {\r\n setTimeout(() => {\r\n this.input.nativeElement.focus();\r\n this.input.nativeElement.select();\r\n }, 50);\r\n }\r\n }\r\n}\r\n","","
\r\n \r\n \r\n
\r\n

{{requiredErrorMessage}}

\r\n

{{Title}} is invalid

\r\n
\r\n
","import { Component, Input, forwardRef, AfterViewInit, OnInit, AfterContentInit, ViewChildren, QueryList } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NgModel, ControlValueAccessor, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { TopForm } from '../../top-form';\r\n\r\nexport const phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n@Component({\r\n selector: 'gol-phone-component',\r\n templateUrl: 'phone.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => PhoneComponent),\r\n multi: true\r\n }],\r\n})\r\nexport class PhoneComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n mask = phoneMask;\r\n\r\n @Input()\r\n Title = 'Phone Number';\r\n @Input()\r\n requiredErrorMessage = 'Required';\r\n @Input()\r\n isrequired = true;\r\n length = 14;\r\n\r\n phoneNumber: String;\r\n phoneCtrl = new FormControl();\r\n\r\n @ViewChildren(NgModel) inputChildren: QueryList;\r\n\r\n private onTouchedCallback: () => {};\r\n private onChangeCallback: (_: any) => {};\r\n\r\n ngAfterViewInit() {\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.inputChildren.forEach((item) => {\r\n useGroup.addControl(this.Title, item.control);\r\n });\r\n }\r\n\r\n writeValue(value: any) {\r\n if (value !== this.phoneNumber) {\r\n this.phoneNumber = value;\r\n }\r\n\r\n if (this.Title === 'Phone Number') {\r\n this.phoneCtrl.setValidators([\r\n Validators.required,\r\n Validators.minLength(this.length),\r\n Validators.maxLength(this.length)]);\r\n if (this.group && this.group.get('phone')) {\r\n this.phoneCtrl.setValue(this.group.get('phone').value);\r\n } else {\r\n this.phoneCtrl.setValue(value);\r\n }\r\n }\r\n\r\n if (this.group && this.group.get('altphone')) {\r\n if (this.Title === 'Alternate Phone Number' && this.group.get('altphone') && this.group.get('altphone').value) {\r\n this.phoneCtrl.setValue(this.group.get('altphone').value);\r\n }\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n update(value: any) {\r\n if (this.onChangeCallback) {\r\n this.onChangeCallback(value);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, NgZone, ViewChild, ElementRef } from '@angular/core';\r\nimport { ReCaptchaService } from '../../services/recaptcha.service';\r\nimport { CONFIG } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'gol-re-captcha',\r\n template: '
'\r\n})\r\nexport class ReCaptchaComponent implements OnInit {\r\n\r\n @Input()\r\n site_key: string = CONFIG.recaptchaSiteKey;\r\n @Input()\r\n theme = 'light';\r\n @Input()\r\n type = 'image';\r\n @Input()\r\n size = 'normal';\r\n @Input()\r\n tabindex = 0;\r\n /* Available languages: https://developers.google.com/recaptcha/docs/language */\r\n @Input()\r\n language: string = null;\r\n\r\n @Output()\r\n captchaResponse = new EventEmitter();\r\n @Output()\r\n captchaExpired = new EventEmitter();\r\n\r\n @ViewChild('target', { static: true }) targetRef: ElementRef;\r\n widgetId: any = null;\r\n\r\n constructor(\r\n private _zone: NgZone,\r\n private _captchaService: ReCaptchaService) {\r\n }\r\n\r\n ngOnInit() {\r\n this._captchaService.getReady(this.language)\r\n .subscribe((ready) => {\r\n if (!ready) {\r\n return;\r\n }\r\n //noinspection TypeScriptUnresolvedVariable,TypeScriptUnresolvedFunction\r\n this.widgetId = (window).grecaptcha.render(this.targetRef.nativeElement, {\r\n 'sitekey': this.site_key,\r\n 'theme': this.theme,\r\n 'type': this.type,\r\n 'size': this.size,\r\n 'tabindex': this.tabindex,\r\n 'callback': ((response: any) => this._zone.run(this.recaptchaCallback.bind(this, response))),\r\n 'expired-callback': (() => this._zone.run(this.recaptchaExpiredCallback.bind(this)))\r\n });\r\n });\r\n }\r\n\r\n public reset() {\r\n if (this.widgetId == null) {\r\n return;\r\n }\r\n //noinspection TypeScriptUnresolvedVariable\r\n (window).grecaptcha.reset(this.widgetId);\r\n }\r\n\r\n public getResponse(): String {\r\n if (this.widgetId == null) {\r\n return null;\r\n }\r\n //noinspection TypeScriptUnresolvedVariable\r\n return (window).grecaptcha.getResponse(this.targetRef.nativeElement);\r\n }\r\n\r\n private recaptchaCallback(response: string) {\r\n this.captchaResponse.emit(response);\r\n }\r\n\r\n private recaptchaExpiredCallback() {\r\n this.captchaExpired.emit(true);\r\n }\r\n}\r\n","
\r\n
\r\n

© Rabobank {{year}}\r\n | Disclaimer\r\n | Privacy Statement\r\n | California Voluntary Carbon Market Disclosure Act: Rabobank Disclosure\r\n | Contact Us

\r\n

This site uses cookies to provide for technical functionality as well as to make our website more enjoyable and relevant\r\n to you. By continuing your visit on the website, you consent to the use of these cookies.\r\n

\r\n

Rabo AgriFinance is glad to provide you with additional information. We want you to know that it is the\r\n policy of Rabo AgriFinance to maintain your private information as confidential. Rabo AgriFinance will not\r\n transmit personal information such as your social security number to you via e-mail, and we recommend that\r\n you do not e-mail such information to us. Please contact us directly by phone at (888) 395-8505 or in person\r\n for any questions regarding your account involving confidential information.

\r\n
\r\n
\r\n\r\n

By continuing your visit on the website, you consent to the use of these cookies

\r\n \r\n \r\n \r\n {{col.header}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-footer-component',\r\n templateUrl: 'footer.component.html',\r\n styles: [`\r\n .footer {\r\n background:white;\r\n padding: 20px 0;\r\n font-family: \"Myriad Pro\", Arial, Helvetica, sans-serif;\r\n font-size:.80em;\r\n color:#414244;\r\n }\r\n @media screen and (min-width: 768px) {\r\n .footer {\r\n padding: 40px 0;\r\n }\r\n }\r\n `]\r\n})\r\nexport class FooterComponent implements OnInit {\r\n year: string;\r\n showCookieModal: boolean = false;\r\n\r\n columns = [\r\n { field: 'name', header: 'Name of cookie' },\r\n { field: 'description', header: 'Description' },\r\n { field: 'userexperience', header: 'User Experience or Website Functionality' },\r\n { field: 'storageperiod', header: 'Storage Period (if applicable)' }\r\n ]\r\n\r\n cookieData = [\r\n {\r\n name: 'incap_ses_*

visid_incap_*',\r\n description: 'Used to improve the security of the website.',\r\n userexperience: 'Website Functionality',\r\n storageperiod: 'Expires after 2 years'\r\n },\r\n {\r\n name: 'nlbi_*',\r\n description: 'Used to ensure requests by a client are sent to the same origin server',\r\n userexperience: 'Website Functionality',\r\n storageperiod: 'Session'\r\n },\r\n {\r\n name: 'LSESSIONID',\r\n description: 'Used to record the user session.',\r\n userexperience: 'Website Functionality',\r\n storageperiod: 'Session'\r\n },\r\n {\r\n name: '_ga*

_utm

',\r\n description: 'Used to keep a record of visitor statistics.',\r\n userexperience: 'Website Functionality',\r\n storageperiod: '2 years'\r\n },\r\n {\r\n name: '_gid',\r\n description: 'Used to keep a record of visitor statistics.',\r\n userexperience: 'Website Functionality',\r\n storageperiod: '24 hours'\r\n },\r\n {\r\n name: '_gat',\r\n description: 'Used to throttle request rate.',\r\n userexperience: 'Website Functionality',\r\n storageperiod: '1 minute'\r\n },\r\n {\r\n name: '__so',\r\n description: 'Used to record the user session.',\r\n userexperience: 'Website Functionality',\r\n storageperiod: 'Session'\r\n }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.year = new Date().getFullYear().toString();\r\n }\r\n}","\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

{{notice}}

\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\nimport { UserService } from '../../../services/user.service';\r\nimport { User } from '../../../models/user';\r\nimport { CurrentApplicationService } from '../../../services/current-application.service';\r\nimport { AccountHttpService } from '../../../services/account-http.service';\r\nimport { Commitment } from '../../../models/accounts/commitment';\r\nimport { CONFIG } from '../../../../environments/environment';\r\n\r\nconst $ = window['$'];\r\n\r\n@Component({\r\n selector: 'gol-header-component',\r\n templateUrl: 'header.component.html',\r\n styleUrls: ['../../styles_form.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n modalView: string;\r\n notice: string;\r\n environment: string;\r\n currentUser: User;\r\n\r\n private allCommitments: Commitment[] = null;\r\n private loadingCommitments = false;\r\n private commitmentsLoaded = false;\r\n\r\n constructor(private router: Router, private userService: UserService, private currentAppService: CurrentApplicationService,\r\n private accountService: AccountHttpService) { }\r\n\r\n ngOnInit() {\r\n this.environment = CONFIG.env;\r\n }\r\n\r\n userLoggedIn() {\r\n this.currentUser = this.userService.GetUser();\r\n\r\n return this.currentUser && !this.userService.GetUser().isAnonymous;\r\n }\r\n\r\n getHomePage(): string {\r\n if (this.userLoggedIn) {\r\n return '/dashboard';\r\n } else {\r\n return '/home';\r\n }\r\n }\r\n\r\n close(event: boolean) {\r\n this.modalView = '';\r\n $('#loginModal, .modal-backdrop').hide(); // dont like this... need to refactor to not use jquery\r\n this.notice = '';\r\n if (event) {\r\n if (this.currentAppService.hasCurrentApplication()) {\r\n this.currentAppService.getCurrentApplication('HeaderComponent - close()').then((app) => {\r\n if (app && app.id) {\r\n // associates any current application with the new logged in user\r\n app.save();\r\n }\r\n });\r\n }\r\n if (this.userLoggedIn()) {\r\n this.router.navigate(['/dashboard']);\r\n }\r\n }\r\n }\r\n\r\n closeResetPassword(event: boolean) {\r\n this.modalView = 'login';\r\n if (event) {\r\n this.notice = 'Please check your email to reset your password.';\r\n }\r\n }\r\n\r\n logout() {\r\n this.userService.Logout();\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n showApplyHere(): boolean {\r\n const user = this.userService.GetUser();\r\n if (user) {\r\n return user.canApply;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { NavigationOptions } from '../../../models/navigation-options';\r\nimport { Application } from '../../../models/application';\r\nimport { CurrentApplicationService } from '../../../services/current-application.service';\r\nimport { HistoryService } from '../../../services/history.service';\r\n\r\n@Component({\r\n selector: 'gol-side-nav',\r\n templateUrl: 'side-nav.component.html',\r\n styleUrls: ['progress-navigation.css']\r\n})\r\nexport class SideNavComponent {\r\n constructor(private router: Router, private currentAppService: CurrentApplicationService, private activeRoute: ActivatedRoute, public history: HistoryService) {\r\n currentAppService.getCurrentApplication('SideNavComponent - Cstr').then((app) => {\r\n this.currentApplication = app;\r\n if (app) {\r\n this.options = NavigationOptions.AppPages(this.currentApplication, false);\r\n }\r\n });\r\n }\r\n\r\n @Input() validateSave(newPageAlias: string): Promise { return new Promise(()=>false); }\r\n @Input() selectedAlias: string;\r\n currentApplication: Application;\r\n options: any[];\r\n showingMenu = false;\r\n closeProgressNav = true;\r\n\r\n isDisabled(alias: string) {\r\n if (this.currentApplication.maxPageReached && this.currentApplication.maxPageReached !== '') {\r\n const aliasIndex = NavigationOptions.AppPages(this.currentApplication, true).findIndex((page) => page.alias === alias);\r\n const maxIndex = NavigationOptions.AppPages(this.currentApplication, true).findIndex((page) => page.alias === this.currentApplication.maxPageReached);\r\n return aliasIndex > maxIndex;\r\n }\r\n return this.getIndexByAlias(alias) > this.getIndexByAlias(this.selectedAlias);\r\n }\r\n\r\n isSelected(alias: string) {\r\n return this.getIndexByAlias(alias) === this.getIndexByAlias(this.selectedAlias);\r\n }\r\n\r\n getIndexByAlias(alias: string): number {\r\n return this.options.findIndex((page) => page.alias === alias);\r\n }\r\n\r\n showMenu(show: boolean) {\r\n this.showingMenu = show;\r\n }\r\n\r\n navigate(route: string, alias: string) {\r\n if (this.isDisabled(alias) || this.isSelected(alias)){\r\n return false;\r\n }\r\n this.validateSave(alias).then(res => {\r\n if(res){\r\n this.history.forward(route.split('..')[1]);\r\n this.router.navigate([route], { relativeTo: this.activeRoute });\r\n }\r\n return res;\r\n }, reject => {\r\n // reject is already pushed to notification queue in ValidateSaveFunction\r\n return false;\r\n }\r\n ).catch(err => {\r\n // err is already pushed to notification queue in ValidateSaveFunction\r\n return false;\r\n });\r\n }\r\n}\r\n","

\r\n {{question.assetQuestionText}}\r\n

\r\n
\r\n {{question.assetExample}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Must be a positive number

\r\n

\r\n Amount must be less than {{maxDollarValue | currency:'USD':true:'1.2-2'}}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n

\r\n {{question.totalLiabilityQuestionText}}\r\n

\r\n
\r\n {{question.totalLiabilityExample}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Required

\r\n

Must be a positive number

\r\n \r\n Amount must be less than {{maxDollarValue | currency:'USD':true:'1.2-2'}}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n

\r\n {{question.shortTermLiabilityQuestionText}}\r\n

\r\n
\r\n {{question.shortTermLiabilityExample}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Required

\r\n

Cannot be greater than loan total

\r\n

Must be a positive number

\r\n \r\n Amount must be less than {{maxDollarValue | currency:'USD':true:'1.2-2'}}

\r\n
\r\n
\r\n
","import {\r\n Component, Input, OnChanges,\r\n QueryList, AfterViewInit, ViewChild\r\n} from '@angular/core';\r\nimport {\r\n NgModel, FormGroup, Validators,\r\n FormControl\r\n} from '@angular/forms';\r\nimport { ComplexQuestion } from '../../../models/wizard/complex-question';\r\nimport { TopForm } from '../../top-form';\r\nimport { Person } from '../../../models/person';\r\nimport { Entity } from '../../../models/entity';\r\nimport { UtilitiesService } from '../../../services/utilities.service';\r\nimport { totalIncomeMaxNLS } from '../../financial-validation';\r\n\r\n@Component({\r\n selector: 'gol-complex-question-component',\r\n templateUrl: './complex-question.component.html',\r\n styleUrls: ['questions.css']\r\n})\r\nexport class ComplexQuestionComponent implements OnChanges, AfterViewInit {\r\n\r\n constructor(private utilities: UtilitiesService) {\r\n\r\n }\r\n @ViewChild('asset') assetInput;\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n\r\n @Input() questionIndex: number;\r\n\r\n assetCtrls: FormControl[] = [];\r\n totalLibCtrls: FormControl[] = [];\r\n shortTermLibCtrls: FormControl[] = [];\r\n\r\n maxDollarValue: number = totalIncomeMaxNLS;\r\n\r\n @Input()\r\n question: ComplexQuestion;\r\n\r\n @Input() Characters: string[];\r\n\r\n ngOnChanges(changes) {\r\n this.assetCtrls = [];\r\n this.totalLibCtrls = [];\r\n this.shortTermLibCtrls = [];\r\n this.Characters.forEach((c, i) => {\r\n this.assetCtrls.push(new FormControl('0', [Validators.required].concat(this.question.assetCustomValidators)));\r\n this.totalLibCtrls.push(new FormControl('0', [Validators.required].concat(this.question.totalLiabilityCustomValidators)));\r\n this.shortTermLibCtrls.push(\r\n new FormControl('0', [Validators.required, this.termLessThanTotal(i)]\r\n .concat(this.question.shortTermLiabilityCustomValidators)));\r\n if (!this.question.assets[i]) {\r\n this.question.assets[i] = 0;\r\n }\r\n if (!this.question.shortTermLiability[i]) {\r\n this.question.shortTermLiability[i] = 0;\r\n }\r\n if (!this.question.totalLiability[i]) {\r\n this.question.totalLiability[i] = 0;\r\n }\r\n });\r\n\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.assetCtrls.forEach((ctrl, i) => {\r\n useGroup.addControl('asset_' + this.questionIndex + '_' + i, ctrl);\r\n });\r\n this.totalLibCtrls.forEach((ctrl, i) => {\r\n useGroup.addControl('totalLib_' + this.questionIndex + '_' + i, ctrl);\r\n });\r\n this.shortTermLibCtrls.forEach((ctrl, i) => {\r\n useGroup.addControl('shortTermLib_' + this.questionIndex + '_' + i, ctrl);\r\n });\r\n this.InitNumbers();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.InitNumbers();\r\n }\r\n\r\n private InitNumbers() {\r\n if (this.assetInput) {\r\n this.assetInput.focus();\r\n }\r\n }\r\n\r\n // validators\r\n termLessThanTotal(i: number) {\r\n const parent = this;\r\n return function (c: FormControl) {\r\n const ctrlNumber = typeof c.value === 'string' ? parent.utilities.toNumber(c.value) : c.value;\r\n if (ctrlNumber <= parent.question.totalLiability[i]) {\r\n return null;\r\n } else {\r\n return { termGreaterThanTotal: true };\r\n }\r\n };\r\n }\r\n}\r\n","import {\r\n Component, Input, OnChanges, QueryList,\r\n ViewChild, AfterViewInit\r\n} from '@angular/core';\r\nimport { NgModel, FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { SimpleQuestion } from '../../../models/wizard/simple-question';\r\nimport { TopForm } from '../../top-form';\r\nimport { Person } from '../../../models/person';\r\nimport { Entity } from '../../../models/entity';\r\nimport { totalIncomeMaxNLS } from '../../financial-validation';\r\n\r\n@Component({\r\n selector: 'gol-simple-question-component',\r\n template: `\r\n

\r\n {{question.questionText}}\r\n

\r\n
\r\n {{question.example}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Required

\r\n

Amount must be less than {{maxDollarValue | currency:'USD':true:'1.2-2'}}

\r\n
\r\n
\r\n
\r\n `,\r\n styleUrls: ['questions.css']\r\n})\r\nexport class SimpleQuestionComponent implements OnChanges, AfterViewInit {\r\n @ViewChild('questionInput') inputElement;\r\n @Input() form: TopForm;\r\n @Input() group: FormGroup;\r\n @Input() questionIndex: number;\r\n valueCtrls: FormControl[] = [];\r\n\r\n maxDollarValue: number = totalIncomeMaxNLS;\r\n\r\n @Input() question: SimpleQuestion;\r\n\r\n @Input() Characters: string[];\r\n\r\n ngOnChanges(changes) {\r\n this.valueCtrls = [];\r\n const validators = [Validators.required].concat(this.question.customValidators);\r\n\r\n this.Characters.forEach((c, i) => {\r\n this.valueCtrls.push(new FormControl('0', validators));\r\n if (!this.question.values[i]) {\r\n this.question.values[i] = 0;\r\n }\r\n });\r\n\r\n const useGroup: FormGroup = this.group || this.form;\r\n this.valueCtrls.forEach((ctrl, i) => {\r\n useGroup.addControl('single_' + this.questionIndex + '_' + i, ctrl);\r\n });\r\n this.initNumbers();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initNumbers();\r\n }\r\n\r\n private initNumbers() {\r\n if (this.inputElement) {\r\n this.inputElement.focus();\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Review Application

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Entity Information

\r\n
    \r\n
  • \r\n {{application.entity.legalName}}
  • \r\n
  • \r\n \r\n {{application.entity.mailingAddress.toString()}}\r\n
  • \r\n
  • \r\n \r\n {{application.entity.physicalAddress.toString()}}\r\n
  • \r\n
  • \r\n {{application.entity.taxId}}
  • \r\n
  • \r\n {{application.entity.entityType}}
  • \r\n
  • \r\n {{application.entity.phoneNumber}}
  • \r\n
  • \r\n {{ application.entity.stateOfOrganization}}
  • \r\n
  • \r\n {{displayDate(application.entity.dateOfOrganization)}}\r\n
  • \r\n
\r\n

Owners - {{application.totalOwnership()}}% recorded ownership\r\n \r\n

\r\n
    \r\n
  • \r\n {{selectedOwner.fullName.toString()}}
  • \r\n
  • \r\n {{displayDate(selectedOwner.dateOfBirth)}}
  • \r\n
  • \r\n {{selectedOwner.countryOfPermanentResidence}}
  • \r\n
  • \r\n {{selectedOwner.ownershipPercentage/100 | percent:'1.0-2'}}
  • \r\n
  • \r\n {{selectedOwner.signerTitle}}
  • \r\n
  • \r\n {{selectedOwner.email}}
  • \r\n
\r\n
\r\n
\r\n

Signer

\r\n

\r\n {{application.entity.signer.fullName}} ({{application.entity.signerTitle}})\r\n will sign for {{application.entity.legalName}}

\r\n
    \r\n
  • \r\n {{application.entity.signer.fullName.toString()}}
  • \r\n
  • \r\n {{getOwnerAddress(application.entity.signer).toString()}}\r\n
  • \r\n
  • \r\n {{application.entity.signer.ssn}}
  • \r\n
  • \r\n {{application.entity.signer.email}}
  • \r\n
  • \r\n {{displayDate(application.entity.signer.dateOfBirth)}}
  • \r\n
\r\n
\r\n
\r\n

\r\n Borrower Information\r\n \r\n

\r\n
    \r\n
  • \r\n {{selectedBorrower.fullName.toString()}}
  • \r\n
  • \r\n \r\n {{selectedBorrower.mailingAddress.toString()}}\r\n
  • \r\n
  • \r\n \r\n {{selectedBorrower.physicalAddress.toString()}}\r\n
  • \r\n
  • \r\n {{selectedBorrower.ssn}}
  • \r\n
  • \r\n {{selectedBorrower.email}}
  • \r\n
  • \r\n {{displayDate(selectedBorrower.dateOfBirth)}}
  • \r\n
  • \r\n {{selectedBorrower.phoneNumber}}
  • \r\n
  • \r\n {{selectedBorrower.alternatePhoneNumber}}\r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n {{selectedBorrower.countryOfCitizenship}}
  • \r\n
  • \r\n No\r\n
  • \r\n
  • \r\n {{displayDate(selectedBorrower.bankruptcyFilingDate)}}
  • \r\n
  • \r\n {{displayDate(selectedBorrower.bankruptcyDischargeDate)}}
  • \r\n
\r\n

1\" class=\"notice\">\r\n We will send co-borrowers an email to review and sign the application\r\n through DocuSign.\r\n

\r\n
\r\n
\r\n

Line of Business - {{application.lineOfBusiness}}

\r\n
\r\n
\r\n

Program Information

\r\n
    \r\n
  • \r\n {{vendor.vendorName}}
  • \r\n
  • \r\n {{vendor.retailer}}
  • \r\n
  • \r\n {{vendor.retailerAddress}}
  • \r\n
  • \r\n {{vendor.retailerCity}}
  • \r\n
  • \r\n {{vendor.retailerState}}
  • \r\n
  • \r\n {{vendor.retailerZip}}
  • \r\n
  • \r\n {{vendor.retailerPhone}}
  • \r\n
  • \r\n {{vendor.creditLimit | currency:'USD':'symbol':'1.0-0'}}
  • \r\n
\r\n
\r\n Total Credit Requested: {{application.totalCreditLimit() | currency:'USD'}}\r\n
\r\n
\r\n
\r\n

Financial Information

\r\n
\r\n \r\n {{displayDate(application.balanceSheet.creationDate)}}\r\n

Total Assets

\r\n
    \r\n
  • \r\n \r\n {{application.balanceSheet.shortTermAssets | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.balanceSheet.intermediateAssets | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.balanceSheet.termAssets | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n {{application.balanceSheet.totalAssets | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n

Total Liabilities

\r\n
    \r\n
  • \r\n \r\n {{application.balanceSheet.shortTermLiabilities | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.balanceSheet.intermediateLiabilities | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.balanceSheet.termLiabilities | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n {{application.balanceSheet.totalLiabilities | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n\r\n\r\n

Net Worth

\r\n
    \r\n
  • \r\n \r\n {{application.balanceSheet.totalAssets | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.balanceSheet.totalLiabilities | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n = 0\" [class.red]=\"application.balanceSheet.totalEquity < 0\">{{application.balanceSheet.totalEquity | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n

Total Income

\r\n
    \r\n
  • \r\n \r\n {{application.income.grossCropIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.income.grossLivestockIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
  • \r\n \r\n {{application.income.otherFarmIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
  • \r\n
\r\n
\r\n {{application.income.totalFarmIncome | currency:'USD':'symbol':'1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Error: You must check the box in order to continue.\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Error: You must check the box in order to continue.\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Error: You must check the box in order to continue.\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Are you a robot?

\r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n

In order to safely and securely complete your application with a digital\r\n signature,\r\n you will be directed to DocuSign.com where a series of questions will verify your identity and\r\n allow you to electronically\r\n sign and submit your application.

\r\n

Co-borrowers on your application will be sent a separate email to link to DocuSign and complete\r\n the same signature process.

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Printing Instructions\r\n \r\n
\r\n

We were not able to contact DocuSign

\r\n
    \r\n
  1. Please try again later or contact our customer service team.
  2. \r\n
  3. You can also print your document and manually sign and return it.
  4. \r\n
  5. You can Fax, email or mail your application to:\r\n
      \r\n
    • \r\n Fax:\r\n
      (866) 349-3139
      \r\n
    • \r\n
    • \r\n Email:\r\n
      QuickLink@RaboAg.com
      \r\n
    • \r\n
    • \r\n Mail:\r\n
      \r\n Rabo AgriFinance
      \r\n 1402 Technology Parkway
      \r\n Cedar Falls, IA 50613\r\n
      \r\n
    • \r\n
    \r\n
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Please wait while we contact DocuSign\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
","import { Component } from '@angular/core';\r\nimport { FormGroup, FormControl, NgForm, NgModel } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Application } from '../../models/application';\r\nimport { ApplicationType } from '../../models/application-type';\r\nimport { CurrentApplicationService } from '../../services/current-application.service';\r\nimport { AbstractFormPage } from '../abstractpage';\r\nimport { Person } from '../../models/person';\r\nimport { TopForm } from '../top-form';\r\nimport { validateCheckboxFactory } from '../validation/checkbox-required.directive';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { NavigationOptions } from '../../models/navigation-options';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n@Component({\r\n selector: 'gol-summary-and-sign',\r\n templateUrl: 'summary-and-sign.component.html',\r\n styleUrls: ['../styles_form.css', 'waiting.css', 'summary-and-sign.component.css', '../balance-sheet/financial-table.css']\r\n})\r\nexport class SummaryAndSignComponent extends AbstractFormPage {\r\n constructor(currentAppSvc: CurrentApplicationService,\r\n router: Router,\r\n utilities: UtilitiesService,\r\n history: HistoryService,\r\n notificationService: NotificationService,\r\n private userService: UserService) {\r\n super(currentAppSvc, router, utilities, history, notificationService);\r\n this.pageAlias = 'sign';\r\n this.initPage();\r\n }\r\n recaptchaToken = '';\r\n showTandC = false;\r\n form: TopForm = new TopForm();\r\n ownership: FormControl;\r\n finances: FormControl;\r\n terms: FormControl;\r\n waiting = false;\r\n docusignError = false;\r\n selectedOwner: Person;\r\n selectedBorrower: Person;\r\n printing = false;\r\n isAnonymous = false;\r\n hasSubmitErrors = false;\r\n\r\n get ownersToDisplay(): Person[] {\r\n let owners: Person[] = [];\r\n if(this.application && this.application.entity && this.application.entity.ultimateBeneficialOwners){\r\n owners = owners.concat(this.application.entity.ultimateBeneficialOwners);\r\n }\r\n if(this.application && this.application.entity && this.application.entity.controllingParties){\r\n owners = owners.concat(this.application.entity.controllingParties);\r\n }\r\n return owners;\r\n }\r\n\r\n afterInitPage() {\r\n this.isAnonymous = this.userService.GetUser().isAnonymous;\r\n this.finances = new FormControl(false, validateCheckboxFactory());\r\n this.form.addControl('finances', this.finances);\r\n if (this.application.entity) {\r\n this.ownership = new FormControl(false, validateCheckboxFactory());\r\n this.form.addControl('ownership', this.ownership);\r\n }\r\n if (this.isAnonymous) {\r\n this.terms = new FormControl(false, validateCheckboxFactory());\r\n this.form.addControl('terms', this.terms);\r\n }\r\n\r\n this.selectedOwner = this.ownersToDisplay[0];\r\n this.selectedBorrower = this.application.borrowers[0];\r\n }\r\n\r\n submit() {\r\n this.form.submitted = true;\r\n if (this.form.valid && (!this.isAnonymous || this.recaptchaToken !== '')) {\r\n if (!this.isAnonymous) {\r\n const currentDateTime = new Date();\r\n this.application.onlineAgreementAcceptanceDate = currentDateTime;\r\n }\r\n this.waiting = true;\r\n const newPage = NavigationOptions.AppPages(this.application, true)[this.pageNumber + 1];\r\n this.application.currentPage = newPage.alias;\r\n this.application.maxPageReached = newPage.alias;\r\n this.application.submit(this.recaptchaToken)\r\n .then((url) => {\r\n window.location.href = url;\r\n })\r\n .catch(reason => {\r\n if(reason.includes('Recaptcha')){\r\n this.notificationService.push({\r\n severity: 'error',\r\n summary: 'Could not verify recaptcha token.',\r\n detail: reason,\r\n });\r\n } else if(reason.includes('Docusign')){\r\n this.docusignError = true;\r\n this.notificationService.push({\r\n severity: 'error',\r\n summary: 'Docusign Error',\r\n detail: reason,\r\n });\r\n } else{\r\n this.notificationService.push({\r\n severity: 'error',\r\n summary: 'There was an error submitting the application.',\r\n detail: reason,\r\n });\r\n }\r\n this.hasSubmitErrors = true;\r\n this.waiting = false;\r\n });\r\n } else {\r\n this.scrollToError();\r\n }\r\n }\r\n\r\n //validate form and save (before navigating away)\r\n validateSaveFunction(newPageAlias: string) {\r\n // There isn't anything to validate on this page, can navigate away without form validation.\r\n return new Promise((resolve) => {\r\n const comp = this;\r\n comp.application.currentPage = newPageAlias;\r\n return resolve(comp.save());\r\n });\r\n }\r\n\r\n agreementChanged(event) {\r\n const checked = event.target.checked;\r\n const acceptedDateTime = checked ? new Date() : null;\r\n this.application.onlineAgreementAcceptanceDate = acceptedDateTime;\r\n }\r\n\r\n displayDate(date: Date): string { // mm/dd/yyyy\r\n if (!date) { return ''; }\r\n const mm = (date.getMonth() + 1).toString();\r\n const dd = date.getDate().toString();\r\n return [!mm[1] ? '0' : '', mm, '/', !dd[1] ? '0' : '', dd, '/', date.getFullYear()].join('');\r\n }\r\n\r\n showEntity(): boolean {\r\n return this.application.entity && this.application.appType == ApplicationType.Entity;\r\n }\r\n\r\n getOwnerAddress(person: Person) {\r\n if (person.physicalAddress.line1 === '' || person.physicalAddress.line1 == null) {\r\n return person.mailingAddress;\r\n } else {\r\n return person.physicalAddress;\r\n }\r\n }\r\n\r\n recaptchaResolved(token: string) {\r\n this.recaptchaToken = token;\r\n }\r\n\r\n entityIsOther(app) {\r\n return app.ownersList && app.entity.signer && !(app.ownersList.findIndex((o) => o === app.entity.signer) >= 0);\r\n }\r\n\r\n printApp() {\r\n this.printing = true;\r\n this.application.print().then(blob => {\r\n this.printing = false;\r\n this.closePrintDialog();\r\n }, err => {\r\n this.notificationService.push({\r\n severity: 'error',\r\n summary: 'Unable to generate PDF',\r\n detail: 'Unable to generate PDF, see log for details.'\r\n });\r\n this.printing = false;\r\n this.closePrintDialog();\r\n });\r\n }\r\n\r\n closePrintDialog() {\r\n this.docusignError = false;\r\n }\r\n}\r\n","import { FormGroup, AbstractControl } from '@angular/forms';\r\n\r\nexport class TopForm extends FormGroup {\r\n constructor(formGroupParams: { [key: string]: AbstractControl } = {}) {\r\n super(formGroupParams);\r\n }\r\n submitted = false;\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[golAutoSelect]',\r\n host: { '(focus)': 'selectAll()' }\r\n})\r\nexport class AutoSelectDirective {\r\n constructor(private ele: ElementRef) {\r\n\r\n }\r\n\r\n selectAll() {\r\n this.ele.nativeElement.select();\r\n }\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { NG_VALIDATORS, FormControl } from '@angular/forms';\r\n\r\nexport function validateCheckboxFactory() {\r\n return (c: FormControl) => {\r\n if (!c.value) {\r\n return { required: true };\r\n } else {\r\n return null;\r\n }\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[golValidateCheckbox][ngModel],[validate-checkbox][formControl]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => CheckboxValidatorDirective), multi: true }\r\n ]\r\n})\r\nexport class CheckboxValidatorDirective {\r\n\r\n validator: Function;\r\n\r\n constructor() {\r\n this.validator = validateCheckboxFactory();\r\n }\r\n\r\n validate(c: FormControl) {\r\n return this.validator(c);\r\n }\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { NG_VALIDATORS, FormControl } from '@angular/forms';\r\nimport { comparisonFactory } from './comparisonFactory';\r\n\r\n\r\n@Directive({\r\n selector: '[golValidateComparison][ngModel],[validate-comparison][formControl]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => ComparisonValidatorDirective), multi: true }\r\n ]\r\n})\r\nexport class ComparisonValidatorDirective {\r\n\r\n validator: Function;\r\n\r\n constructor() {\r\n this.validator = comparisonFactory();\r\n }\r\n\r\n validate(c: FormControl) {\r\n return this.validator(c);\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport function comparisonFactory() {\r\n return function (group: FormGroup) {\r\n const tempValue = group.controls['confirmPassword'].value ? null : { noMatch: true };\r\n return group.controls['newPassword'].setValue(tempValue);\r\n };\r\n}\r\n","export function hundredWithDecimalMask(inputValue) {\r\n const mask = [];\r\n let hasDecimal = false;\r\n let decimalCount = 0;\r\n let firstNumber = true;\r\n for (let i = 0; i < inputValue.length; ++i) {\r\n if (hasDecimal) {\r\n if (decimalCount < 2) {\r\n mask.push(/\\d/);\r\n decimalCount++;\r\n }\r\n continue;\r\n } else {\r\n if (inputValue[i] == '.') {\r\n hasDecimal = true;\r\n mask.push('.');\r\n continue;\r\n }\r\n if (i < 3) {\r\n if (firstNumber) {\r\n mask.push(/[0-9]/);\r\n firstNumber = false;\r\n } else {\r\n mask.push(/\\d/);\r\n }\r\n }\r\n }\r\n }\r\n return mask;\r\n}\r\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator, ValidatorFn, Validators } from '@angular/forms';\r\n\r\nexport function dateRangeValidator(min: Date, max: Date): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n const date: Date = control.value;\r\n const invalid = /invalid/i;\r\n let validity: any = null;\r\n\r\n if (date && (!(date instanceof Date) || invalid.test(date.toString()))) {\r\n validity = { 'invalidDate': true };\r\n } else if (max instanceof Date && date > max) {\r\n validity = { 'exceedsMax': max };\r\n } else if (min instanceof Date && date < min) {\r\n validity = { 'precedesMin': min };\r\n }\r\n\r\n return validity;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[golDateRangeValidator][ngModel]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: DateRangeValidatorDirective, multi: true }]\r\n})\r\nexport class DateRangeValidatorDirective implements Validator, OnChanges {\r\n @Input() min: any;\r\n @Input() max: any;\r\n private validatorFn = Validators.nullValidator;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.min || this.max) {\r\n if (this.min) {\r\n this.min.setHours(0, 0, 0, 0);\r\n }\r\n if (this.max) {\r\n this.max.setHours(0, 0, 0, 0);\r\n }\r\n\r\n this.validatorFn = dateRangeValidator(this.min, this.max);\r\n } else {\r\n this.validatorFn = Validators.nullValidator;\r\n }\r\n }\r\n\r\n validate(control: AbstractControl): { [key: string]: any } {\r\n return this.validatorFn(control);\r\n }\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { NG_VALIDATORS, FormControl, EmailValidator } from '@angular/forms';\r\n\r\nexport function validateEmailFactory() {\r\n return (c: FormControl) => {\r\n const EMAIL_REGEXP = /^[\\w-]+(?:\\.[\\w-]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7}$/i;\r\n\r\n return EMAIL_REGEXP.test(c.value) ? null : {\r\n validateEmail: {\r\n valid: false\r\n }\r\n };\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[golValidateEmail][ngModel],[validate-email][formControl]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => EmailValidatorDirective), multi: true }\r\n ]\r\n})\r\nexport class EmailValidatorDirective {\r\n\r\n validator: Function;\r\n\r\n constructor() {\r\n this.validator = validateEmailFactory();\r\n }\r\n\r\n validate(c: FormControl) {\r\n return this.validator(c);\r\n }\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\n\r\n@Directive({\r\n selector: '[golForceDecimals]',\r\n host: { '(blur)': 'mapValue()' }\r\n})\r\nexport class ForceDecimalsDirective {\r\n constructor(private ele: ElementRef, private utilities: UtilitiesService) {\r\n\r\n }\r\n\r\n mapValue() {\r\n const value = this.ele.nativeElement.value;\r\n if (value) {\r\n const numberValue = this.utilities.toNumber(value);\r\n const decimalValue = new CurrencyPipe('en').transform(numberValue, 'USD', 'symbol', '1.2-2');\r\n this.ele.nativeElement.value = decimalValue;\r\n }\r\n }\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\nexport function validateIsNotPOBox() {\r\n return (c: FormControl) => {\r\n const valStr = c.value;\r\n if (valStr) {\r\n const filteredStr = valStr.toString().replace(/\\./g, '').toLowerCase();\r\n if (filteredStr.match(/po\\d+|po\\s+\\d+|po\\s+box/)) {\r\n return { isPOBox: true };\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl } from '@angular/forms';\r\n\r\n\r\n@Directive({\r\n selector: '[golNoDuplicates][ngModel]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NoDuplicatesValidatorDirective, multi: true }]\r\n})\r\nexport class NoDuplicatesValidatorDirective implements Validator {\r\n @Input() noDuplicates: string[];\r\n\r\n validate(control: AbstractControl): { [key: string]: any } | null {\r\n if (this.noDuplicates == null || this.noDuplicates === undefined) {\r\n return null;\r\n } else {\r\n return this.noDuplicates.includes(control.value) ? { hasDuplicate: true } : null;\r\n }\r\n }\r\n}\r\n","import { Directive, forwardRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, FormControl } from '@angular/forms';\r\nimport { UtilitiesService } from '../../services/utilities.service';\r\n\r\nconst validateRange = (min, max, str): Object => {\r\n const numberVal = new Number(str);\r\n if (min && numberVal < min) {\r\n return {\r\n validateNumber: {\r\n valid: false,\r\n min: true\r\n }\r\n };\r\n }\r\n if (max && numberVal > max) {\r\n return {\r\n validateNumber: {\r\n valid: false,\r\n max: true\r\n }\r\n };\r\n }\r\n return null;\r\n};\r\n\r\nconst validateIfNumber = (regex, str) => {\r\n const REGEXP = new RegExp(regex);\r\n\r\n return REGEXP.test(str) ? null : {\r\n validateNumber: {\r\n valid: false,\r\n NAN: true\r\n }\r\n };\r\n};\r\n\r\nexport function validateNumberFactory(allowNegative: boolean, allowDecimal: number, min: number, max: number, utilities: UtilitiesService) {\r\n return (c: FormControl) => {\r\n // note the second condition must match with === because 0 == '' returns true\r\n if (c.value == null || c.value === '') { return null; }\r\n const value = utilities.clearmask(c.value);\r\n\r\n let retVal = null;\r\n let regexStr = '^[+' + (allowNegative ? '-' : '') + ']?';\r\n regexStr += allowDecimal\r\n ? '[0-9]+(\\.[0-9]{0,' + allowDecimal + '})?$'\r\n : '[0-9]+$';\r\n\r\n retVal = validateIfNumber(regexStr, value);\r\n if (!retVal) {\r\n // validate range\r\n retVal = validateRange(min, max, value);\r\n }\r\n return retVal;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[golValidateNumber][ngModel],[validate-number][formControl]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => NumberValidatorDirective), multi: true }\r\n ]\r\n})\r\nexport class NumberValidatorDirective {\r\n\r\n constructor(private utilities: UtilitiesService) { }\r\n @Input()\r\n allowNegative = false;\r\n @Input()\r\n allowDecimal: number;\r\n @Input()\r\n min: number;\r\n @Input()\r\n max: number;\r\n\r\n validate(c: FormControl) {\r\n const validator = validateNumberFactory(this.allowNegative, this.allowDecimal, this.min, this.max, this.utilities);\r\n return validator(c);\r\n }\r\n}\r\n","import { AbstractControl } from '@angular/forms';\r\n\r\nexport function passwordMatcher(c: AbstractControl) {\r\n return c.get('newPassword').value === c.get('confirmPassword').value ? null : { 'noMatch': true };\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { NG_VALIDATORS, FormControl, FormGroup } from '@angular/forms';\r\n\r\nconst minPasswordLength = 8;\r\nconst maxPasswordLength = 999;\r\nconst mustContainNumber = true;\r\nconst mustContainLowercaseLetter = true;\r\nconst mustContainCapitalLetter = true;\r\nconst mustContainNonAlphaNumeric = false;\r\n\r\nexport function validatePasswordFactory() {\r\n return function (c: FormControl) {\r\n if (!c.value || c.value.length === 0) {\r\n return null;\r\n }\r\n const result = { passwordValidation: {} };\r\n if (c.value.length < minPasswordLength) {\r\n result['passwordValidation']['minlength'] = 'Must be ' + minPasswordLength + ' characters';\r\n }\r\n if (mustContainNumber && !(new RegExp('[0-9]').test(c.value))) {\r\n result['passwordValidation']['nonumber'] = 'Must have a number';\r\n }\r\n if (mustContainCapitalLetter && !(new RegExp('[A-Z]').test(c.value))) {\r\n result['passwordValidation']['nocapital'] = 'Must have a capital letter';\r\n }\r\n if (mustContainLowercaseLetter && !(new RegExp('[a-z]').test(c.value))) {\r\n result['passwordValidation']['nolowercase'] = 'Must have a lowercase letter';\r\n }\r\n if (mustContainNonAlphaNumeric && !(new RegExp('[^a-zA-Z0-9]').test(c.value))) {\r\n result['passwordValidation']['nospecial'] = 'Must have a non alphanumeric character';\r\n }\r\n if (c.value.length > maxPasswordLength) {\r\n result['passwordValidation']['maxlength'] = 'Cannot be over ' + maxPasswordLength + ' characters';\r\n }\r\n if (Object.keys(result.passwordValidation).length === 0) {\r\n return null;\r\n }\r\n return result;\r\n };\r\n}\r\n\r\nexport function passwordCompareFactory() {\r\n return function (group: FormGroup) {\r\n if (!group.controls['password'] || !group.controls['confirmPassword']) {\r\n return null; // if controls are not present do not validate\r\n }\r\n return (group.controls['password'].value === group.controls['confirmPassword'].value) ? null : { noMatch: true };\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[golValidatePassword][ngModel],[validate-password][formControl]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => PasswordValidatorDirective), multi: true }\r\n ]\r\n})\r\nexport class PasswordValidatorDirective {\r\n\r\n validator: Function;\r\n\r\n constructor() {\r\n this.validator = validatePasswordFactory();\r\n }\r\n\r\n validate(c: FormControl) {\r\n return this.validator(c);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Forgot your\r\n password?

\r\n

If you are a new user, please click here to register.

\r\n

Click\r\n here for customer security information.

\r\n

Only authorized use of this site is permitted. Unauthorized access may result in legal or disciplinary action.

\r\n

This site uses cookies to provide for technical functionality as well as to make our website more enjoyable and relevant\r\n to you. By continuing your visit on the website, you consent to the use of these cookies.\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    Welcome to the new Grower Online Site!

    \r\n \r\n

    Get started with your online banking by registering today.\r\n

    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n

    Need credit? Online applications are now available!

    \r\n \r\n

    Quick - Convenient - Faster Turnaround

    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n

    Welcome to the new Grower Online Site!

    \r\n \r\n

    Get started with your online banking by registering today.\r\n

    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n

    Need credit? Online applications are now available!

    \r\n \r\n

    Quick - Convenient - Faster Turnaround

    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

You’re just a click away from accessing everything you need.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Free yourself from mailing in checks with convenient online bill pay.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Access copies of your statements and transaction history.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Request credit limit increases and make changes to the programs you're enrolled in.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Check the status of your application as it goes through the approval process.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Provides notifications on account activities.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Your account security and privacy are our top priority. Rabo AgriFinance is committed to making\r\n your online transactions secure.

\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { UserService } from '../services/user.service';\r\n\r\n@Component({\r\n selector: 'gol-home',\r\n templateUrl: 'home.component.html',\r\n styleUrls: ['home.component.css', 'slider.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n showLogin = true;\r\n\r\n constructor(private router: Router, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.redirectIfLoggedIn();\r\n }\r\n\r\n redirectIfLoggedIn() {\r\n if (this.userLoggedIn()) {\r\n this.router.navigate(['/dashboard']);\r\n }\r\n }\r\n\r\n userLoggedIn() {\r\n return this.userService.GetUser() && !this.userService.GetUser().isAnonymous;\r\n }\r\n\r\n switchToForgot() {\r\n this.showLogin = false;\r\n }\r\n\r\n switchToLogin() {\r\n this.showLogin = true;\r\n }\r\n\r\n}\r\n","import { Idle } from '@ng-idle/core';\r\nimport { Component, Input } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { UserService } from '../services/user.service';\r\nimport { CurrentApplicationService } from '../services/current-application.service';\r\n\r\n// seconds after displaying message will it time user out\r\nconst TimeoutTime = 60;\r\n\r\n@Component({\r\n selector: 'gol-idle-component',\r\n template: `\r\n
\r\n\r\n \r\n
\r\n \r\n\t\t
\r\n\t\t\t

Your session is about to expire.

\r\n\t\t
\r\n\r\n \r\n
\r\n For your security, this online session is about to end due to inactivity in {{countdown}} seconds. If you want to extend your session, please select the 'Continue' button. If you select the 'Log Out' button or do not respond, your session will automatically close.\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n\t\t \r\n\t\t
\r\n
\r\n\r\n
\r\n \r\n
\r\n You have been logged out due to inactivity.\r\n
\r\n\r\n \r\n
\r\n\t\t \r\n\t\t
\r\n
\r\n\r\n
\r\n \r\n
\r\n We are having difficulty keeping you logged in. Please give us a moment and try again.\r\n
\r\n\r\n \r\n
\r\n\t\t \r\n\t\t
\r\n
\r\n\r\n
\r\n `,\r\n styles: [`.idle-modal {\r\n position: fixed; /* Stay in place */\r\n z-index: 20001; /* Sit on top */\r\n left: 0;\r\n top: 0;\r\n width: 100%; /* Full width */\r\n height: 100%; /* Full height */\r\n overflow: auto; /* Enable scroll if needed */\r\n background-color: rgb(0,0,0); /* Fallback color */\r\n background-color: rgba(0,0,0,0.4); /* Black w/ opacity */\r\n }\r\n\r\n /* Modal Content/Box */\r\n .idle-modal-content {\r\n background-color: #fefefe;\r\n margin: 15% auto; /* 15% from the top and centered */\r\n padding: 20px;\r\n border: 1px solid #888;\r\n width: 500px;\r\n border-radius: 4px;\r\n text-align: center;\r\n }\r\n @media screen and (min-width: 768px) {\r\n .idle-modal-content {\r\n width: 80%;\r\n }\r\n }\r\n .rwd_sessionTextDiv {\r\n font-size: 24px;\r\n margin: 60px 0;\r\n }\r\n .buttonContainer {\r\n min-height:60px;\r\n }`]\r\n})\r\nexport class IdleComponent {\r\n\r\n showWarningMessage = false;\r\n showLogoutMessage = false;\r\n showErrorMessage = false;\r\n countdown: number;\r\n\r\n constructor(private router: Router, private idle: Idle, private auth: AuthService, private userSrvc: UserService) {\r\n idle.setIdle(30); // default will be overridden when user logs in to be based on token expiration\r\n idle.setTimeout(TimeoutTime);\r\n idle.setInterrupts([this.auth]);\r\n\r\n idle.onIdleStart.subscribe(onIdleStart);\r\n idle.onIdleEnd.subscribe(onIdleEnd);\r\n idle.onTimeoutWarning.subscribe(onTimeoutWarning);\r\n idle.onTimeout.subscribe(onTimeout);\r\n const self = this;\r\n\r\n function onTimeout() {\r\n self.userSrvc.Logout();\r\n self.router.navigateByUrl('/home');\r\n self.showLogoutMessage = true;\r\n self.showWarningMessage = false;\r\n }\r\n\r\n function onIdleStart() {\r\n self.showWarningMessage = true;\r\n self.countdown = TimeoutTime;\r\n }\r\n\r\n function onTimeoutWarning(countdown: number) {\r\n self.countdown = countdown;\r\n }\r\n\r\n function onIdleEnd() {\r\n self.showWarningMessage = false;\r\n self.showLogoutMessage = false;\r\n }\r\n }\r\n\r\n refresh() {\r\n this.auth.RefreshTokens()\r\n .catch((error) => {\r\n this.showErrorMessage = true;\r\n this.userSrvc.Logout();\r\n })\r\n .then(() => this.showWarningMessage = false);\r\n }\r\n\r\n closeError() {\r\n this.showErrorMessage = false;\r\n this.router.navigateByUrl('/home');\r\n }\r\n\r\n logout() {\r\n this.userSrvc.Logout();\r\n this.router.navigateByUrl('/home');\r\n this.showLogoutMessage = false;\r\n this.showWarningMessage = false;\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Application } from '../models/application';\r\nimport { ApplicationType } from '../models/application-type';\r\nimport { Entity } from '../models/entity';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { TopVendors } from '../models/vendor';\r\nimport { CurrentApplicationService } from '../services/current-application.service';\r\nimport { UserService } from '../services/user.service';\r\nimport { VendorService } from '../services/vendor.service';\r\nimport { NavigationOptions } from '../models/navigation-options';\r\n\r\n@Component({\r\n selector: 'gol-new-landing',\r\n templateUrl: 'new-landing.component.html',\r\n styleUrls: ['new-landing.component.css']\r\n})\r\nexport class NewLandingComponent {\r\n application: Application;\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private activatedRoute: ActivatedRoute,\r\n private userService: UserService,\r\n private currentAppService: CurrentApplicationService,\r\n private vendorService: VendorService) {\r\n window.scrollTo(0, 0);\r\n this.currentAppService.makeNewApp();\r\n this.currentAppService.getCurrentApplication('NewLandingComponent - Cstr').then(app => {\r\n this.application = app;\r\n let forceVendor: string = activatedRoute.snapshot.params['vendor'];\r\n if (forceVendor) {\r\n forceVendor = decodeURI(forceVendor);\r\n const top = TopVendors.find(vendor => {\r\n return vendor.name.toLowerCase() === forceVendor.toLowerCase();\r\n });\r\n if (top) {\r\n forceVendor = top.name;\r\n }\r\n this.application.vendors[0].vendorName = forceVendor;\r\n this.application.vendors[0].forceVendor = true;\r\n }\r\n });\r\n }\r\n\r\n proceedWithSingle() {\r\n this.application.entity = null;\r\n this.application.appType = ApplicationType.Single;\r\n this.proceed();\r\n }\r\n\r\n proceedWithCoborrower() {\r\n this.application.entity = null;\r\n this.application.appType = ApplicationType.CoBorrower;\r\n this.proceed();\r\n }\r\n\r\n proceedWithEntity() {\r\n if (!this.application.entity) {\r\n this.application.entity = new Entity();\r\n }\r\n this.application.appType = ApplicationType.Entity;\r\n this.proceed();\r\n }\r\n\r\n proceed() {\r\n const startpage = NavigationOptions.AppPages(this.application, true)[0];\r\n this.application.currentPage = startpage.alias;\r\n this.application.maxPageReached = startpage.alias;\r\n this.currentAppService.setCurrentApplication(this.application);\r\n this.vendorService.GetVendors();\r\n this.router.navigate([startpage.route]);\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Credit Application

\r\n
\r\n
For Agricultural Purposes Only
\r\n
Email: QuickLink@RaboAg.com
\r\n
Phone: (888) 395-8505
\r\n
\r\n
\r\n
\r\n

I'm applying as an...

\r\n \r\n
\r\n
\r\n

What will I need?

\r\n

We suggest you gather the following items to complete your application:

\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n

    for yourself and any co-borrowers (address, date of birth, social security number, tax\r\n ID, etc.)

    \r\n
  • \r\n
  • \r\n \r\n

    the online application provides tools to assist you in completing a balance sheet

    \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { SubCommitment } from './sub-commitment';\r\nimport { Commitment } from './commitment';\r\n\r\nexport class Amendment {\r\n MasterAcctRefNo: string;\r\n MasterLoanNumber: string;\r\n SubCommitments: SubCommitment[];\r\n\r\n constructor(commitment: Commitment) {\r\n if (commitment) {\r\n this.MasterAcctRefNo = commitment.AcctRefNo;\r\n this.MasterLoanNumber = commitment.LoanNumber;\r\n this.SubCommitments = commitment.SubCommitments\r\n ? Array.from(commitment.SubCommitments, (data) => new SubCommitment(data))\r\n : null;\r\n }\r\n }\r\n\r\n getTotalLoanAmount(): number {\r\n let totalLoanAmount = 0;\r\n this.SubCommitments.forEach(element => {\r\n totalLoanAmount += element.CreditLimit;\r\n });\r\n return totalLoanAmount;\r\n }\r\n}\r\n","import { Customer } from './customer';\r\nimport { SubCommitment } from './sub-commitment';\r\n\r\nexport class Commitment {\r\n AcctRefNo: string;\r\n LoanNumber: string;\r\n AccountHolder: Customer;\r\n Relationships: Customer[];\r\n OwnershipRelationships: Customer[];\r\n Dealers: string[];\r\n CreditLimit: number;\r\n Balance: number;\r\n MaturityDate: Date;\r\n SubCommitments: SubCommitment[];\r\n PaymentHistory: string;\r\n StatusCode: string;\r\n HasPendingPayment: boolean;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.AcctRefNo = data.AcctRefNo;\r\n this.LoanNumber = data.LoanNumber;\r\n this.AccountHolder = data.AccountHolder ? new Customer(data.AccountHolder) : null;\r\n this.Relationships = data.Relationships ? Array.from(data.Relationships, (d) => new Customer(d)) : null;\r\n this.OwnershipRelationships = data.OwnershipRelationships ?\r\n Array.from(data.OwnershipRelationships, (d) => new Customer(d)) : null;\r\n this.Dealers = data.Dealers ? data.Dealers : null;\r\n this.CreditLimit = data.CreditLimit ? data.CreditLimit : 0.00;\r\n this.Balance = data.Balance ? data.Balance : 0.00;\r\n this.MaturityDate = data.MaturityDate ? data.MaturityDate : null;\r\n this.SubCommitments = data.SubCommitments ? Array.from(data.SubCommitments, (d) => new SubCommitment(d)) : null;\r\n this.PaymentHistory = data.PaymentHistory;\r\n this.StatusCode = data.StatusCode;\r\n this.HasPendingPayment = data.HasPendingPayment;\r\n }\r\n }\r\n\r\n get IsPastDue(): boolean {\r\n return !!this.SubCommitments.find(sc => sc.IsPastDue);\r\n }\r\n\r\n get IsDelinquent(): boolean {\r\n return this.IsPastDue && !this.HasLegalAction;\r\n }\r\n\r\n get HasLegalAction(): boolean {\r\n return this.StatusCode.includes('Legal Action');\r\n }\r\n\r\n get HasCreditHold(): boolean {\r\n return this.StatusCode.includes('Credit Hold');\r\n }\r\n\r\n get HasExtension(): boolean {\r\n return this.StatusCode.includes('Extens');\r\n }\r\n\r\n get HasBankruptcy(): boolean {\r\n return this.StatusCode.includes('Bankruptcy');\r\n }\r\n\r\n get HasCollections(): boolean {\r\n return this.StatusCode.includes('Collections');\r\n }\r\n\r\n getTotalLoanAmount(): number {\r\n let totalLoanAmount = 0;\r\n this.SubCommitments.forEach(element => {\r\n totalLoanAmount += element.CreditLimit;\r\n });\r\n return totalLoanAmount;\r\n }\r\n\r\n get IsHelenaAccount(): boolean {\r\n return this.LoanNumber.includes('HF');\r\n }\r\n\r\n get HasBalance(): boolean {\r\n let balance = false;\r\n\r\n this.SubCommitments.forEach(sub => {\r\n sub.Loans.forEach(loan => {\r\n if (loan.Balance > 0) {\r\n balance = true;\r\n }\r\n });\r\n });\r\n\r\n return balance;\r\n }\r\n\r\n get DealerNames(): string[] {\r\n if (this.Dealers && this.Dealers.length > 0) {\r\n return this.Dealers;\r\n }\r\n\r\n return this.SubCommitments.map(sc => {\r\n return sc.Dealer.Name;\r\n });\r\n }\r\n\r\n get UpcomingPaymentRequired(): boolean {\r\n return this.SubCommitments.map(sc => {\r\n return sc.UpcomingPaymentRequired;\r\n })\r\n .reduce((prev, curr) => prev || curr, false);\r\n }\r\n\r\n get DisplayCreditLimit(): number {\r\n if (this.StatusCode != '' || this.IsDelinquent) {\r\n return 0;\r\n }\r\n\r\n return this.CreditLimit;\r\n }\r\n}\r\n","export class ContactAddress {\r\n line1 = '';\r\n line2 = '';\r\n city = '';\r\n state = '';\r\n zipcode = '';\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.city = appData.City;\r\n this.line1 = appData.Line1;\r\n this.line2 = appData.Line2;\r\n this.state = appData.State;\r\n this.zipcode = appData.ZipCode;\r\n }\r\n }\r\n}\r\n","import { ContactAddress } from './contact-address';\r\nimport { ContactPhone } from './contact-phone';\r\nimport { UserPreferences } from '../user-preferences';\r\n\r\nexport class ContactDetail {\r\n CifNo = '';\r\n MailingAddress: ContactAddress;\r\n PhysicalAddress: ContactAddress;\r\n PhoneNumbers: ContactPhone[];\r\n PrimaryPhoneNumber: string;\r\n UserPreferences: UserPreferences;\r\n Password: string;\r\n AccountsDisabled: boolean;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.CifNo = data.CifNo;\r\n this.MailingAddress = data.MailingAddress ? new ContactAddress(data.MailingAddress) : null;\r\n this.PhysicalAddress = data.PhysicalAddress ? new ContactAddress(data.PhysicalAddress) : null;\r\n this.PhoneNumbers = data.PhoneNumbers ? Array.from(data.PhoneNumbers, (d) => new ContactPhone(d)) : null;\r\n this.PrimaryPhoneNumber = data.PrimaryPhoneNumber;\r\n this.UserPreferences = data.UserPreferences ? new UserPreferences(data.UserPreferences) : null;\r\n this.AccountsDisabled = data.AccountsDisabled;\r\n }\r\n }\r\n}\r\n\r\n","export class ContactPhone {\r\n PhoneNumber = '';\r\n IsMobile: boolean;\r\n IsPrimary: boolean;\r\n IsSMSNumber: boolean;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.PhoneNumber = data.PhoneNumber;\r\n this.IsMobile = data.IsMobile;\r\n this.IsPrimary = data.IsPrimary;\r\n this.IsSMSNumber = data.IsSMSNumber;\r\n }\r\n }\r\n}\r\n\r\n","export class Customer {\r\n CifNumber = '';\r\n CifNo = '';\r\n PhoneNumber = '';\r\n Address = '';\r\n City = '';\r\n State = '';\r\n Zip = '';\r\n DOB = '';\r\n SSN = '';\r\n DisplayName = '';\r\n EmailAddress = '';\r\n Relationship = '';\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.CifNumber = data.CifNumber;\r\n this.CifNo = data.CifNo;\r\n this.PhoneNumber = data.PhoneNumber;\r\n this.Address = data.Address;\r\n this.City = data.City;\r\n this.State = data.State;\r\n this.Zip = data.Zip;\r\n this.DOB = data.DOB;\r\n this.SSN = data.SSN;\r\n this.DisplayName = data.LetterTitle;\r\n this.EmailAddress = data.EmailAddress;\r\n this.Relationship = data.Relationship;\r\n }\r\n }\r\n}\r\n","export class DealerHeader {\r\n RowId: number;\r\n DealerNumber: string;\r\n Name: string;\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.RowId = appData.RowId;\r\n this.DealerNumber = appData.DealerNumber;\r\n this.Name = appData.Name;\r\n }\r\n }\r\n}\r\n","import { Transaction } from './transaction';\r\n\r\nexport class Loan {\r\n AcctRefNo: number;\r\n LoanNumber: string;\r\n MaturityDate: Date;\r\n Balance: number;\r\n PrincipalBalance: number;\r\n ProgramName: string;\r\n InterestRate: number;\r\n Transactions: Transaction[];\r\n NextRateDate: Date;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.LoanNumber = data.LoanNumber;\r\n this.AcctRefNo = data.AcctRefNo;\r\n this.MaturityDate = data.MaturityDate ? new Date(data.MaturityDate) : null;\r\n this.PrincipalBalance = data.PrincipalBalance;\r\n this.Balance = data.Balance;\r\n this.ProgramName = data.ProgramName;\r\n this.InterestRate = data.InterestRate;\r\n this.Transactions = data.Transactions ? Array.from(data.Transactions, (d) => new Transaction(d)) : null;\r\n this.NextRateDate = data.NextRateDate ? new Date(data.NextRateDate) : null;\r\n }\r\n }\r\n\r\n get UpcomingPaymentRequired(): boolean {\r\n const maxDays = 30;\r\n const withinTimeframe = new Date();\r\n withinTimeframe.setDate(withinTimeframe.getDate() + maxDays);\r\n\r\n return (this.MaturityDate < withinTimeframe && this.Balance > 0);\r\n }\r\n}\r\n","export class Payment {\r\n PaymentDate: Date;\r\n AccountPayment: boolean;\r\n AcctRefNo: number;\r\n DisplayName: string;\r\n MasterLoanNumber: string;\r\n LoanNumber: string;\r\n ProgramId: number;\r\n ProgramName: string;\r\n DealerName: string;\r\n MaturityDate: Date;\r\n PayoffAmount: number;\r\n PaymentAmount: number;\r\n AccountPaymentAmount: number;\r\n BankAccountNumber: string;\r\n BankAccountHolder: string;\r\n BankRoutingNumber: string;\r\n Status: string;\r\n ConfirmationNumber: string;\r\n PaymentGrowerDetailID: number;\r\n PaymentType: string;\r\n ACHAccountType: string;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.PaymentDate = data.PaymentDate ? new Date(data.PaymentDate) : null;\r\n this.AccountPayment = data.AccountPayment;\r\n this.AcctRefNo = data.AcctRefNo;\r\n this.DisplayName = data.DisplayName;\r\n this.MasterLoanNumber = data.MasterLoanNumber;\r\n this.LoanNumber = data.LoanNumber;\r\n this.ProgramId = data.ProgramId;\r\n this.ProgramName = data.ProgramName;\r\n this.DealerName = data.DealerName;\r\n this.MaturityDate = data.MaturityDate ? new Date(data.MaturityDate) : null;\r\n this.PayoffAmount = data.PayoffAmount;\r\n this.PaymentAmount = data.PaymentAmount;\r\n this.AccountPaymentAmount = data.AccountPaymentAmount;\r\n this.BankAccountNumber = data.BankAccountNumber;\r\n this.BankAccountHolder = data.BankAccountHolder;\r\n this.BankRoutingNumber = data.BankRoutingNumber;\r\n this.Status = data.Status;\r\n this.ConfirmationNumber = data.ConfirmationNumber;\r\n this.PaymentGrowerDetailID = data.PaymentGrowerDetailID;\r\n this.PaymentType = data.PaymentType;\r\n this.ACHAccountType = data.ACHAccountType;\r\n }\r\n }\r\n}\r\n","import { DealerHeader } from './dealer-header';\r\nimport { Loan } from './loan';\r\n\r\nexport class SubCommitment {\r\n SubCommitmentNumber: string;\r\n CropYear: number;\r\n MaturityDate: Date;\r\n Dealer: DealerHeader;\r\n CreditLimit = 0.00;\r\n PrincipalBalance: number;\r\n Index: number;\r\n Loans: Loan[];\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.Index = (data.Index === undefined ? null : data.Index);\r\n this.SubCommitmentNumber = data.SubCommitmentNumber;\r\n this.CropYear = data.CropYear;\r\n this.MaturityDate = data.MaturityDate ? new Date(data.MaturityDate) : null;\r\n this.Dealer = data.Dealer ? new DealerHeader(data.Dealer) : null;\r\n this.CreditLimit = data.CreditLimit;\r\n this.PrincipalBalance = data.PrincipalBalance;\r\n this.Loans = data.Loans ? Array.from(data.Loans, (d) => new Loan(d)) : null;\r\n }\r\n }\r\n\r\n get IsPastDue(): boolean {\r\n if (this.PrincipalBalance > 0 && this.MaturityDate != null) {\r\n return this.IsPastDrawPeriod;\r\n }\r\n return false;\r\n }\r\n\r\n get IsPastDrawPeriod(): boolean {\r\n if (this.MaturityDate != null) {\r\n const today = new Date();\r\n today.setHours(0, 0, 0);\r\n\r\n const maturityDate = new Date(this.MaturityDate);\r\n\r\n return maturityDate < today;\r\n }\r\n return true;\r\n }\r\n\r\n get UpcomingPaymentRequired(): boolean {\r\n return this.Loans.map(loan => loan.UpcomingPaymentRequired)\r\n .reduce((prev, curr) => prev || curr, false);\r\n }\r\n\r\n get LoanBalances(): number {\r\n return this.Loans.reduce((pv, cl) => {\r\n return pv + (!cl ? 0 : cl.Balance);\r\n }, 0);\r\n }\r\n}\r\n","export class TransactionQuery {\r\n LoanNumber: string;\r\n MinimumDate: Date;\r\n MaximumDate: Date;\r\n Type: string;\r\n Program: string;\r\n}\r\n","import { Transaction } from './transaction';\r\n\r\nexport class TransactionReport {\r\n Transactions: Transaction[];\r\n TransactionTypes: string[];\r\n Programs: string[];\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.Transactions = data.Transactions ? Array.from(data.Transactions, (d) => new Transaction(d)) : [];\r\n this.TransactionTypes = data.TransactionTypes ? data.TransactionTypes : [];\r\n this.Programs = data.Programs ? data.Programs : [];\r\n }\r\n }\r\n}\r\n","export class Transaction {\r\n TransactionDate: Date;\r\n Amount: number;\r\n Type: string;\r\n Program: string;\r\n Vendor: string;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.Amount = data.Amount;\r\n this.TransactionDate = data.TransactionDate ? new Date(data.TransactionDate) : null;\r\n this.Type = data.Type;\r\n this.Program = data.Program;\r\n this.Vendor = data.Vendor;\r\n }\r\n }\r\n}\r\n","import * as _ from 'lodash';\r\n\r\nconst POBOX_ABBREVIATIONS =\r\n [\r\n 'pobox',\r\n 'po box',\r\n 'p.o.'\r\n ];\r\n\r\nexport class Address {\r\n line1 = '';\r\n line2 = '';\r\n city = '';\r\n state = '';\r\n zipcode = '';\r\n allowPOBox = true;\r\n\r\n constructor(allowPOBox, appData?: any) {\r\n this.allowPOBox = allowPOBox;\r\n if (appData) {\r\n this.city = _.isNil(appData.City) ? '' : appData.City;\r\n this.line1 = _.isNil(appData.Line1) ? '' : appData.Line1;\r\n this.line2 = _.isNil(appData.Line2) ? '' : appData.Line2;\r\n this.state = _.isNil(appData.State) ? '' : appData.State;\r\n this.zipcode = _.isNil(appData.ZipCode) ? '' : appData.ZipCode;\r\n }\r\n }\r\n\r\n get streetValid(): boolean {\r\n return this.allowPOBox || this.isPhysicalAddress();\r\n }\r\n\r\n isPhysicalAddress(): boolean {\r\n let pobox = false;\r\n let i = 0;\r\n\r\n while (i < POBOX_ABBREVIATIONS.length && !pobox) {\r\n if (this.line1.toLowerCase().indexOf(POBOX_ABBREVIATIONS[i]) !== -1) {\r\n pobox = true;\r\n }\r\n i++;\r\n }\r\n\r\n return !pobox;\r\n }\r\n\r\n toString(): string {\r\n return `${this.line1}, ${this.city}, ${this.state} ${this.zipcode}`;\r\n }\r\n\r\n get isComplete(): boolean {\r\n return this.line1 && this.line1.length > 0 && this.state.length > 0 && this.city.length > 0 && this.zipcode.length > 0;\r\n }\r\n}\r\n","export class ApplicationHeader {\r\n id: any;\r\n status = 'Draft';\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.id = appData.ID;\r\n this.status = appData.Status;\r\n }\r\n }\r\n}\r\n","export enum ApplicationType {\r\n Single,\r\n CoBorrower,\r\n Entity\r\n}\r\n","import { Person } from './person';\r\nimport { Entity } from './entity';\r\nimport { BalanceSheet } from './balance-sheet';\r\nimport { Income } from './income';\r\nimport { IApplicationHttpService } from '../services/application-http.service';\r\nimport { Vendor } from './vendor';\r\nimport { IUserService } from '../services/user.service';\r\nimport { ApplicationType } from './application-type';\r\nimport { IAuthService } from '../services/auth.service';\r\nimport { GrowerOnline } from './constants';\r\nimport { ErrorHandling } from '../shared/error-handling';\r\n\r\nexport class Application {\r\n id: any;\r\n appType: ApplicationType = ApplicationType.Single;\r\n additionalOwners: Person[] = [];\r\n borrowers: Person[] = [];\r\n balanceSheet: BalanceSheet = new BalanceSheet;\r\n vendors: Vendor[] = [new Vendor()];\r\n income: Income = new Income;\r\n entity: Entity = null;\r\n status = 'Draft';\r\n currentPage = '';\r\n lineOfBusiness = '';\r\n createdDate: Date;\r\n onlineAgreementAcceptanceDate: Date;\r\n preApprovalStagingId: number = -1;\r\n preApprovalCode: string = '';\r\n preApprovalBorrower: Person;\r\n preApprovalVendor: Vendor;\r\n hasEntityOwnership: boolean = null;\r\n increasedRiskCountries: string[];\r\n originatingSite = GrowerOnline;\r\n hasTrust: boolean = false;\r\n hasIosWithPercent: boolean = false;\r\n hasIndividualsWithPercent: boolean = false;\r\n maxPageReached: string = '';\r\n\r\n constructor(\r\n private appHttpService: IApplicationHttpService,\r\n private userService: IUserService,\r\n private authService: IAuthService,\r\n appData?: any) {\r\n if (appData) {\r\n this.id = appData.ID;\r\n this.status = appData.Status;\r\n this.appType = appData.AppType;\r\n this.borrowers = Array.from(appData.Borrowers, (data) => new Person(data));\r\n this.vendors = Array.from(appData.Vendors, (data) => new Vendor(data));\r\n this.entity = appData.Entity ? new Entity(appData.Entity) : null;\r\n this.balanceSheet = new BalanceSheet(appData.BalanceSheet);\r\n this.income = new Income(appData.Income);\r\n this.lineOfBusiness = appData.LineOfBusiness;\r\n this.createdDate = new Date(appData.CreatedDate);\r\n this.currentPage = appData.CurrentPage;\r\n this.onlineAgreementAcceptanceDate = appData.OnlineAgreementAcceptanceDate;\r\n this.preApprovalCode = appData.PreApprovalCode;\r\n this.hasEntityOwnership = appData.HasEntityOwnership;\r\n this.increasedRiskCountries = appData.IncreasedRiskCountries;\r\n this.originatingSite = appData.OriginatingSite;\r\n this.preApprovalStagingId = appData.PreApprovalStagingId;\r\n this.hasTrust = appData.HasTrust;\r\n this.hasIosWithPercent = appData.HasIosWithPercent;\r\n this.hasIndividualsWithPercent = appData.HasIndividualsWithPercent;\r\n this.maxPageReached = appData.MaxPageReached;\r\n\r\n if (this.entity) {\r\n for (let i = 0; i < this.entity.ultimateBeneficialOwners.length; ++i) {\r\n if (!this.beneficiaryIsBorrower(this.entity.ultimateBeneficialOwners[i])) {\r\n this.additionalOwners.push(this.entity.ultimateBeneficialOwners[i]);\r\n }\r\n }\r\n\r\n if (this.entity.signer) {\r\n this.entity.signer.isBorrower = this.beneficiaryIsBorrower(this.entity.signer);\r\n }\r\n }\r\n\r\n if (appData.Borrowers && appData.Borrowers.length > 0) {\r\n if (appData.Borrowers.filter(x => x.isPreApproved).length > 0) {\r\n this.preApprovalBorrower = new Person(appData.Borrowers.filter(x => x.isPreApproved)[0]);\r\n } else if (this.preApprovalStagingId > 0) {\r\n this.preApprovalBorrower = new Person(appData.Borrowers[0]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private beneficiaryIsBorrower(person: Person): boolean {\r\n return !!this.borrowers.find((borrower) => {\r\n return borrower.email === person.email && borrower.fullName.toString() === person.fullName.toString();\r\n });\r\n }\r\n\r\n save() {\r\n if (this.appType === ApplicationType.Entity) {\r\n this.entity.ultimateBeneficialOwners = this.ownersList.filter(ol => ol.isControllingParty === false);\r\n this.entity.controllingParties = this.ownersList.filter(ol => ol.isControllingParty === true);\r\n }\r\n\r\n if (!this.userService.GetUser()) {\r\n return new Promise((resolve, reject) => {\r\n this.authService.CreateAnonymousUser()\r\n .then(() => this.callHttpSave())\r\n .then(resolve)\r\n .catch((reason) => {\r\n reject(new Error('Could not create anonymous user' + reason));\r\n });\r\n });\r\n } else {\r\n return this.callHttpSave();\r\n }\r\n }\r\n\r\n\r\n private callHttpSave() {\r\n return new Promise((resolve, reject) => {\r\n this.appHttpService.save(this)\r\n .then((data: any) => {\r\n this.id = data.Id;\r\n this.createdDate = new Date(data.CreatedDate);\r\n resolve(this.id);\r\n }, err =>{\r\n reject(err);\r\n })\r\n .catch((reason) => {\r\n reject(reason);\r\n });\r\n });\r\n }\r\n\r\n submit(recaptchaToken: string) {\r\n return new Promise((resolve, reject) => {\r\n this.save()\r\n .then(() => {\r\n this.appHttpService.submit(this, recaptchaToken)\r\n .then(url => {\r\n resolve(url);\r\n }).catch(err => {\r\n reject(ErrorHandling.extractMessage(err));\r\n });\r\n });\r\n });\r\n }\r\n\r\n get ownersList(): Person[] {\r\n return this.borrowers.concat(this.additionalOwners);\r\n }\r\n\r\n totalOwnership() {\r\n let total = 0;\r\n const list = this.ownersList;\r\n for (let i = 0; i < list.length; i++) {\r\n total += +list[i].ownershipPercentage;\r\n }\r\n return total;\r\n }\r\n\r\n borrowerOwnership() {\r\n let total = 0;\r\n for (let i = 0; i < this.borrowers.length; i++) {\r\n total += +this.borrowers[i].ownershipPercentage;\r\n }\r\n return total;\r\n }\r\n\r\n totalCreditLimit() {\r\n const total = this.vendors.reduce((a, b) => a + b.creditLimit, 0);\r\n return total;\r\n }\r\n\r\n print() {\r\n return new Promise((resolve, reject) => {\r\n this.appHttpService.print(this)\r\n .then((blob) => {\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, 'Rabo AgriFinance New Application.pdf');\r\n } else {\r\n const fileURL = URL.createObjectURL(blob);\r\n window.open(fileURL, '_blank');\r\n }\r\n resolve(blob);\r\n }, err=> {\r\n reject(err);\r\n })\r\n .catch((reason) => {\r\n reject(reason);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\n","export class AuthorizedPartyRequest {\r\n FirstName: string;\r\n MiddleName: string;\r\n LastName: string;\r\n Suffix: string;\r\n DOB: Date;\r\n SSN: string;\r\n StreetAddress: string;\r\n City: string;\r\n StateAbbreviated: string;\r\n ZipCode: string;\r\n Email: string;\r\n AcctRefNo: string;\r\n USCitizen: boolean;\r\n PermanentResident: boolean;\r\n CountryOfBirth: string;\r\n CountryOfCitizenship: string;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.FirstName = data.FirstName;\r\n this.MiddleName = data.MiddleName;\r\n this.LastName = data.LastName;\r\n this.Suffix = data.Suffix;\r\n this.DOB = data.DOB;\r\n this.SSN = data.SSN;\r\n this.StreetAddress = data.StreetAddress;\r\n this.City = data.City;\r\n this.StateAbbreviated = data.StateAbbreviated;\r\n this.ZipCode = data.ZipCode;\r\n this.Email = data.Email;\r\n this.AcctRefNo = data.AcctRefNo;\r\n this.USCitizen = data.USCitizen;\r\n this.PermanentResident = data.PermanentResident;\r\n this.CountryOfBirth = data.CountryOfBirth;\r\n this.CountryOfCitizenship = data.CountryOfCitizenship;\r\n }\r\n }\r\n}\r\n","export enum AuthorizedPartyStatus {\r\n Submitted = 'Submitted',\r\n CompliancePassed = 'CompliancePassed',\r\n Booked = 'Booked',\r\n Signing = 'Signing'\r\n}\r\n","import { AuthorizedPartyRequest } from './authorized-party-request';\r\nimport { AuthorizedPartyStatus } from './authorized-party-status';\r\n\r\nexport class AuthorizedPartyWorkflow extends AuthorizedPartyRequest {\r\n public Id: number;\r\n public Status: AuthorizedPartyStatus;\r\n public CifNum: number;\r\n\r\n constructor(data?: any) {\r\n super(data);\r\n\r\n if (data) {\r\n this.Id = data.Id;\r\n this.Status = data.Status;\r\n this.CifNum = data.CifNum;\r\n }\r\n\r\n }\r\n}\r\n","import { Question } from './wizard/question';\r\nimport { SimpleQuestion } from './wizard/simple-question';\r\nimport { ComplexQuestion } from './wizard/complex-question';\r\n\r\nexport class BalanceSheet {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n if (appData.Questions && appData.Questions.length > 0) {\r\n this.questions = Array.from(appData.Questions, (data) => {\r\n return !!data['questionText'] ? new SimpleQuestion(data) : new ComplexQuestion(data);\r\n });\r\n }\r\n this.creationDate = appData.CreationDate ? new Date(appData.CreationDate) : null;\r\n this.shortTermAssets = appData.ShortTermAssets;\r\n this.shortTermLiabilities = appData.ShortTermLiabilities;\r\n this.termAssets = appData.TermAssets;\r\n this.termLiabilities = appData.TermLiabilities;\r\n this.intermediateAssets = appData.IntermediateAssets;\r\n this.intermediateLiabilities = appData.IntermediateLiabilities;\r\n }\r\n }\r\n questions: Question[];\r\n shortTermAssets = 0;\r\n termAssets = 0;\r\n intermediateAssets = 0;\r\n shortTermLiabilities = 0;\r\n termLiabilities = 0;\r\n intermediateLiabilities = 0;\r\n creationDate: Date;\r\n\r\n get totalAssets(): number {\r\n return this.shortTermAssets + this.termAssets + this.intermediateAssets;\r\n }\r\n\r\n get totalLiabilities(): number {\r\n return this.shortTermLiabilities + this.termLiabilities + this.intermediateLiabilities;\r\n }\r\n\r\n get totalEquity(): number {\r\n return this.totalAssets - this.totalLiabilities;\r\n }\r\n\r\n // returns null if no questions, -1 if wizard is completed, otherwise the index of the first incomplete step\r\n getCurrentWizardIndex() {\r\n if (!this.questions) {\r\n return null;\r\n }\r\n return this.questions.findIndex(question => {\r\n if (question instanceof SimpleQuestion) {\r\n return question.values.length === 0;\r\n } else if (question instanceof ComplexQuestion) {\r\n return question.assets.length === 0 &&\r\n question.shortTermLiability.length === 0 &&\r\n question.totalLiability.length === 0;\r\n }\r\n });\r\n }\r\n\r\n convertWizardAnswersToAppData() {\r\n const calculatedValues = {\r\n shortTermLiabilities: 0,\r\n termLiabilities: 0,\r\n intermediateLiabilities: 0,\r\n shortTermAssets: 0,\r\n termAssets: 0,\r\n intermediateAssets: 0\r\n };\r\n this.questions.forEach((question) => {\r\n if (question instanceof SimpleQuestion) {\r\n question['values'].forEach((v, i) => {\r\n calculatedValues[question.length + question.fieldType] += v;\r\n });\r\n } else { // complex type\r\n question['assets'].forEach((v) => {\r\n calculatedValues[question.length + 'Assets'] += v;\r\n });\r\n question['shortTermLiability'].forEach((v, i) => {\r\n calculatedValues.shortTermLiabilities += v;\r\n calculatedValues\r\n [(question.length === 'intermediate' ? 'intermediate' : 'term') + 'Liabilities'] += (question['totalLiability'][i] - v);\r\n });\r\n }\r\n });\r\n\r\n this.intermediateAssets = calculatedValues.intermediateAssets;\r\n this.intermediateLiabilities = calculatedValues.intermediateLiabilities;\r\n this.shortTermLiabilities = calculatedValues.shortTermLiabilities;\r\n this.shortTermAssets = calculatedValues.shortTermAssets;\r\n this.termLiabilities = calculatedValues.termLiabilities;\r\n this.termAssets = calculatedValues.termAssets;\r\n this.creationDate = new Date();\r\n }\r\n}\r\n","import { QuestionSummary } from './question-summary';\r\n\r\nexport class Category {\r\n type: string;\r\n title: string;\r\n questions: QuestionSummary[];\r\n total: number[];\r\n constructor(type: string, title: string) {\r\n this.type = type;\r\n this.title = title;\r\n this.questions = [];\r\n this.total = [];\r\n }\r\n public addQuestion(index: number, description: string, values: number[]): void {\r\n this.questions.push(new QuestionSummary(index, description, values));\r\n this.updateTotal(values);\r\n }\r\n private updateTotal(values: number[]) {\r\n if (this.total.length === 0) {\r\n this.total = values.slice();\r\n } else {\r\n this.total = this.total.map((current, index) => current + values[index]);\r\n }\r\n }\r\n}\r\n","export class ChangeLogModel {\r\n Id: number;\r\n ChangeDate: Date;\r\n Form: string;\r\n RefType: string;\r\n RefValue: string;\r\n FieldName: string;\r\n OldValue: string;\r\n NewValue: string;\r\n ChangedBy: string;\r\n\r\n constructor(data?:any) {\r\n if (data) {\r\n this.Id = data.Id;\r\n this.ChangeDate = data.ChangeDate;\r\n this.Form = data.Form;\r\n this.RefType = data.RefType;\r\n this.RefValue = data.RefValue;\r\n this.FieldName = data.FieldName;\r\n this.OldValue = data.OldValue;\r\n this.NewValue = data.NewValue;\r\n this.ChangedBy = data.ChangedBy;\r\n }\r\n }\r\n}","export const USA = 'US - United States Of America';\r\nexport const GrowerOnline = 'GOL';\r\nexport const GrowerOnlineWebsiteName = 'GrowerOnline';","export class ContactRequest {\r\n name = '';\r\n phoneNumber = '';\r\n message = '';\r\n}\r\n","export class Credentials {\r\n email: string;\r\n password: string;\r\n question: string;\r\n answer: string;\r\n\r\n constructor(props?: any) {\r\n if (props) {\r\n this.email = props.email;\r\n this.password = props.password;\r\n this.question = props.question;\r\n this.answer = props.answer;\r\n }\r\n }\r\n}","export class Crop {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.name = appData.Name;\r\n this.acres = appData.Acres;\r\n this.averageYield = appData.AverageYield;\r\n this.yieldUnits = appData.YieldUnits,\r\n this.price = appData.Price;\r\n }\r\n }\r\n\r\n name = '';\r\n acres = 0;\r\n averageYield = 0;\r\n yieldUnits = '';\r\n price = 0;\r\n\r\n get revenue(): number {\r\n return this.acres * this.averageYield * this.price;\r\n }\r\n}\r\n","export class DocumentMetaData {\r\n DocumentType: string;\r\n DocumentCategory: string;\r\n DocumentDescription: string;\r\n Refno: string;\r\n PrimaryCifNumber: string;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.DocumentType = data.DocumentType;\r\n this.DocumentCategory = data.DocumentCategory;\r\n this.DocumentDescription = data.DocumentDescription;\r\n this.Refno = data.Refno;\r\n this.PrimaryCifNumber = data.PrimaryCifNumber;\r\n }\r\n }\r\n}","export class DocumentQuery {\r\n DocumentIds: number[];\r\n RefNo: string;\r\n Type: string;\r\n CifNumber: string;\r\n Description: string;\r\n MinimumDocumentDate: Date;\r\n}","import { DocumentMetaData } from './document-meta-data';\r\n\r\nexport class Document {\r\n DocumentId: number;\r\n Name: string;\r\n File: File;\r\n MetaData: DocumentMetaData;\r\n DocumentDate: string;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.DocumentId = data.DocumentId;\r\n this.Name = data.Name;\r\n this.File = data.File;\r\n this.MetaData = data.metaData || data.MetaData;\r\n this.DocumentDate = data.DocumentDate;\r\n }\r\n }\r\n}","import { Address } from './address';\r\nimport { Person } from './person';\r\n\r\nexport class Entity {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.dateOfOrganization = appData.DateOfOrganization ? new Date(appData.DateOfOrganization) : null;\r\n this.entityType = appData.EntityType;\r\n this.legalName = appData.LegalName;\r\n this.mailingAddress = new Address(true, appData.MailingAddress);\r\n this.phoneNumber = appData.PhoneNumber;\r\n this.physicalAddress = new Address(false, appData.PhysicalAddress);\r\n this.stateOfOrganization = appData.StateOfOrganization;\r\n this.taxId = appData.TaxId;\r\n this.ultimateBeneficialOwners = appData.UltimateBeneficialOwners ? Array.from(appData.UltimateBeneficialOwners, (data) => { let p = new Person(data); p.isBorrower = false; return p; }) : [];\r\n this.controllingParties = Array.from(appData.ControllingParties, (data) => new Person(data));\r\n this.signer = appData.Signer ? new Person(appData.Signer) : null;\r\n this.signerTitle = appData.SignerTitle;\r\n this.doingBusinessAs = appData.DoingBusinessAs;\r\n }\r\n }\r\n legalName = '';\r\n taxId = '';\r\n entityType = '';\r\n phoneNumber = '';\r\n stateOfOrganization = '';\r\n dateOfOrganization: Date;\r\n physicalAddress: Address = new Address(false);\r\n mailingAddress: Address = new Address(true);\r\n ultimateBeneficialOwners: Person[];\r\n controllingParties: Person[] = [];\r\n signer: Person;\r\n signerTitle = '';\r\n doingBusinessAs: string[] = [];\r\n}\r\n","export class EventModel {\r\n website: string;\r\n path: string;\r\n error: string;\r\n stackTrace: string;\r\n userAgent: string;\r\n userId: string;\r\n}","import { Financial } from './financial';\r\n\r\nexport class Finances {\r\n assets: Financial;\r\n liabilities: Financial;\r\n\r\n constructor() {\r\n this.assets = new Financial('Assets');\r\n this.liabilities = new Financial('Liabilities');\r\n }\r\n}\r\n","import { Category } from './category';\r\n\r\nexport class Financial {\r\n type: string;\r\n categories: Category[];\r\n total: number[];\r\n constructor(type: string) {\r\n this.type = type;\r\n this.categories = [\r\n new Category('shortTerm', 'Short Term'),\r\n new Category('intermediate', 'Intermediate'),\r\n new Category('term', 'Long Term')\r\n ];\r\n this.total = [];\r\n }\r\n public addQuestion(questionIndex: number, length: string, description: string, values: number[]) {\r\n const categoryIndex = this.categories.findIndex(category => category.type === length);\r\n this.categories[categoryIndex].addQuestion(questionIndex, description, values);\r\n this.updateTotal(values);\r\n }\r\n private updateTotal(values: number[]) {\r\n if (this.total.length === 0) {\r\n this.total = values.slice();\r\n } else {\r\n this.total = this.total.map((current, index) => current + values[index]);\r\n }\r\n }\r\n}\r\n","export class FullName {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.firstName = appData.FirstName;\r\n this.middleName = appData.MiddleName;\r\n this.lastName = appData.LastName;\r\n this.suffix = appData.Suffix;\r\n }\r\n }\r\n\r\n firstName = '';\r\n middleName = '';\r\n lastName = '';\r\n suffix = '';\r\n\r\n toString(): string {\r\n return (this.firstName + ' ' + this.middleName + ' ' + this.lastName + ' ' + this.suffix).trim();\r\n }\r\n}\r\n","import { Crop } from './crop';\r\nimport { Livestock } from './livestock';\r\n\r\nexport class Income {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.cropList = Array.from(appData.CropList, (data) => new Crop(data));\r\n this.livestockList = Array.from(appData.LivestockList, (data) => new Livestock(data));\r\n this.grossCropIncome = appData.GrossCropIncome;\r\n this.grossLivestockIncome = appData.GrossLivestockIncome;\r\n this.otherFarmIncome = appData.OtherFarmIncome;\r\n }\r\n }\r\n\r\n cropList: Crop[] = [];\r\n livestockList: Livestock[] = [];\r\n\r\n grossCropIncome = 0;\r\n grossLivestockIncome = 0;\r\n otherFarmIncome = 0;\r\n\r\n get totalFarmIncome(): number {\r\n return this.otherFarmIncome + this.grossLivestockIncome + this.grossCropIncome;\r\n }\r\n\r\n calculateValues() {\r\n this.grossCropIncome = 0;\r\n this.grossLivestockIncome = 0;\r\n this.cropList.forEach((crop) => {\r\n this.grossCropIncome += crop.revenue;\r\n });\r\n this.livestockList.forEach((livestock) => {\r\n this.grossLivestockIncome += livestock.revenue;\r\n });\r\n }\r\n}\r\n","export const LineOfBusinesses = [\r\n 'Beef Cattle',\r\n 'Corn',\r\n 'Cotton',\r\n 'Dairy',\r\n 'Hay',\r\n 'Rice',\r\n 'Soybean',\r\n 'Swine',\r\n 'Wheat'\r\n];\r\n","export class Livestock {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.name = appData.Name;\r\n this.count = appData.Count;\r\n this.price = appData.Price;\r\n }\r\n }\r\n name = '';\r\n count = 0;\r\n price = 0;\r\n get revenue(): number {\r\n return this.count * this.price;\r\n }\r\n}\r\n","export class Message {\r\n MessageHeader = '';\r\n Text = '';\r\n\r\n constructor(data?: any) {\r\n this.MessageHeader = data.MessageHeader;\r\n this.Text = data.Text;\r\n }\r\n}\r\n","import * as moment from 'moment';\r\ntype Page = { alias: string, name: string, route: string };\r\n\r\nexport class NavigationOptionsRegistration {\r\n\r\n public static Pages: Page[] = [\r\n { alias: \"Profile\", name: 'Profile', route: \"/registration\" },\r\n { alias: \"Account\", name: 'Account', route: \"/registration/registration-linkaccount\" },\r\n { alias: \"Security\", name: 'Security', route: \"/registration/registration-security\" },\r\n { alias: \"Agreement\", name: 'Agreement', route: \"/registration/registration-agreement\" },\r\n { alias: \"Summary\", name: 'Summary', route: \"/registration/registration-summary\" }\r\n ];\r\n\r\n public static RegistrationPages(): Page[] {\r\n return this.Pages;\r\n }\r\n}\r\n","import { Application } from './application';\r\nimport { ApplicationType } from './application-type';\r\nimport * as moment from 'moment';\r\nconst MAX_APP_AGE_TO_CONTINUE = 90;\r\ninterface Page { alias: string; name: string; hideFromNav: boolean; route: string; }\r\n\r\nexport class NavigationOptions {\r\n public static Pages: Page[] = [\r\n { alias: 'entity', name: 'Entity', hideFromNav: false, route: '/entity-information' },\r\n { alias: 'borrower', name: 'Borrower', hideFromNav: false, route: '/borrower-information' },\r\n { alias: 'ownership', name: 'Ownership', hideFromNav: false, route: '/ownership' },\r\n { alias: 'program', name: 'Program', hideFromNav: false, route: '/program' },\r\n { alias: 'line-of-business-information', name: 'Line of Business', hideFromNav: false, route: '/line-of-business-information' },\r\n { alias: 'income', name: 'Financial', hideFromNav: false, route: '/financial-information-income' },\r\n { alias: 'balancesheetSelection', name: 'Balance Sheet Selection', hideFromNav: true, route: '/financial-information-balance-sheet-selection' },\r\n { alias: 'balancesheet', name: 'Balance Sheet', hideFromNav: true, route: '/financial-information-balance-sheet' },\r\n { alias: 'financial', name: 'Financial Info', hideFromNav: true, route: '/financial-information' },\r\n { alias: 'sign', name: 'Summary', hideFromNav: false, route: '/summary-and-sign' },\r\n { alias: 'confirmation', name: 'Confirmation', hideFromNav: true, route: '/confirmation' }\r\n ];\r\n\r\n public static GetStartPage(application: Application): string {\r\n const appPages = this.AppPages(application, true);\r\n let page = appPages.find(el => el.alias === application.currentPage);\r\n if (moment(application.createdDate) < moment().subtract(MAX_APP_AGE_TO_CONTINUE, 'days') || !page || page.alias === 'confirmation') {\r\n page = appPages[0];\r\n }\r\n return page.route;\r\n }\r\n\r\n public static GetPageIndexByAlias(name: string, application: Application, includeHidden?: boolean) {\r\n return this.AppPages(application, !!includeHidden).findIndex((el) => {\r\n return el.alias === name;\r\n });\r\n }\r\n\r\n public static VisiblePages(): Page[] {\r\n return this.Pages.filter((page) => !page.hideFromNav);\r\n }\r\n\r\n public static AppPages(application: Application, includeHidden: boolean): Page[] {\r\n return (includeHidden ? this.Pages : this.VisiblePages()).filter((page) => {\r\n return ((page.alias !== 'entity' && page.alias !== 'ownership') || application.appType == ApplicationType.Entity);\r\n });\r\n }\r\n}\r\n","export class Option {\r\n label: string;\r\n value: string;\r\n\r\n constructor(label: string, value: string) {\r\n this.label = label;\r\n this.value = value;\r\n }\r\n}","export class OrganizationType {\r\n public static LLC = 'LLC';\r\n public static LLP = 'LLP';\r\n public static GeneralPartnership = 'General Partnership';\r\n public static Corporation = 'Corporation';\r\n\r\n static getValidTypes(): OrganizationType[] {\r\n return ['', OrganizationType.LLC, OrganizationType.LLP, OrganizationType.GeneralPartnership, OrganizationType.Corporation];\r\n }\r\n}\r\n","export class Passport { \r\n public number: string;\r\n public countryOfIssuance: string;\r\n\r\n constructor(appData?: any) {\r\n if(appData) {\r\n this.number = appData.Number;\r\n this.countryOfIssuance = appData.CountryOfIssuance;\r\n }\r\n }\r\n}\r\n","export class PasswordChange {\r\n oldPassword: string;\r\n newPassword: string;\r\n confirmPassword: string;\r\n}\r\n","import * as _ from 'lodash';\r\nimport { Address } from './address';\r\nimport { FullName } from './fullname';\r\nimport { Passport } from './passport';\r\n\r\nexport class Person {\r\n isBorrower = true;\r\n fullName: FullName = new FullName();\r\n ownershipPercentage = 0;\r\n ssn = '';\r\n dateOfBirth: Date;\r\n physicalAddress: Address = new Address(false);\r\n isUSCitizen = null;\r\n isPermanentResident = null;\r\n countryOfCitizenship = '';\r\n countryOfPermanentResidence = '';\r\n email = '';\r\n phoneNumber = '';\r\n alternatePhoneNumber = '';\r\n mailingAddress: Address = new Address(true);\r\n hasBankruptcy = false;\r\n bankruptcyFilingDate: Date;\r\n bankruptcyDischargeDate: Date;\r\n isPreApproved = false;\r\n isControllingParty = false;\r\n signerTitle: string;\r\n passport: Passport = new Passport();\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.alternatePhoneNumber = _.isNil(appData.AlternatePhoneNumber) ? '' : appData.AlternatePhoneNumber;\r\n this.bankruptcyDischargeDate = appData.BankruptcyDischargeDate ? new Date(appData.BankruptcyDischargeDate) : null;\r\n this.bankruptcyFilingDate = appData.BankruptcyFilingDate ? new Date(appData.BankruptcyFilingDate) : null;\r\n this.countryOfCitizenship = _.isNil(appData.CountryOfCitizenship) ? '' : appData.CountryOfCitizenship;\r\n this.countryOfPermanentResidence = _.isNil(appData.CountryOfPermanentResidence) ? '' : appData.CountryOfPermanentResidence;\r\n this.dateOfBirth = appData.DateOfBirth ? new Date(appData.DateOfBirth) : null;\r\n this.email = _.isNil(appData.Email) ? '' : appData.Email;\r\n this.fullName = new FullName(appData.FullName);\r\n this.hasBankruptcy = appData.HasBankruptcy;\r\n this.isPermanentResident = appData.IsPermanentResident;\r\n this.isUSCitizen = appData.IsUSCitizen;\r\n this.mailingAddress = new Address(true, appData.MailingAddress);\r\n this.ownershipPercentage = appData.OwnershipPercentage;\r\n this.phoneNumber = _.isNil(appData.PhoneNumber) ? '' : appData.PhoneNumber;\r\n this.physicalAddress = new Address(false, appData.PhysicalAddress);\r\n this.ssn = _.isNil(appData.SSN) ? '' : appData.SSN;\r\n this.isControllingParty = appData.IsControllingParty;\r\n this.signerTitle = appData.SignerTitle;\r\n this.passport = new Passport(appData.Passport);\r\n this.isPreApproved = appData.isPreApproved;\r\n }\r\n }\r\n}\r\n","export class QuestionSummary {\r\n index: number;\r\n description: string;\r\n values: number[];\r\n constructor(index: number, description: string, values: number[]) {\r\n this.index = index;\r\n this.description = description;\r\n this.values = values;\r\n }\r\n}\r\n","import { SecurityQuestion } from './security-question';\r\n\r\nexport class Registree {\r\n isAnonymous = true;\r\n isExistingCustomer = false;\r\n firstName = '';\r\n lastName = '';\r\n email = '';\r\n password = '';\r\n confirmPassword = '';\r\n cifNo = 0;\r\n securityQuestions: SecurityQuestion[] = [];\r\n userId = '';\r\n authToken = '';\r\n refreshToken = '';\r\n authExpires: Date;\r\n authCreated: Date;\r\n accountNumber: string;\r\n zip: string;\r\n ssn: string;\r\n\r\n constructor(userData?: any) {\r\n if (userData) {\r\n this.isAnonymous = userData.isAnonymous;\r\n this.firstName = userData.firstName;\r\n this.lastName = userData.lastName;\r\n this.email = userData.email;\r\n this.userId = userData.userId;\r\n this.authToken = userData.authToken;\r\n this.refreshToken = userData.refreshToken;\r\n this.authExpires = new Date(userData.authExpires);\r\n this.authCreated = new Date(userData.authCreated);\r\n }\r\n }\r\n\r\n get displayName() {\r\n return this.firstName + ' ' + this.lastName;\r\n }\r\n}\r\n","import { SecurityQuestion } from './security-question';\r\n\r\nexport class SecurityQuestionReset {\r\n email = '';\r\n password = '';\r\n securityQuestions: SecurityQuestion[] = [];\r\n}\r\n","export class SecurityQuestion {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.question = appData.Question;\r\n }\r\n }\r\n question = '';\r\n answer: string;\r\n}\r\n","export const SecurityQuestions = [\r\n 'What is your favorite brand of seed or crop protection product?',\r\n 'What is your favorite cut of beef, pork or chicken?',\r\n 'What is your favorite fruit or vegetable?',\r\n 'What is your favorite website or ag news source?',\r\n 'How many acres was your first farm?',\r\n 'What is the make or model of your favorite tractor?',\r\n 'What is the name of your favorite show animal?',\r\n 'What is your favorite food?',\r\n 'Where was the last Ag expo or convention which you attended?',\r\n 'What is your favorite country song?',\r\n 'Who is your favorite country singer?',\r\n 'What country would you like to visit?',\r\n 'What is the lowest price you remember for a bushel of corn or beans?',\r\n 'What was the name of your childhood pet?',\r\n 'What was the make/model/year of your first farm truck?'\r\n];\r\n","export const States = [\r\n {\r\n 'name': '',\r\n 'abbreviation': ''\r\n },\r\n {\r\n 'name': 'Alabama',\r\n 'abbreviation': 'AL'\r\n },\r\n {\r\n 'name': 'Alaska',\r\n 'abbreviation': 'AK'\r\n },\r\n {\r\n 'name': 'American Samoa',\r\n 'abbreviation': 'AS'\r\n },\r\n {\r\n 'name': 'Arizona',\r\n 'abbreviation': 'AZ'\r\n },\r\n {\r\n 'name': 'Arkansas',\r\n 'abbreviation': 'AR'\r\n },\r\n {\r\n 'name': 'California',\r\n 'abbreviation': 'CA'\r\n },\r\n {\r\n 'name': 'Colorado',\r\n 'abbreviation': 'CO'\r\n },\r\n {\r\n 'name': 'Connecticut',\r\n 'abbreviation': 'CT'\r\n },\r\n {\r\n 'name': 'Delaware',\r\n 'abbreviation': 'DE'\r\n },\r\n {\r\n 'name': 'District Of Columbia',\r\n 'abbreviation': 'DC'\r\n },\r\n {\r\n 'name': 'Federated States Of Micronesia',\r\n 'abbreviation': 'FM'\r\n },\r\n {\r\n 'name': 'Florida',\r\n 'abbreviation': 'FL'\r\n },\r\n {\r\n 'name': 'Georgia',\r\n 'abbreviation': 'GA'\r\n },\r\n {\r\n 'name': 'Guam',\r\n 'abbreviation': 'GU'\r\n },\r\n {\r\n 'name': 'Hawaii',\r\n 'abbreviation': 'HI'\r\n },\r\n {\r\n 'name': 'Idaho',\r\n 'abbreviation': 'ID'\r\n },\r\n {\r\n 'name': 'Illinois',\r\n 'abbreviation': 'IL'\r\n },\r\n {\r\n 'name': 'Indiana',\r\n 'abbreviation': 'IN'\r\n },\r\n {\r\n 'name': 'Iowa',\r\n 'abbreviation': 'IA'\r\n },\r\n {\r\n 'name': 'Kansas',\r\n 'abbreviation': 'KS'\r\n },\r\n {\r\n 'name': 'Kentucky',\r\n 'abbreviation': 'KY'\r\n },\r\n {\r\n 'name': 'Louisiana',\r\n 'abbreviation': 'LA'\r\n },\r\n {\r\n 'name': 'Maine',\r\n 'abbreviation': 'ME'\r\n },\r\n {\r\n 'name': 'Marshall Islands',\r\n 'abbreviation': 'MH'\r\n },\r\n {\r\n 'name': 'Maryland',\r\n 'abbreviation': 'MD'\r\n },\r\n {\r\n 'name': 'Massachusetts',\r\n 'abbreviation': 'MA'\r\n },\r\n {\r\n 'name': 'Michigan',\r\n 'abbreviation': 'MI'\r\n },\r\n {\r\n 'name': 'Minnesota',\r\n 'abbreviation': 'MN'\r\n },\r\n {\r\n 'name': 'Mississippi',\r\n 'abbreviation': 'MS'\r\n },\r\n {\r\n 'name': 'Missouri',\r\n 'abbreviation': 'MO'\r\n },\r\n {\r\n 'name': 'Montana',\r\n 'abbreviation': 'MT'\r\n },\r\n {\r\n 'name': 'Nebraska',\r\n 'abbreviation': 'NE'\r\n },\r\n {\r\n 'name': 'Nevada',\r\n 'abbreviation': 'NV'\r\n },\r\n {\r\n 'name': 'New Hampshire',\r\n 'abbreviation': 'NH'\r\n },\r\n {\r\n 'name': 'New Jersey',\r\n 'abbreviation': 'NJ'\r\n },\r\n {\r\n 'name': 'New Mexico',\r\n 'abbreviation': 'NM'\r\n },\r\n {\r\n 'name': 'New York',\r\n 'abbreviation': 'NY'\r\n },\r\n {\r\n 'name': 'North Carolina',\r\n 'abbreviation': 'NC'\r\n },\r\n {\r\n 'name': 'North Dakota',\r\n 'abbreviation': 'ND'\r\n },\r\n {\r\n 'name': 'Northern Mariana Islands',\r\n 'abbreviation': 'MP'\r\n },\r\n {\r\n 'name': 'Ohio',\r\n 'abbreviation': 'OH'\r\n },\r\n {\r\n 'name': 'Oklahoma',\r\n 'abbreviation': 'OK'\r\n },\r\n {\r\n 'name': 'Oregon',\r\n 'abbreviation': 'OR'\r\n },\r\n {\r\n 'name': 'Palau',\r\n 'abbreviation': 'PW'\r\n },\r\n {\r\n 'name': 'Pennsylvania',\r\n 'abbreviation': 'PA'\r\n },\r\n {\r\n 'name': 'Puerto Rico',\r\n 'abbreviation': 'PR'\r\n },\r\n {\r\n 'name': 'Rhode Island',\r\n 'abbreviation': 'RI'\r\n },\r\n {\r\n 'name': 'South Carolina',\r\n 'abbreviation': 'SC'\r\n },\r\n {\r\n 'name': 'South Dakota',\r\n 'abbreviation': 'SD'\r\n },\r\n {\r\n 'name': 'Tennessee',\r\n 'abbreviation': 'TN'\r\n },\r\n {\r\n 'name': 'Texas',\r\n 'abbreviation': 'TX'\r\n },\r\n {\r\n 'name': 'Utah',\r\n 'abbreviation': 'UT'\r\n },\r\n {\r\n 'name': 'Vermont',\r\n 'abbreviation': 'VT'\r\n },\r\n {\r\n 'name': 'Virgin Islands',\r\n 'abbreviation': 'VI'\r\n },\r\n {\r\n 'name': 'Virginia',\r\n 'abbreviation': 'VA'\r\n },\r\n {\r\n 'name': 'Washington',\r\n 'abbreviation': 'WA'\r\n },\r\n {\r\n 'name': 'West Virginia',\r\n 'abbreviation': 'WV'\r\n },\r\n {\r\n 'name': 'Wisconsin',\r\n 'abbreviation': 'WI'\r\n },\r\n {\r\n 'name': 'Wyoming',\r\n 'abbreviation': 'WY'\r\n }\r\n];\r\n","export class SurveyQuestion {\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.question = appData.Question;\r\n this.answer = appData.Answer ? appData.Answer : '';\r\n this.questionId = appData.QuestionId;\r\n this.type = JSON.parse(appData.Type);\r\n }\r\n }\r\n questionId: number;\r\n question = '';\r\n answer = '';\r\n type: { ['MultipleChoice']?: string[], ['FreeText']?: boolean, ['SingleLine']?: boolean };\r\n}\r\n","import * as moment from 'moment';\r\nimport { UserSecurityProfile } from './user-security-profile';\r\n\r\nexport class UserExtendedSecurityProfile extends UserSecurityProfile {\r\n registeredSystem: string;\r\n cifNo?: number;\r\n isInternal: boolean;\r\n lastLoginDate?: Date;\r\n lastFailedLoginDate?: Date;\r\n isAnonymous: boolean;\r\n\r\n constructor(appData?: any) {\r\n super(appData);\r\n if (appData) {\r\n this.registeredSystem = appData.RegisteredSystem;\r\n this.cifNo = appData.CifNo;\r\n this.isInternal = appData.IsInternal;\r\n this.lastLoginDate = appData.LastLoginDate ? moment(appData.LastLoginDate).toDate() : null;\r\n this.lastFailedLoginDate = appData.LastFailedLoginDate ? moment(appData.LastFailedLoginDate).toDate() : null;\r\n this.isAnonymous = appData.IsAnonymous;\r\n }\r\n }\r\n}","export class UserPreferences {\r\n\r\n UserId: string = '';\r\n EmailOptIn: boolean = false;\r\n EmailAddress: string;\r\n TextOptIn: boolean = false;\r\n PhoneNumber: string;\r\n\r\n constructor(userData?: any) {\r\n if (userData) {\r\n this.UserId = userData.UserId;\r\n this.EmailOptIn = userData.EmailOptIn;\r\n this.EmailAddress = userData.EmailAddress;\r\n this.TextOptIn = userData.TextOptIn;\r\n this.PhoneNumber = userData.PhoneNumber;\r\n }\r\n }\r\n\r\n}\r\n","export class UserSecurityProfile {\r\n id: string;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n permissions: Array;\r\n roles: Array;\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.id = appData.Id;\r\n this.email = appData.Email;\r\n this.firstName = appData.FirstName;\r\n this.lastName = appData.LastName;\r\n this.permissions = appData.Permissions == null ? null : appData.Permissions instanceof Array\r\n ? appData.Permissions\r\n : JSON.parse(appData.Permissions);\r\n this.roles = appData.Roles == null ? null : appData.Roles instanceof Array ? appData.Roles : JSON.parse(appData.Roles);\r\n }\r\n }\r\n}","import { SecurityQuestion } from './security-question';\r\n\r\nexport class User {\r\n\r\n constructor(userData?: any) {\r\n if (userData) {\r\n this.isAnonymous = userData.isAnonymous;\r\n this.firstName = userData.firstName;\r\n this.lastName = userData.lastName;\r\n this.email = userData.email;\r\n this.userId = userData.userId;\r\n this.authToken = userData.authToken;\r\n this.refreshToken = userData.refreshToken;\r\n this.authExpires = new Date(userData.authExpires);\r\n this.authCreated = new Date(userData.authCreated);\r\n this.cifno = userData.cifno;\r\n this.registeredSystem = userData.registeredSystem;\r\n this.isInternal = userData.isInternal;\r\n this.roles = userData.roles;\r\n }\r\n }\r\n\r\n isAnonymous = true;\r\n firstName = '';\r\n lastName = '';\r\n email = '';\r\n password = '';\r\n confirmPassword = '';\r\n userId = '';\r\n authToken = '';\r\n refreshToken = '';\r\n authExpires: Date;\r\n authCreated: Date;\r\n securityQuestions: SecurityQuestion[];\r\n cifno: number;\r\n registeredSystem = '';\r\n roles = [];\r\n isInternal = false;\r\n\r\n hasGoodCreditAccounts = false;\r\n hasBadCreditAccounts = false;\r\n canApply = true;\r\n\r\n get displayName() {\r\n return this.firstName + ' ' + this.lastName;\r\n }\r\n}\r\n","import { Address } from './address';\r\n\r\nexport class VendorHeader {\r\n rowId: number;\r\n dealerNumber: string;\r\n name: string;\r\n address: Address = new Address(true);\r\n phoneNumber: string;\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.rowId = appData.RowId;\r\n this.dealerNumber = appData.DealerNumber;\r\n this.name = appData.Name;\r\n this.address = new Address(true, appData.Address);\r\n this.phoneNumber = appData.PhoneNumber;\r\n }\r\n }\r\n\r\n getItemName(): string {\r\n return this.name + ' - ' + this.address.line1 + ', ' + this.address.city + ' ' + this.address.state + ' ' + this.address.zipcode;\r\n }\r\n\r\n getShortName(): string {\r\n return this.name + ' - ' + this.address.city + ' ' + this.address.state;\r\n }\r\n}\r\n","export const TopVendors = [\r\n { name: 'Ag Venture Pinnacle', id: 193, number: 'D100008' },\r\n { name: 'Agrigold', id: 39242, number: 'D100102' },\r\n { name: 'Bayer', id: 78265, number: 'D101326' },\r\n { name: \"Beck's Hybrids\", id: 279, number: 'D10505' },\r\n { name: 'Dairyland Seed', id: 40270, number: 'D100107' },\r\n { name: 'Dow AgroSciences', id: 74903, number: 'D101216' },\r\n { name: 'Golden Acres Genetics', id: 77563, number: 'D101268' },\r\n { name: 'Great Lakes Hybrids', id: 642, number: 'D11213' },\r\n { name: 'LG Seeds', id: 641, number: 'D10148' },\r\n { name: 'Mycogen', id: 514, number: 'D9921' },\r\n { name: 'Phytogen', id: 201, number: 'D100016' },\r\n { name: 'Producers Hybrids', id: 62388, number: 'D100898' },\r\n { name: 'Seed Consultants', id: 211, number: 'D10130' },\r\n { name: 'Syngenta', id: 483, number: 'D1626' },\r\n { name: 'Wensman', id: 58166, number: 'D100169' }\r\n];\r\n\r\nexport class Vendor {\r\n vendorId: number;\r\n vendorName: string = '';\r\n retailerId: number;\r\n retailer: string = '';\r\n retailerAddress: string = '';\r\n retailerCity: string = '';\r\n retailerState: string = '';\r\n retailerZip: string = '';\r\n retailerPhone: string = '';\r\n creditLimit: number = 0;\r\n forceVendor: boolean = false;\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.vendorId = appData.VendorId;\r\n this.vendorName = appData.VendorName;\r\n this.retailerId = appData.RetailerId;\r\n this.retailer = appData.Retailer;\r\n this.retailerCity = appData.RetailerCity;\r\n this.retailerState = appData.RetailerState;\r\n this.retailerAddress = appData.RetailerAddress;\r\n this.retailerZip = appData.RetailerZip;\r\n this.retailerPhone = appData.RetailerPhone;\r\n this.creditLimit = appData.CreditLimit;\r\n }\r\n }\r\n\r\n get isTopVendor() {\r\n return TopVendors.find((value, idx) => {\r\n return value.id == this.vendorId\r\n });\r\n }\r\n}","import { Question } from './question';\r\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\nexport class ComplexQuestion extends Question {\r\n constructor(appData?: any) {\r\n super(appData);\r\n if (appData) {\r\n this.assetQuestionText = appData.assetQuestionText;\r\n this.assetExample = appData.assetExample;\r\n this.totalLiabilityQuestionText = appData.totalLiabilityQuestionText;\r\n this.totalLiabilityExample = appData.totalLiabilityExample;\r\n this.shortTermLiabilityQuestionText = appData.shortTermLiabilityQuestionText;\r\n this.shortTermLiabilityExample = appData.shortTermLiabilityExample;\r\n this.assets = appData.assets;\r\n this.totalLiability = appData.totalLiability;\r\n this.shortTermLiability = appData.shortTermLiability;\r\n }\r\n }\r\n\r\n assetQuestionText: string;\r\n assetExample: string;\r\n assetCustomValidators: ((c: AbstractControl) => ValidationErrors)[] = [];\r\n\r\n totalLiabilityQuestionText: string;\r\n totalLiabilityExample: string;\r\n totalLiabilityCustomValidators: ((c: AbstractControl) => ValidationErrors)[] = [];\r\n\r\n shortTermLiabilityQuestionText: string;\r\n shortTermLiabilityExample: string;\r\n shortTermLiabilityCustomValidators: ((c: AbstractControl) => ValidationErrors)[] = [];\r\n\r\n liabilityDescription: string;\r\n\r\n assets: number[] = [];\r\n totalLiability: number[] = [];\r\n shortTermLiability: number[] = [];\r\n get termLiability(): number[] {\r\n return this.totalLiability.map((value, index) => {\r\n return value - this.shortTermLiability[index];\r\n });\r\n }\r\n}\r\n","export abstract class Question {\r\n public order: number;\r\n public fieldType: 'Assets' | 'Liabilities';\r\n public length: 'shortTerm' | 'term' | 'intermediate';\r\n public description: string;\r\n\r\n constructor(appData?: any) {\r\n if (appData) {\r\n this.order = appData.order;\r\n this.fieldType = appData.fieldType;\r\n this.length = appData.length;\r\n this.description = appData.description;\r\n }\r\n }\r\n}","import { Question } from './question';\r\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\nexport class SimpleQuestion extends Question {\r\n questionText: string;\r\n example: string;\r\n values: number[] = [];\r\n customValidators: ((c: AbstractControl) => ValidationErrors)[] = [];\r\n\r\n constructor(appData?: any) {\r\n super(appData);\r\n if (appData) {\r\n this.questionText = appData.questionText;\r\n this.example = appData.example;\r\n this.values = appData.values;\r\n }\r\n }\r\n}\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(val) {\r\n val = val.replace(/<[^<>]*\\/script[^<>]*>/gi, '');\r\n val = val.replace(/<[^<>]*script[^<>]*>/gi, '');\r\n val = val.replace(/<[^<>]*onshow[^<>]*>/gi, '');\r\n val = val.replace(/<[^<>]*onload[^<>]*>/gi, '');\r\n val = val.replace(/<[^<>]*onclick[^<>]*>/gi, '');\r\n val = val.replace(/<[^<>]*ondblclick[^<>]*>/gi, '');\r\n val = val.replace(/<[^<>]*onmouse[^<>]*>/gi, '');\r\n return this.sanitizer.bypassSecurityTrustHtml(val);\r\n }\r\n}\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\n\r\n@Pipe({ name: 'keys' })\r\nexport class KeysPipe implements PipeTransform {\r\n transform(value): any {\r\n const keys = [];\r\n for (let key in value) {\r\n keys.push(key);\r\n }\r\n return keys;\r\n }\r\n}","
\r\n
\r\n
\r\n\r\n

Agreements

\r\n
\r\n
\r\n \r\n
\r\n Error: You must check the box in order to continue.\r\n
\r\n
\r\n
\r\n \r\n
\r\n Error: You must check the box in order to continue.\r\n
\r\n
\r\n
\r\n \r\n
\r\n Error: You must check the box in order to continue.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n {{serverError}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, Output, OnInit, EventEmitter, ViewChild } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { NgClass } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { Registree } from '../../models/register';\r\nimport { TopForm } from '../../form/top-form';\r\nimport { User } from '../../models/user';\r\nimport { ReCaptchaComponent } from '../../form/reusables/recaptcha.component';\r\nimport { validateCheckboxFactory } from '../../form/validation/checkbox-required.directive';\r\nimport { CurrentRegistrationService } from '../../services/current-registration.service';\r\nimport { AuthService, IAuthService } from '../../services/auth.service';\r\nimport { GrowerOnline } from '../../models/constants';\r\n\r\n@Component({\r\n selector: 'gol-registration-agreement',\r\n templateUrl: 'registration-agreement.component.html',\r\n styleUrls: ['../css/styles_form.css'],\r\n})\r\n\r\nexport class RegistrationAgreementComponent {\r\n\r\n @ViewChild(ReCaptchaComponent, { static: true }) recaptcha: ReCaptchaComponent;\r\n showTandC = false;\r\n showEStatement = false;\r\n showAchUSBankStatement = false;\r\n recaptchaToken = '';\r\n form: TopForm = new TopForm();\r\n attestation: FormControl = new FormControl('', validateCheckboxFactory());\r\n eStatement: FormControl = new FormControl('', validateCheckboxFactory());\r\n achUSBankStatement: FormControl = new FormControl('', validateCheckboxFactory());\r\n serverError = '';\r\n agreementAcceptanceDate: Date;\r\n eStatementAcceptanceDate: Date;\r\n achUSBankStatementAcceptanceDate: Date;\r\n questionsGroup: FormGroup;\r\n registree: Registree;\r\n loading: boolean;\r\n\r\n constructor(public router: Router, private authService: AuthService, public registrationService: CurrentRegistrationService) {\r\n this.initPage();\r\n this.questionsGroup = new FormGroup({});\r\n this.form.addControl('questionGroup', this.questionsGroup);\r\n this.form.addControl('attestation', this.attestation);\r\n this.form.addControl('eStatement', this.eStatement);\r\n this.form.addControl('achUSBankStatement', this.achUSBankStatement);\r\n }\r\n\r\n initPage() {\r\n this.registree = this.registrationService.getCurrentRegistree();\r\n if ((this.registree.isExistingCustomer && this.registree.cifNo === 0) || !this.registree.email.length) {\r\n this.registrationService.back();\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n agreementChanged(event) {\r\n const checked = event.target.checked;\r\n const acceptedDateTime = checked ? new Date() : null;\r\n this.agreementAcceptanceDate = acceptedDateTime;\r\n }\r\n\r\n eStatementChanged(event) {\r\n const checked = event.target.checked;\r\n const acceptedDateTime = checked ? new Date() : null;\r\n this.eStatementAcceptanceDate = acceptedDateTime;\r\n }\r\n\r\n achUSBankStatementChanged(event) {\r\n const checked = event.target.checked;\r\n const acceptedDateTime = checked ? new Date() : null;\r\n this.achUSBankStatementAcceptanceDate = acceptedDateTime;\r\n }\r\n\r\n captchaResolved(captchaResponse: string) {\r\n this.recaptchaToken = captchaResponse;\r\n }\r\n\r\n continue() {\r\n this.form.submitted = true;\r\n this.serverError = '';\r\n if (this.form.valid && this.recaptchaToken !== '') {\r\n this.loading = true;\r\n this.registrationService.setCurrentRegistree(this.registree);\r\n const user = new User();\r\n user.isAnonymous = false;\r\n user.email = this.registree.email;\r\n user.firstName = this.registree.firstName;\r\n user.lastName = this.registree.lastName;\r\n user.password = this.registree.password;\r\n user.confirmPassword = this.registree.confirmPassword;\r\n user.securityQuestions = this.registree.securityQuestions;\r\n user.cifno = this.registree.cifNo;\r\n user.registeredSystem = GrowerOnline;\r\n \r\n this.authService.Register(\r\n user, this.recaptchaToken,\r\n this.agreementAcceptanceDate,\r\n this.eStatementAcceptanceDate,\r\n this.achUSBankStatementAcceptanceDate,\r\n this.registree.accountNumber,\r\n this.registree.ssn,\r\n this.registree.zip)\r\n .then(() => {\r\n this.registrationService.makeNewRegistree();\r\n this.router.navigate(['/registration/registration-summary']);\r\n })\r\n .catch((rejected) => {\r\n this.serverError = rejected;\r\n if (this.recaptcha) {\r\n this.recaptcha.reset();\r\n this.recaptchaToken = '';\r\n }\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { Router, ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { NavigationOptionsRegistration } from '../../models/navigation-options-registration';\r\n\r\n@Component({\r\n selector: 'gol-registration-navigation',\r\n templateUrl: 'registration-navigation.component.html',\r\n styleUrls: ['../css/progress-navigation.css']\r\n})\r\nexport class RegistrationNavigationComponent {\r\n selectedAlias: string;\r\n constructor(private router: Router, private activeRoute: ActivatedRoute) {\r\n this.options = NavigationOptionsRegistration.RegistrationPages();\r\n\r\n activeRoute.url.subscribe(() => {\r\n activeRoute.firstChild.data.subscribe((data) => {\r\n this.selectedAlias = data['tab'] || this.selectedAlias;\r\n });\r\n });\r\n\r\n }\r\n\r\n options: any[];\r\n showingMenu = false;\r\n closeProgressNav = true;\r\n\r\n isDisabled(alias: string) {\r\n return this.getIndexByAlias(alias) > this.getIndexByAlias(this.selectedAlias);\r\n }\r\n\r\n isSelected(alias: string) {\r\n return this.getIndexByAlias(alias) === this.getIndexByAlias(this.selectedAlias);\r\n }\r\n\r\n getIndexByAlias(alias: string): number {\r\n return this.options.findIndex((page) => page.alias === alias);\r\n }\r\n\r\n showMenu(show: boolean) {\r\n this.showingMenu = show;\r\n }\r\n\r\n navigate(route: string, alias: string) {\r\n if (!this.isDisabled(alias)) {\r\n this.router.navigate([route], { relativeTo: this.activeRoute });\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","","import { Component, Input, Output, OnInit, EventEmitter, ViewChild } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { NgClass } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { Registree } from '../../models/register';\r\nimport { TopForm } from '../../form/top-form';\r\nimport { UserService } from '../../services/user.service';\r\nimport { CurrentRegistrationService } from '../../services/current-registration.service';\r\nimport { AuthService, IAuthService } from '../../services/auth.service';\r\nimport { ValidatorFn } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'gol-linkaccount',\r\n templateUrl: 'linkaccount.component.html',\r\n styleUrls: ['../css/styles_form.css']\r\n})\r\nexport class LinkAccountComponent implements OnInit {\r\n @Input() newUser: boolean;\r\n @Output() cifNo: EventEmitter;\r\n @Output() back: EventEmitter;\r\n @Output() cancel: EventEmitter;\r\n @Output() skip: EventEmitter;\r\n\r\n form: TopForm = new TopForm();\r\n\r\n AccountNumber: string;\r\n Last4ssn: string;\r\n ZipCode: string;\r\n\r\n accountNumber: FormControl\r\n = new FormControl('', Validators.compose([Validators.required, Validators.minLength(4), Validators.maxLength(7)]));\r\n last4ssn: FormControl\r\n = new FormControl('', Validators.compose([Validators.required, Validators.minLength(4), Validators.maxLength(4)]));\r\n zip: FormControl = new FormControl('', Validators.compose([Validators.required, Validators.minLength(5), Validators.maxLength(10)]));\r\n loading: boolean;\r\n serverError = '';\r\n mask = zipMask;\r\n\r\n showTandC = false;\r\n showEStatement = false;\r\n showAchUSBankStatement = false;\r\n\r\n attestation: FormControl = new FormControl('', this.checkboxValidator('attestation'));\r\n eStatement: FormControl = new FormControl('', this.checkboxValidator('eStatement'));\r\n achUSBankStatement: FormControl = new FormControl('', this.checkboxValidator('achUSBankStatement'));\r\n\r\n attestationVisible = false;\r\n eStatementVisible = false;\r\n achUSBankStatementVisible = false;\r\n\r\n agreementAcceptanceDate: Date;\r\n eStatementAcceptanceDate: Date;\r\n achUSBankStatementAcceptanceDate: Date;\r\n\r\n openLightbox = false;\r\n\r\n constructor(public router: Router,\r\n private authService: AuthService,\r\n public registrationService: CurrentRegistrationService,\r\n private userService: UserService) {\r\n this.cifNo = new EventEmitter();\r\n this.back = new EventEmitter();\r\n this.cancel = new EventEmitter();\r\n this.skip = new EventEmitter();\r\n\r\n this.form.addControl('accountNumber', this.accountNumber);\r\n this.form.addControl('last4ssn', this.last4ssn);\r\n this.form.addControl('zip', this.zip);\r\n this.form.addControl('attestation', this.attestation);\r\n this.form.addControl('eStatement', this.eStatement);\r\n this.form.addControl('achUSBankStatement', this.achUSBankStatement);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getUserAcceptanceDates();\r\n }\r\n\r\n SubmitText(): string {\r\n if (this.newUser) {\r\n return 'Continue';\r\n } else {\r\n return 'Link To Account';\r\n }\r\n }\r\n\r\n Back() {\r\n this.back.emit(true);\r\n }\r\n\r\n Cancel() {\r\n this.cancel.emit(true);\r\n }\r\n\r\n Skip() {\r\n this.skip.emit(true);\r\n }\r\n\r\n continue() {\r\n this.form.submitted = true;\r\n if (this.form.valid) {\r\n this.serverError = '';\r\n this.loading = true;\r\n this.authService.VerifyAccountDetails(this.AccountNumber, this.Last4ssn, this.ZipCode)\r\n .then((result) => {\r\n if (result > 0) {\r\n this.cifNo.emit({ cifno: result, accountNumber: this.AccountNumber, ssn: this.Last4ssn, zip: this.ZipCode });\r\n this.updateUserAcceptanceDates();\r\n } else if (result === -1) {\r\n this.serverError = 'There is already a user associated with this account.';\r\n } else if (result === -2) {\r\n this.serverError = 'There is an issue with this account. Please contact customer service for more details.';\r\n } else {\r\n this.serverError = 'We were unable to match the details provided with an account.';\r\n }\r\n })\r\n .catch((error) => {\r\n this.serverError = error;\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n }\r\n\r\n updateUserAcceptanceDates() {\r\n if (!!this.userService.GetUser()) {\r\n this.authService.UpdateUserAcceptanceDates(\r\n this.agreementAcceptanceDate,\r\n this.eStatementAcceptanceDate,\r\n this.achUSBankStatementAcceptanceDate)\r\n .then((result) => {\r\n })\r\n .catch((error) => {\r\n this.serverError = error;\r\n });\r\n }\r\n }\r\n\r\n getUserAcceptanceDates() {\r\n if (!!this.userService.GetUser()) {\r\n this.authService.GetUserAcceptanceDates()\r\n .then((result) => {\r\n if (result != null) {\r\n this.attestationVisible = result.OnlineAgreementAcceptanceDate == null;\r\n this.eStatementVisible = result.EStatementAcceptanceDate == null;\r\n this.achUSBankStatementVisible = result.AchUSBankStatementAcceptanceDate == null;\r\n }\r\n })\r\n .catch((error) => {\r\n this.serverError = error;\r\n });\r\n }\r\n }\r\n\r\n agreementChanged(event) {\r\n const checked = event.target.checked;\r\n const acceptedDateTime = checked ? new Date() : null;\r\n this.agreementAcceptanceDate = acceptedDateTime;\r\n }\r\n\r\n eStatementChanged(event) {\r\n const checked = event.target.checked;\r\n const acceptedDateTime = checked ? new Date() : null;\r\n this.eStatementAcceptanceDate = acceptedDateTime;\r\n }\r\n\r\n achUSBankStatementChanged(event) {\r\n const checked = event.target.checked;\r\n const acceptedDateTime = checked ? new Date() : null;\r\n this.achUSBankStatementAcceptanceDate = acceptedDateTime;\r\n }\r\n\r\n checkboxValidator(controlName: string): ValidatorFn {\r\n const self = this;\r\n\r\n function validate(c: FormControl) {\r\n\r\n if (self.checkboxIsVisible(controlName)) {\r\n if (!c.value) {\r\n return { required: true };\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return validate;\r\n }\r\n\r\n checkboxIsVisible(controlName: string): boolean {\r\n if (controlName === 'attestation') {\r\n return this.attestationVisible;\r\n }\r\n if (controlName === 'eStatement') {\r\n return this.eStatementVisible;\r\n }\r\n if (controlName === 'achUSBankStatement') {\r\n return this.achUSBankStatementVisible;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n\r\nexport function zipMask(inputValue) {\r\n let array: any[] = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\r\n if (inputValue.length > 5) {\r\n array = array.concat(['-', /\\d/, /\\d/, /\\d/, /\\d/]);\r\n }\r\n return array;\r\n}\r\n","import { Component, Output, OnInit, EventEmitter, ViewChild } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { NgClass } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { Registree } from '../../models/register';\r\nimport { TopForm } from '../../form/top-form';\r\nimport { CurrentRegistrationService } from '../../services/current-registration.service';\r\nimport { AuthService, IAuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'gol-registration-linkaccount',\r\n templateUrl: 'registration-linkaccount.component.html',\r\n styleUrls: ['../css/styles_form.css']\r\n})\r\nexport class RegistrationLinkAccountComponent {\r\n registree: Registree;\r\n loading: boolean;\r\n serverError = '';\r\n\r\n constructor(public router: Router, private authService: AuthService, public registrationService: CurrentRegistrationService) {\r\n this.initPage();\r\n }\r\n\r\n initPage() {\r\n this.registree = this.registrationService.getCurrentRegistree();\r\n if (!this.registree.email.length) {\r\n this.registrationService.back();\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n back(triggered: boolean) {\r\n if (triggered) {\r\n this.registrationService.back();\r\n }\r\n }\r\n\r\n cancel(triggered: boolean) {\r\n if (triggered) {\r\n this.registrationService.cancel();\r\n }\r\n }\r\n\r\n skip(triggered: boolean) {\r\n if (triggered) {\r\n this.registree.isExistingCustomer = false;\r\n this.registrationService.setCurrentRegistree(this.registree);\r\n this.router.navigate(['/registration/registration-security']);\r\n }\r\n }\r\n\r\n continue(linkedData: any) {\r\n const cifno = linkedData['cifno'];\r\n if (cifno > 0) {\r\n this.registree.cifNo = cifno;\r\n this.registree.accountNumber = linkedData['accountNumber'];\r\n this.registree.zip = linkedData['zip'];\r\n this.registree.ssn = linkedData['ssn'];\r\n this.registrationService.setCurrentRegistree(this.registree);\r\n this.router.navigate(['/registration/registration-security']);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
","
\r\n
\r\n
\r\n

Register as a new user

\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Email is invalid

\r\n
\r\n
\r\n

{{emailError}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

\r\n {{passwordValidationMessage(password.errors['passwordValidation'])}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n

Passwords do not match

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n * If you are already registered as a dealer on Dealer.Raboag.com, please use the same login credentials\r\n to register your grower account.\r\n
\r\n
\r\n {{serverError}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Registree } from '../../models/register';\r\nimport { TopForm } from '../../form/top-form';\r\nimport { validateEmailFactory } from '../../form/validation/email-validator.directive';\r\nimport { validatePasswordFactory, passwordCompareFactory } from '../../form/validation/password-validator.directive';\r\nimport { CurrentRegistrationService } from '../../services/current-registration.service';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'gol-registration-profile',\r\n templateUrl: 'registration-profile.component.html',\r\n styleUrls: ['../css/styles_form.css'],\r\n})\r\n\r\nexport class RegistrationProfileComponent {\r\n\r\n form: TopForm = new TopForm();\r\n firstName: FormControl = new FormControl('', Validators.required);\r\n lastName: FormControl = new FormControl('', Validators.required);\r\n email: FormControl = new FormControl('', [Validators.required, validateEmailFactory()]);\r\n password: FormControl = new FormControl('', [Validators.required, validatePasswordFactory()]);\r\n confirmPassword: FormControl = new FormControl('', [Validators.required]);\r\n existingCustomer: FormControl = new FormControl('');\r\n passwordGroup: FormGroup;\r\n serverError = '';\r\n emailError = '';\r\n registree: Registree;\r\n loading: boolean;\r\n\r\n constructor(public router: Router, private authService: AuthService, public registrationService: CurrentRegistrationService) {\r\n this.initPage();\r\n this.passwordGroup = new FormGroup({\r\n 'password': this.password,\r\n 'confirmPassword': this.confirmPassword\r\n }, passwordCompareFactory());\r\n this.form.addControl('firstName', this.firstName);\r\n this.form.addControl('lastName', this.lastName);\r\n this.form.addControl('email', this.email);\r\n this.form.addControl('passwordGroup', this.passwordGroup);\r\n this.form.addControl('existingCustomer', this.existingCustomer);\r\n }\r\n\r\n initPage() {\r\n this.registree = this.registrationService.getCurrentRegistree();\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n passwordValidationMessage(errorObj) {\r\n let message = 'Password is invalid: ';\r\n // tslint:disable-next-line: forin\r\n for (const error in errorObj) {\r\n message += errorObj[error] + '; ';\r\n }\r\n return message;\r\n }\r\n\r\n continue() {\r\n this.form.submitted = true;\r\n if (this.form.valid) {\r\n this.loading = true;\r\n this.authService.CheckAvailability(this.email.value, this.email.value)\r\n .then((result) => {\r\n this.loading = false;\r\n if (result === 'Available') {\r\n this.registrationService.setCurrentRegistree(this.registree);\r\n if (this.registree.isExistingCustomer === true) {\r\n this.router.navigate(['/registration/registration-linkaccount']);\r\n } else {\r\n this.router.navigate(['/registration/registration-security']);\r\n }\r\n } else {\r\n this.emailError = '\\'' + this.email.value + '\\' is already registered';\r\n }\r\n })\r\n .catch((error) => {\r\n this.loading = false;\r\n this.serverError = error;\r\n })\r\n .then(() => this.loading = false);\r\n }\r\n }\r\n\r\n cancel() {\r\n this.registrationService.cancel();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gol-registration',\r\n template: `\r\n
\r\n \r\n

User Registration

\r\n
\r\n \r\n
\r\n `,\r\n styleUrls: ['./css/styles_form.css'],\r\n})\r\nexport class RegistrationComponent {\r\n constructor() { }\r\n}\r\n","
\r\n
\r\n
\r\n

Account Security Questions

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Required

\r\n
\r\n \r\n
\r\n

Required

\r\n
\r\n
\r\n
\r\n
\r\n

Each security question must be unique.

\r\n
\r\n
\r\n
\r\n {{serverError}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Registree } from '../../models/register';\r\nimport { TopForm } from '../../form/top-form';\r\nimport { SecurityQuestion } from '../../models/security-question';\r\nimport { CurrentRegistrationService } from '../../services/current-registration.service';\r\nimport { SecurityQuestions } from '../../models/security-questions';\r\n\r\nconst SECURITY_QUESTIONS_COUNT = 5;\r\n\r\n@Component({\r\n selector: 'gol-registration-security',\r\n templateUrl: 'registration-security.component.html',\r\n styleUrls: ['../css/styles_form.css'],\r\n})\r\n\r\nexport class RegistrationSecurityComponent {\r\n form: TopForm = new TopForm();\r\n serverError = '';\r\n emailError = '';\r\n registree: Registree;\r\n questionsGroup: FormGroup;\r\n possibleSecurityQuestions: string[] = SecurityQuestions;\r\n\r\n constructor(public router: Router, public registrationService: CurrentRegistrationService) {\r\n this.initPage();\r\n this.questionsGroup = new FormGroup({}, this.noDuplicateQuestionsFactory());\r\n for (let x = 0; x < SECURITY_QUESTIONS_COUNT; ++x) {\r\n if (this.registree.securityQuestions.length <= x) {\r\n this.registree.securityQuestions.push(new SecurityQuestion());\r\n }\r\n const questionFC = new FormControl('', Validators.required);\r\n const answerFC = new FormControl('', Validators.required);\r\n this.questionsGroup.addControl('questionControl' + x, questionFC);\r\n this.questionsGroup.addControl('answerControl' + x, answerFC);\r\n }\r\n this.form.addControl('questionGroup', this.questionsGroup);\r\n }\r\n\r\n initPage() {\r\n this.registree = this.registrationService.getCurrentRegistree();\r\n if ((this.registree.isExistingCustomer && this.registree.cifNo === 0) || !this.registree.email.length) {\r\n this.registrationService.back();\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n changeSecurityQuestion(securityQuestion: SecurityQuestion, questionValue: string) {\r\n securityQuestion.question = questionValue;\r\n }\r\n\r\n noDuplicateQuestionsFactory() {\r\n const self = this;\r\n return function (g: FormGroup) {\r\n const selectedQuestions = {};\r\n if (self.registree && self.registree.securityQuestions) {\r\n for (let i = 0; i < self.registree.securityQuestions.length; ++i) {\r\n const value = self.registree.securityQuestions[i].question;\r\n if (value) {\r\n if (value in selectedQuestions) {\r\n return { duplicateQuestions: true };\r\n }\r\n selectedQuestions[value] = true;\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n continue() {\r\n this.form.submitted = true;\r\n this.serverError = '';\r\n if (this.form.valid) {\r\n this.registrationService.setCurrentRegistree(this.registree);\r\n this.router.navigate(['/registration/registration-agreement']);\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'gol-registration-summary',\r\n templateUrl: 'registration-summary.component.html',\r\n styleUrls: ['../css/styles_form.css'],\r\n})\r\n\r\nexport class RegistrationSummaryComponent {\r\n\r\n constructor(public router: Router) { }\r\n}\r\n","
\r\n

Congratulations!

\r\n

You've successfully enrolled in Rabo AgriFinance Vendor Finance online account management!\r\n You will now be able to make payments, view statements, make changes to your account and more!

\r\n
\r\n\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\nimport { Commitment } from '../models/accounts/commitment';\r\nimport { Payment } from '../models/accounts/payment';\r\nimport { AuthenticatedHttp } from '../services/authenticated-http.service';\r\nimport { UserService } from '../services/user.service';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { Document } from '../models/document/document';\r\nimport { DocumentMetaData } from '../models/document/document-meta-data';\r\nimport { DocumentQuery } from '../models/document/document-query';\r\nimport { Loan } from '../models/accounts/loan';\r\nimport { Amendment } from '../models/accounts/amendment';\r\nimport { ContactRequest } from '../models/contact-request';\r\nimport { ContactDetail } from '../models/accounts/contact-detail';\r\nimport { SecurityQuestionReset } from '../models/security-question-reset';\r\nimport { Transaction } from '../models/accounts/transaction';\r\nimport { TransactionQuery } from '../models/accounts/transaction-query';\r\nimport { TransactionReport } from '../models/accounts/transaction-report';\r\nimport { CONFIG } from '../../environments/environment';\r\nimport { Credentials } from '../models/credentials';\r\n\r\n@Injectable()\r\nexport class AccountHttpService implements IAccountHttpService {\r\n private headers = new HttpHeaders({ 'content-type': 'application/json' });\r\n private resourceUrl = CONFIG.apiBaseUri;\r\n private currentAccount: Commitment = null;\r\n private accountUpdatedSource = new Subject();\r\n private currentAccountLoading: string;\r\n private currentAccountLoadingPromise: Promise;\r\n accountUpdated$ = this.accountUpdatedSource.asObservable();\r\n credentials: Credentials = new Credentials();\r\n\r\n constructor(private http: AuthenticatedHttp, private userService: UserService, private authService: AuthService) {\r\n }\r\n\r\n getCurrentAccount(route: ActivatedRouteSnapshot, forceRefresh: boolean = false): Promise {\r\n const loan_number = route.params['accountId'];\r\n if (this.currentAccount != null && this.currentAccount.LoanNumber === loan_number && forceRefresh === false) {\r\n return Promise.resolve(this.currentAccount);\r\n } else {\r\n const self = this;\r\n if (loan_number === self.currentAccountLoading) {\r\n return self.currentAccountLoadingPromise;\r\n }\r\n self.currentAccountLoading = loan_number;\r\n self.currentAccountLoadingPromise = this.getAccount(loan_number)\r\n .then(acct => {\r\n self.currentAccount = acct;\r\n self.currentAccountLoading = null;\r\n return self.currentAccount;\r\n });\r\n return self.currentAccountLoadingPromise;\r\n }\r\n }\r\n\r\n updateAccountObservable() {\r\n this.accountUpdatedSource.next(true);\r\n }\r\n\r\n linkAccount(accountNumber: string, ssn: string, zip: string): Promise {\r\n const apiUrl = `${this.resourceUrl}Grower/LinkAccount?accountNumber=${accountNumber}&ssn=${ssn}&zip=${zip}`;\r\n\r\n return this.http\r\n .post(apiUrl, { headers: this.headers })\r\n .toPromise()\r\n .then((x) => {\r\n return true;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getAccounts(): Promise {\r\n const apiUrl = `${this.resourceUrl}Grower/Commitments`;\r\n try {\r\n return this.http.get(apiUrl)\r\n .toPromise()\r\n .then((res) => {\r\n return Array.from(res as any, (item) => { return new Commitment(item); });\r\n });\r\n } catch (err) {\r\n return this.handleError(err);\r\n }\r\n }\r\n\r\n getAllCommitments(): Promise {\r\n return this.http.get(this.resourceUrl + 'Grower/AllCommitments')\r\n .toPromise()\r\n .then((response) => {\r\n const allCommitments = Array.from(response as any, (item) => {\r\n return new Commitment(item);\r\n });\r\n return allCommitments;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getAccount(loanNumber: string): Promise {\r\n return this.getAccounts()\r\n .then(accounts => {\r\n const foundAccount = accounts.find(commitment => commitment.LoanNumber === loanNumber);\r\n if (!foundAccount) {\r\n return null;\r\n }\r\n return foundAccount;\r\n });\r\n }\r\n\r\n getPaymentHistory(loanNumber: string): Promise {\r\n return this.http.get(this.resourceUrl + 'Grower/GetPaymentHistory?loanNumber=' + loanNumber)\r\n .toPromise()\r\n .then(response => Array.from(response as any, (item) => {\r\n return new Payment(item);\r\n }))\r\n .catch(this.handleError);\r\n }\r\n\r\n cancelPendingPayments(pendingPayments: Payment[]): Promise {\r\n const url = this.resourceUrl + 'Grower/CancelPendingPayments';\r\n const json = JSON.stringify(pendingPayments);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getPayoffDetails(loanNumber: string, payoffDays: number): Promise {\r\n return this.http.get(this.resourceUrl + 'Grower/GetPayoffs?loanNumber=' + loanNumber + '&payoffDays=' + payoffDays)\r\n .toPromise()\r\n .then(response => Array.from(response as any, (item) => {\r\n return new Payment(item);\r\n }))\r\n .catch(this.handleError);\r\n }\r\n\r\n submitPayments(payments: Payment[]): Promise {\r\n\r\n const url = this.resourceUrl + 'Grower/SubmitPayments';\r\n const json = JSON.stringify(payments);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getDocuments(query: DocumentQuery): Promise {\r\n\r\n const url = this.resourceUrl + 'Grower/GetDocuments';\r\n const json = JSON.stringify(query);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then(response => Array.from(response as any, (item) => {\r\n return new Document(item);\r\n }))\r\n .catch(this.handleError);\r\n }\r\n\r\n getTransactionReport(query: TransactionQuery): Promise {\r\n const url = this.resourceUrl + 'Grower/GetTransactionReport';\r\n const json = JSON.stringify(query);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then(response => new TransactionReport(response))\r\n .catch(this.handleError);\r\n }\r\n\r\n downloadDocument(documentId: number) {\r\n const apiUrl = `${this.resourceUrl}Grower/DownloadDocument?documentId=${documentId}`;\r\n\r\n return this.http.get(apiUrl, { responseType: 'blob', observe: 'response' });\r\n }\r\n\r\n getLoanDetails(loanAcctRefNo: number): Promise {\r\n const url = this.resourceUrl + 'Grower/Loan/' + loanAcctRefNo;\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => new Loan(res))\r\n .catch(this.handleError);\r\n }\r\n\r\n getACHProcessingCutoffHour(): Promise {\r\n const url = this.resourceUrl + 'Grower/GetACHProcessingCutoffHour';\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => res)\r\n .catch(this.handleError);\r\n }\r\n\r\n getCustomerContactDetails(cifno: number): Promise {\r\n const url = this.resourceUrl + 'Grower/GetCustomerContactDetails?cifno=' + cifno;\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => new ContactDetail(res))\r\n .catch(this.handleError);\r\n }\r\n\r\n getCustomerContactPreferences(): Promise {\r\n const url = this.resourceUrl + 'Grower/GetCustomerContactPreferences';\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => new ContactDetail(res))\r\n .catch(this.handleError);\r\n }\r\n\r\n updateCustomerContactPreferences(contactDetails: ContactDetail): Promise {\r\n const url = this.resourceUrl + 'Grower/updateCustomerContactPreferences';\r\n const json = JSON.stringify(contactDetails);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => new ContactDetail(res))\r\n .catch(this.handleError);\r\n }\r\n\r\n updateCustomerContactDetails(contactDetails: ContactDetail): Promise {\r\n const url = this.resourceUrl + 'Grower/UpdateCustomerContactDetails';\r\n const json = JSON.stringify(contactDetails);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => new ContactDetail(res))\r\n .catch(this.handleError);\r\n }\r\n\r\n updateSecurityQuestions(model: SecurityQuestionReset): Promise {\r\n const url = this.resourceUrl + 'Account/UpdateSecurityQuestions';\r\n const json = JSON.stringify(model);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => true)\r\n .catch(this.handleError);\r\n }\r\n\r\n doesAccountHaveAmendment(loanNumber: string): Promise {\r\n const url = this.resourceUrl + 'Grower/DoesAccountHaveAmendment?loanNumber=' + loanNumber;\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => res)\r\n .catch(this.handleError);\r\n }\r\n\r\n submitAmendment(amendment: Amendment): Promise {\r\n const url = this.resourceUrl + 'Grower/SubmitAmendment';\r\n const json = JSON.stringify(amendment);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => res)\r\n .catch(this.handleError);\r\n }\r\n\r\n getPhoneNumbers(): Promise {\r\n const url = this.resourceUrl + 'Grower/GetGrowerPhoneNumbers';\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => res)\r\n .catch(this.handleError);\r\n }\r\n\r\n submitContactRequest(contactRequest: ContactRequest): Promise {\r\n const url = this.resourceUrl + 'Grower/SubmitContactRequest';\r\n const json = JSON.stringify(contactRequest);\r\n return this.http\r\n .post(url, json, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => res)\r\n .catch(this.handleError);\r\n }\r\n\r\n checkForSubmittedContactRequest(): Promise {\r\n const url = this.resourceUrl + 'Grower/CheckForSubmittedContactRequest';\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then((res) => res)\r\n .catch(this.handleError);\r\n }\r\n\r\n private handleError(error: any) {\r\n return Promise.reject(error.error.Message | error.message | error);\r\n }\r\n}\r\n\r\nexport interface IAccountHttpService {\r\n linkAccount(accountNumber: string, ssn: string, zip: string);\r\n getAccounts();\r\n getAccount(commitmentNumber: string);\r\n getPayoffDetails(loanNumber: string, payoffDays: number);\r\n submitPayments(payments: Payment[]);\r\n getPaymentHistory(loanNumber: string);\r\n cancelPendingPayments(pendingPayments: Payment[]);\r\n getDocuments(query: DocumentQuery);\r\n getLoanDetails(loanAcctRefNo: number);\r\n getACHProcessingCutoffHour();\r\n getCustomerContactDetails(cifno: number);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\nimport { Application } from '../models/application';\r\nimport { ApplicationHeader } from '../models/application-header';\r\nimport { AuthenticatedHttp } from '../services/authenticated-http.service';\r\nimport { UserService } from '../services/user.service';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { CONFIG } from '../../environments/environment';\r\nimport { Person } from '../models/person';\r\nimport { Address } from '../models/address';\r\nimport { GrowerOnline } from '../models/constants';\r\nimport { LoggingService } from './logging.service';\r\nimport { ErrorHandling } from '../shared/error-handling';\r\n\r\n@Injectable()\r\nexport class ApplicationHttpService implements IApplicationHttpService {\r\n private resourceUrl = CONFIG.apiBaseUri + 'Application';\r\n private headers = new HttpHeaders({ 'content-type': 'application/json' });\r\n\r\n constructor(private http: AuthenticatedHttp, private userService: UserService, private authService: AuthService, private logService: LoggingService) { }\r\n\r\n getApplicationHeaders() {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo('ApplicationHttpService.getApplicationHeaders start', null, null, currentUser);\r\n\r\n return this.http.get(this.resourceUrl + `/GetApplicationHeaders/${GrowerOnline}`)\r\n .toPromise()\r\n .then(response => Array.from(response as any[], (item) => {\r\n return new ApplicationHeader(item);\r\n }))\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.getApplicationHeaders completed, returned ${res.length} records`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError('ApplicationHttpService.getApplicationHeaders error.', err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n getApplications() {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo('ApplicationHttpService.getApplications start', null, null, currentUser);\r\n const srvc = this;\r\n return this.http.get(this.resourceUrl)\r\n .toPromise()\r\n .then(response => Array.from(response as any[], (item) => {\r\n return new Application(srvc, srvc.userService, srvc.authService, item);\r\n }))\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.getApplications completed, returned ${res.length} records`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError('ApplicationHttpService.getApplications error.', err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n getApplication(id: number) {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.getApplication start, Id: ${id}`, null, null, currentUser);\r\n const srvc = this;\r\n const url = `${this.resourceUrl}/${id}`;\r\n return this.http.get(url)\r\n .toPromise()\r\n .then(response => {\r\n this.logService.recordInfo(`ApplicationHttpService.getApplication completed, Id: ${id}, returned borrowers: ${response.Borrowers?.length ?? 0}`, null, null, currentUser);\r\n return new Application(srvc, srvc.userService, srvc.authService, response);\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.getApplication error, Id: ${id}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n private handleError(error: any) {\r\n console.error('ApplicationHttpService: An error occurred', error);\r\n const msg = ErrorHandling.extractMessage(error);\r\n this.logService.recordError(`ApplicationHttpService.handleError completed`, msg, null, 'unknown');\r\n return Promise.reject(msg);\r\n }\r\n\r\n private getAppDTO(app: Application) {\r\n return {\r\n id: app.id,\r\n appType: app.appType,\r\n additionalOwners: app.additionalOwners,\r\n borrowers: app.borrowers,\r\n balanceSheet: app.balanceSheet,\r\n lineOfBusiness: app.lineOfBusiness,\r\n income: app.income,\r\n entity: app.entity,\r\n vendors: app.vendors,\r\n currentPage: app.currentPage,\r\n createdDate: app.createdDate,\r\n onlineAgreementAcceptanceDate: app.onlineAgreementAcceptanceDate,\r\n hasEntityOwnership: app.hasEntityOwnership,\r\n increasedRiskCountries: app.increasedRiskCountries,\r\n originatingSite: app.originatingSite,\r\n preApprovalStagingId: app.preApprovalStagingId,\r\n preApprovalCode: app.preApprovalCode,\r\n hasTrust: app.hasTrust,\r\n hasIosWithPercent: app.hasIosWithPercent,\r\n hasIndividualsWithPercent: app.hasIndividualsWithPercent,\r\n maxPageReached: app.maxPageReached\r\n };\r\n }\r\n\r\n private post(app: Application): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.post start, Application Id: ${app?.id}`, null, null, currentUser);\r\n return this.http\r\n .post(this.resourceUrl, JSON.stringify(this.getAppDTO(app)), { headers: this.headers })\r\n .toPromise()\r\n .then(result => {\r\n this.logService.recordInfo(`ApplicationHttpService.post completed, Application Id: ${app?.id}, returned :${result.Id} | ${result.CreatedDate}`, null, null, currentUser);\r\n return result;\r\n }, reject => {\r\n const msg = ErrorHandling.extractMessage(reject);\r\n this.logService.recordInfo(`ApplicationHttpService.post completed, Application Id: ${app?.id}`, msg, null, currentUser);\r\n throw new Error(msg);\r\n })\r\n .catch(err => {\r\n const msg = ErrorHandling.extractMessage(err);\r\n this.logService.recordError(`ApplicationHttpService.post error, Application Id: ${app?.id}.`, msg, null, currentUser);\r\n throw new Error(msg);\r\n });\r\n }\r\n\r\n delete(app: Application) {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.delete start, Application Id: ${app?.id}`, null, null, currentUser);\r\n const url = `${this.resourceUrl}/${app.id}`;\r\n\r\n return this.http\r\n .delete(url, { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.delete completed, Application Id: ${app?.id}, returned ${res}`, null, null, currentUser);\r\n return;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.delete error, Application Id: ${app?.id}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n cancel(app: Application) {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.cancel start, Application Id: ${app?.id}`, null, null, currentUser);\r\n const url = `${this.resourceUrl}/Cancel/${app.id}`;\r\n\r\n return this.http\r\n .post(url, { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.cancel completed, Application Id: ${app?.id}, returned ${res}`, null, null, currentUser);\r\n return;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.cancel error, Application Id: ${app?.id}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n save(app: Application): Promise {\r\n return this.post(app);\r\n }\r\n\r\n submit(app: Application, recaptchaToken: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.submit start, Application Id: ${app?.id}, recaptcha token not empty: ${recaptchaToken && recaptchaToken.length > 0}`, null, null, currentUser);\r\n const url = `${this.resourceUrl}/submit/${app.id}`;\r\n\r\n return this.http\r\n .post(url, recaptchaToken ? JSON.stringify(recaptchaToken) : '', { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.submit completed, Application Id: ${app?.id}, returned ${res}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.submit error, Application Id: ${app?.id}.`, ErrorHandling.extractMessage(err), null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n getDocuSignUrl(app: Application): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.getDocuSignUrl start, Application Id: ${app?.id}`, null, null, currentUser);\r\n const url = `${this.resourceUrl}/GetDocuSignUrl/${app.id}`;\r\n\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.getDocuSignUrl completed, Application Id: ${app?.id}, returned ${res}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.getDocuSignUrl error, Application Id: ${app?.id}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n editSigningApplication(app: Application) {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.editSigningApplication start, Application Id: ${app?.id}`, null, null, currentUser);\r\n const srvc = this;\r\n const url = `${this.resourceUrl}/EditSigningApplication/${app.id}`;\r\n\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then(response => {\r\n return new Application(srvc, srvc.userService, srvc.authService, response);\r\n })\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.editSigningApplication completed, Application Id: ${app?.id}, returned ${res}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.editSigningApplication error, Application Id: ${app?.id}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n\r\n\r\n print(app: Application): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.print start, Application Id: ${app?.id}`, null, null, currentUser);\r\n const url = `${this.resourceUrl}/printable/${app.id}`;\r\n\r\n return this.http\r\n .get(url, { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n const byteChars = atob(res);\r\n const byteNumbers = new Array(byteChars.length);\r\n for (let i = 0; i < byteChars.length; i++) {\r\n byteNumbers[i] = byteChars.charCodeAt(i);\r\n }\r\n const byteArray = new Uint8Array(byteNumbers);\r\n\r\n const blob = new Blob([byteArray], { type: 'application/pdf' });\r\n this.logService.recordInfo(`ApplicationHttpService.print completed, Application Id: ${app?.id}, returned ${byteChars.length} bytes`, null, null, currentUser);\r\n return blob;\r\n }, err => {\r\n this.logService.recordInfo(`ApplicationHttpService.print rejected, Application Id: ${app?.id}, returned ${ErrorHandling.extractMessage(err)}`, null, null, currentUser);\r\n return this.handleError(err);\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.print error, Application Id: ${app?.id}.`, ErrorHandling.extractMessage(err), null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n\r\n getPreApprovalStagingForApplication(stagingId: number): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`ApplicationHttpService.getPreApprovalStagingForApplication start, stagingId: ${stagingId}`, null, null, currentUser);\r\n const url = `${this.resourceUrl}/GetPreApprovalStaging/${stagingId}`;\r\n\r\n return this.http.post(url, { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`ApplicationHttpService.getPreApprovalStagingForApplication completed, stagingId: ${stagingId}, returned ${res.GrowerFirstName} bytes`, null, null, currentUser);\r\n return this.convertStagingToPerson(res);\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`ApplicationHttpService.getPreApprovalStagingForApplication error, stagingId: ${stagingId}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n private convertStagingToPerson(data: any): Person {\r\n const person = new Person();\r\n const address = new Address(true);\r\n address.city = data.GrowerCity;\r\n address.line1 = data.GrowerAddress;\r\n address.line2 = data.GrowerAddress2;\r\n address.state = data.GrowerState;\r\n address.zipcode = data.GrowerZip;\r\n\r\n person.mailingAddress = address;\r\n person.physicalAddress = address;\r\n person.fullName.firstName = data.GrowerFirstName;\r\n person.fullName.lastName = data.GrowerLastName;\r\n person.fullName.middleName = data.GrowerMiddle;\r\n person.fullName.suffix = data.GrowerSuffix;\r\n person.dateOfBirth = null;\r\n person.isPreApproved = true; //if the person was in PreApprovalStaging table (NLS) they were preapproved.\r\n return person;\r\n }\r\n}\r\n\r\nexport interface IApplicationHttpService {\r\n getApplications();\r\n getApplication(id: number);\r\n save(app: Application): Promise;\r\n submit(app: Application, recaptchaToken: string): Promise;\r\n delete(app: Application);\r\n print(app: Application);\r\n getPreApprovalStagingForApplication(stagingId: number): Promise;\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport * as moment from 'moment';\r\nimport { InterruptSource, InterruptArgs } from '@ng-idle/core';\r\nimport { User } from '../models/user';\r\nimport { PasswordChange } from '../models/password-change';\r\nimport { UserService } from './user.service';\r\nimport { CONFIG } from '../../environments/environment';\r\nimport { UserToken } from '../models/user-token';\r\nimport { LoggingService } from './logging.service';\r\nimport { Router } from '@angular/router';\r\nimport { NotificationService } from 'if-angular-core';\r\n\r\n\r\n@Injectable()\r\nexport class AuthService extends InterruptSource implements IAuthService {\r\n private headers = new HttpHeaders({ 'content-type': 'application/json' });\r\n private resourceUrl = CONFIG.apiBaseUri + 'Account';\r\n\r\n constructor(private http: HttpClient, private userService: UserService, private logService: LoggingService, private router: Router, private notifySvc: NotificationService) {\r\n super(null, null);\r\n }\r\n\r\n private handleError(error: any) {\r\n const errorErrorMessage: string = error && error.error ? error.error.Message : null;\r\n let errorMessage: string = error && error.message ? error.message : null;\r\n let parsed: any = {};\r\n try {\r\n parsed = JSON.parse(error._body);\r\n } catch (err) {\r\n if (error.status === 401) {\r\n errorMessage = 'Authorization failed';\r\n }\r\n }\r\n const msg = errorErrorMessage || errorMessage || parsed.Message || parsed.message || 'Server error. Please try again later.';\r\n this.logService.recordError(`AuthService.handleError completed`, msg, error, 'unknown');\r\n return Promise.reject(msg);\r\n }\r\n\r\n public Register(user: User,\r\n recaptchaToken: string,\r\n agreementAcceptedDate: Date,\r\n eStatementAcceptanceDate: Date,\r\n achUSBankStatementAcceptanceDate: Date,\r\n accountNumber: any,\r\n ssn: any,\r\n zip: any): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.Register start, firstname: ${user?.firstName}, recaptcha not empty: ${recaptchaToken && recaptchaToken.length > 0}`, null, null, currentUser);\r\n\r\n const data: any = user;\r\n data.recaptchaToken = recaptchaToken;\r\n data.onlineAgreementAcceptanceDate = agreementAcceptedDate;\r\n data.eStatementAcceptanceDate = eStatementAcceptanceDate;\r\n data.achUSBankStatementAcceptanceDate = achUSBankStatementAcceptanceDate;\r\n data.accountNumber = accountNumber;\r\n data.ssn = ssn;\r\n data.zip = zip;\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/Register', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then((res: UserToken) => {\r\n\r\n const respUser = new User();\r\n respUser.isAnonymous = false;\r\n respUser.email = res.userName;\r\n respUser.firstName = res.firstName;\r\n respUser.lastName = res.lastName;\r\n respUser.userId = res.userID;\r\n respUser.authToken = res.access_token;\r\n respUser.authExpires = moment().add(res.expires_in, 's').toDate();\r\n respUser.authCreated = new Date();\r\n respUser.cifno = res.cifno;\r\n this.userService.SetUser(respUser);\r\n this.logService.recordInfo(`AuthService.Register completed, returned: ${respUser?.firstName}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.Register error, firstname: ${user?.firstName}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public CreateAnonymousUser(): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.CreateAnonymousUser start`, null, null, currentUser);\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/CreateAnonymousUser', '', { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.updateUserAndTokens(res, true);\r\n this.logService.recordInfo(`AuthService.CreateAnonymousUser completed, returned: ${true}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.CreateAnonymousUser error.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public GetSecurityQuestion(username: string, password: string, passwordResetToken: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.GetSecurityQuestion start, username: ${username}`, null, null, currentUser);\r\n const data = { Email: username, Password: password, ResetPasswordToken: passwordResetToken };\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/GetSecurityQuestion', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(question => {\r\n this.logService.recordInfo(`AuthService.GetSecurityQuestion completed, username: ${username}, returned: ${true}`, null, null, currentUser);\r\n return question;\r\n })\r\n .catch((error: any) => {\r\n if (error.status === 401) {\r\n let msg = '';\r\n if (error.error) {\r\n msg = error.error;\r\n } else {\r\n msg = password && password !=='' ? 'Username or password is incorrect' : 'Invalid user or reset token has expired';\r\n }\r\n this.logService.recordError(`AuthService.GetSecurityQuestion error, username: ${username}.`, msg, null, currentUser);\r\n return Promise.reject(msg);\r\n }\r\n this.logService.recordError(`AuthService.GetSecurityQuestion error, username: ${username}.`, error.message || error, null, currentUser);\r\n return this.handleError(error);\r\n });\r\n }\r\n\r\n public GetLastLoginMessage(username: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.GetLastLoginMessage start, username: ${username}`, null, null, currentUser);\r\n\r\n const data = { Email: username,};\r\n const browserDate = new Date();\r\n const offsetMinutes = -1 * browserDate.getTimezoneOffset(); //javascript treats the offset direction the opposite way that dotnet does.\r\n return this.http\r\n .get(this.resourceUrl + `/GetLastLoginMessage/?email=${username}&utcOffsetMinutes=${offsetMinutes}`, { headers: this.headers })\r\n .toPromise()\r\n .then(result => {\r\n this.logService.recordInfo(`AuthService.GetLastLoginMessage completed, username: ${username}, returned: ${result}`, null, null, currentUser);\r\n return result;\r\n })\r\n .catch((error: any) => {\r\n if (error.status === 401) {\r\n let msg = '';\r\n if (error._body) {\r\n msg = error._body;\r\n } else {\r\n msg = 'Unable to retrieve login message for user:' + username;\r\n }\r\n this.logService.recordError(`AuthService.GetLastLoginMessage error, username: ${username}.`, msg, null, currentUser);\r\n return Promise.reject(msg);\r\n }\r\n this.logService.recordError(`AuthService.GetLastLoginMessage error, username: ${username}.`, error.message || error, null, currentUser);\r\n return this.handleError(error);\r\n });\r\n }\r\n\r\n public Login(username: string, password: string, securityQuestion: string, securityAnswer: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.Login start, username: ${username}`, null, null, currentUser);\r\n const data = { Email: username, Password: password, Question: securityQuestion, Answer: securityAnswer };\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/Login', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.updateUserAndTokens(res, false);\r\n this.logService.recordInfo(`AuthService.Login completed, username: ${username}, returned: ${true}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch((error: any) => {\r\n if (error.status === 401) {\r\n this.logService.recordError(`AuthService.Login error, username: ${username}.`,'Incorrect answer to security question', null, currentUser);\r\n return Promise.reject('Incorrect answer to security question');\r\n }\r\n this.logService.recordError(`AuthService.Login error, username: ${username}.`, error.message || error, null, currentUser);\r\n return this.handleError(error);\r\n });\r\n }\r\n\r\n public RefreshTokens(): Promise {\r\n const response = new Promise((resolve, reject) => {\r\n const user = this.userService.GetUser();\r\n const currentUser = user?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.RefreshTokens start`, null, null, currentUser);\r\n\r\n if (user && user.refreshToken) {\r\n const data = { RefreshToken: user.refreshToken };\r\n this.http\r\n .post(this.resourceUrl + '/RefreshLogin', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.updateTokens(res);\r\n if (this.isAttached) {\r\n const args = new InterruptArgs(this, new Date());\r\n this.onInterrupt.emit(args);\r\n }\r\n this.logService.recordInfo(`AuthService.RefreshTokens completed, username: ${currentUser}, returned: ${true}`, null, null, currentUser);\r\n resolve(true);\r\n })\r\n .catch(reason => {\r\n this.logService.recordError(`AuthService.RefreshTokens exception`, reason.message || reason, null, currentUser);\r\n reject(reason);\r\n });\r\n } else {\r\n this.logService.recordError(`AuthService.RefreshTokens error`, 'Missing user or refresh token', null, currentUser);\r\n reject(new Error('Missing user or refresh token'));\r\n }\r\n });\r\n\r\n return response;\r\n }\r\n\r\n private updateUserAndTokens(token, isAnonymous): User {\r\n const user = this.updateTokens(token);\r\n user.isAnonymous = isAnonymous;\r\n user.email = token.userName;\r\n user.firstName = token.firstName;\r\n user.lastName = token.lastName;\r\n user.userId = token.userID;\r\n user.cifno = token.cifno;\r\n this.userService.SetUser(user);\r\n return user;\r\n }\r\n\r\n private updateTokens(token): User {\r\n let user = this.userService.GetUser();\r\n this.logService.recordInfo('AuthService.updateTokens authToken', token.access_token === '' || token.access_token == undefined ? 'Token blank or empty' : 'Token present', null, user?.email);\r\n this.logService.recordInfo('AuthService.updateTokens refreshToken', token.refresh_token === '' || token.refresh_token == undefined ? 'Token blank or empty' : 'Token present', null, user?.email);\r\n if (!user) {\r\n user = new User();\r\n }\r\n user.authToken = token.access_token;\r\n user.refreshToken = token.refresh_token;\r\n user.authExpires = moment().add(token.expires_in, 's').toDate();\r\n user.authCreated = new Date();\r\n this.userService.SetUser(user);\r\n this.userService.startIdleClock();\r\n return user;\r\n }\r\n\r\n public UpdateUser(user: User): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.UpdateUser start, email: ${user?.email}`, null, null, currentUser);\r\n\r\n const headers = this.createAuthorizationHeader(this.headers);\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/UpdateUser', JSON.stringify(user), { headers: headers })\r\n .toPromise()\r\n .then(res => {\r\n this.userService.SetUser(user);\r\n this.logService.recordInfo(`AuthService.UpdateUser completed, email: ${user?.email}, returned: ${res}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.UpdateUser error, email: ${user?.email}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public ChangePassword(passwordChange: PasswordChange): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.ChangePassword start, credentials provided: ${passwordChange && passwordChange.oldPassword && passwordChange.oldPassword.length > 0}`, null, null, currentUser);\r\n const headers = this.createAuthorizationHeader(this.headers);\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/ChangePassword', JSON.stringify(passwordChange), { headers: headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.ChangePassword completed, returned: ${true}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch((err) => {\r\n const modelMessage = this.GetErrorFromModelState(err);\r\n if (modelMessage) {\r\n this.logService.recordError(`AuthService.ChangePassword error.`, modelMessage, null, currentUser);\r\n return Promise.reject(modelMessage);\r\n }\r\n this.logService.recordError(`AuthService.ChangePassword error.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n private GetErrorFromModelState(err): string {\r\n let parsed: any = {};\r\n try {\r\n parsed = JSON.parse(err._body);\r\n } catch (e) {\r\n }\r\n if (parsed.ModelState && parsed.ModelState[''] && parsed.ModelState[''].length) {\r\n return parsed.ModelState[''][0];\r\n }\r\n return null;\r\n }\r\n\r\n public InitiatePasswordReset(email: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.InitiatePasswordReset start, email: ${email}`, null, null, currentUser);\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/InitiatePasswordReset',\r\n JSON.stringify({ 'email': email, websiteName: 'GrowerOnline' }),\r\n { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.InitiatePasswordReset completed, email: ${email}, returned: ${true}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.InitiatePasswordReset error, email: ${email}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public ResetPassword(email: string, token: string, newPassword: string, question: string, answer: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.ResetPassword start, email: ${email}`, null, null, currentUser);\r\n\r\n const data = { 'Email': email, 'Token': token, 'NewPassword': newPassword, 'Question': question, 'Answer': answer };\r\n return this.http\r\n .post(this.resourceUrl + '/ResetPassword', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.ResetPassword completed, email: ${email}, returned: ${true}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch((err: any) => {\r\n if (err.status === 401) {\r\n this.logService.recordError(`AuthService.ResetPassword error, email: ${email}.`,'Incorrect answer to security question', null, currentUser);\r\n return Promise.reject('Incorrect answer to security question');\r\n }\r\n this.logService.recordError(`AuthService.ResetPassword error, email: ${email}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public ChangeExpiredPassword(email: string, oldPassword: string, newPassword: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.ChangeExpiredPassword start, email: ${email}`, null, null, currentUser);\r\n\r\n const data = { 'Email': email, 'OldPassword': oldPassword, 'NewPassword': newPassword };\r\n return this.http\r\n .post(this.resourceUrl + '/ChangeExpiredPassword', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.ChangeExpiredPassword completed, email: ${email}, returned: ${true}`, null, null, currentUser);\r\n return true;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.ChangeExpiredPassword error, email: ${email}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public CheckAvailability(email: string, username: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.CheckAvailability start, email: ${email}`, null, null, currentUser);\r\n\r\n const data = { 'Email': email, 'UserName': username };\r\n return this.http\r\n .post(this.resourceUrl + '/CheckAvailability', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.CheckAvailability completed, email: ${email}, returned: ${res}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.CheckAvailability error, email: ${email}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public VerifyAccountDetails(accountNumber: string, last4ssn: string, zipCode: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.VerifyAccountDetails start, accountNumber: ${accountNumber}`, null, null, currentUser);\r\n\r\n const data = { 'AccountNumber': accountNumber, 'Last4ssn': last4ssn, 'ZipCode': zipCode };\r\n return this.http\r\n .post(this.resourceUrl + '/VerifyAccountDetails', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.VerifyAccountDetails completed, accountNumber: ${accountNumber}, returned: ${res}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.VerifyAccountDetails error, accountNumber: ${accountNumber}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public createAuthorizationHeader(headers: HttpHeaders): HttpHeaders {\r\n headers = headers || new HttpHeaders();\r\n const usr = this.userService.GetUser();\r\n this.logService.recordInfo('AuthService.createAuthorizationHeader start', null, null, usr?.userId);\r\n if (usr) {\r\n if (this.isUserAuthExpired(usr)) {\r\n console.error('---USER AUTH EXPIRED---');\r\n this.logService.recordWarn('AuthService.createAuthorizationHeader expired', '---USER AUTH EXPIRED---', null, usr?.userId);\r\n this.userService.Logout();\r\n const wait = new Promise(resolve => setTimeout(resolve, 1000));\r\n wait.then(res => {\r\n this.notifySvc.push({\r\n severity: 'error',\r\n summary: 'Error Refreshing Tokens',\r\n detail: 'Authorization Failed - Expired',\r\n life: 12000\r\n });\r\n });\r\n this.router.navigateByUrl('/home');\r\n } else {\r\n this.RefreshTokens().catch((reason) => {\r\n console.count('---RefreshTokens exception---');\r\n this.logService.recordError('AuthService.createAuthorizationHeader exception', reason.error?.error || reason.error || reason.Message || reason.Error, null, usr?.userId);\r\n this.userService.Logout();\r\n const wait = new Promise(resolve => setTimeout(resolve, 1000));\r\n wait.then(res => {\r\n this.notifySvc.push({\r\n severity: 'error',\r\n summary: 'Error Refreshing Tokens',\r\n detail: 'Authorization Failed',\r\n life: 12000\r\n });\r\n });\r\n this.router.navigateByUrl('/home');\r\n });\r\n\r\n headers = headers.set('Authorization', `Bearer ${this.userService.GetUser().authToken}`);\r\n }\r\n }\r\n this.logService.recordInfo('AuthService.createAuthorizationHeader completed', null, null, usr?.userId);\r\n return headers;\r\n }\r\n\r\n private isUserAuthExpired(usr: User): boolean {\r\n return usr.authExpires <= new Date();\r\n }\r\n\r\n public UpdateUserAcceptanceDates(\r\n agreementAcceptedDate: Date,\r\n eStatementAcceptanceDate: Date,\r\n achUSBankStatementAcceptanceDate: Date): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.UpdateUserAcceptanceDates start, agreementAcceptedDate: ${agreementAcceptedDate}`, null, null, currentUser);\r\n\r\n const headers = this.createAuthorizationHeader(this.headers);\r\n\r\n const data = {\r\n 'OnlineAgreementAcceptanceDate': agreementAcceptedDate,\r\n 'EStatementAcceptanceDate': eStatementAcceptanceDate,\r\n 'AchUSBankStatementAcceptanceDate': achUSBankStatementAcceptanceDate\r\n };\r\n return this.http\r\n .post(this.resourceUrl + '/UpdateUserAcceptanceDates', JSON.stringify(data), { headers: headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.UpdateUserAcceptanceDates completed, agreementAcceptedDate: ${agreementAcceptedDate}, returned: ${res}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.UpdateUserAcceptanceDates error, agreementAcceptedDate: ${agreementAcceptedDate}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public GetUserAcceptanceDates(): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.GetUserAcceptanceDates start`, null, null, currentUser);\r\n\r\n const headers = this.createAuthorizationHeader(this.headers);\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/GetUserAcceptanceDates', null, { headers: headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.GetUserAcceptanceDates completed, returned: ${JSON.stringify(res)}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.GetUserAcceptanceDates error.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n\r\n public ValidatePreApproval(code: string, name: string): Promise {\r\n const currentUser = this.userService.GetUser()?.email ?? 'unknown';\r\n this.logService.recordInfo(`AuthService.ValidatePreApproval start, code: ${code}, name: ${name}`, null, null, currentUser);\r\n\r\n const data = { Code: code, LastName: name };\r\n\r\n return this.http\r\n .post(this.resourceUrl + '/ValidatePreApproval', JSON.stringify(data), { headers: this.headers })\r\n .toPromise()\r\n .then(res => {\r\n this.logService.recordInfo(`AuthService.ValidatePreApproval completed, code: ${code}, name: ${name}, returned: ${res}`, null, null, currentUser);\r\n return res;\r\n })\r\n .catch(err => {\r\n this.logService.recordError(`AuthService.ValidatePreApproval error, code: ${code}, name: ${name}.`, err.message || err, null, currentUser);\r\n return this.handleError(err);\r\n });\r\n }\r\n}\r\n\r\nexport interface IAuthService {\r\n Register(user: User,\r\n recaptchaToken: string,\r\n agreementAcceptedDate: Date,\r\n eStatementAcceptanceDate: Date,\r\n achUSBankStatementAcceptanceDate: Date,\r\n accountNumber: any,\r\n ssn: any,\r\n zip: any);\r\n GetSecurityQuestion(username: string, password: string, passwordResetToken: string);\r\n Login(username: string, password: string, securityQuestion: string, securityAnswer: string);\r\n CreateAnonymousUser(): Promise;\r\n UpdateUser(user: User): Promise;\r\n ChangePassword(passwordChange: PasswordChange): Promise;\r\n InitiatePasswordReset(email: string): Promise;\r\n ResetPassword(email: string, token: string, newPassword: string, question: string, answer: string): Promise;\r\n CheckAvailability(email: string, username: string): Promise;\r\n VerifyAccountDetails(accountNumber: string, last4ssn: string, zipCode: string): Promise;\r\n UpdateUserAcceptanceDates(agreementAcceptedDate: Date,\r\n eStatementAcceptanceDate: Date,\r\n achUSBankStatementAcceptanceDate: Date): Promise;\r\n GetLastLoginMessage(username: string): Promise ;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { AuthServiceV2 } from '../../appshared/public-api';\r\nimport { AppVersionHelper } from '../../version-helper';\r\n\r\n@Injectable()\r\nexport class AuthenticatedHttp {\r\n\r\n constructor(private http: HttpClient, private auth: AuthService, private authv2: AuthServiceV2) { }\r\n\r\n public post(url: string, body?: any, options?: any): Observable {\r\n options = options || {};\r\n options.headers = this.createAuthorizationHeader(options.headers);\r\n return this.http.post(url, body, options);\r\n }\r\n public get(url: string, options?: any): Observable {\r\n options = options || {};\r\n options.headers = this.createAuthorizationHeader(options.headers);\r\n return this.http.get(url, options);\r\n }\r\n public delete(url: string, options?: any) {\r\n options = options || {};\r\n options.headers = this.createAuthorizationHeader(options.headers);\r\n return this.http.delete(url, options);\r\n }\r\n\r\n private createAuthorizationHeader(headers: HttpHeaders) : HttpHeaders {\r\n if (AppVersionHelper.isVersion2()) {\r\n headers = this.authv2.createAuthorizationHeader(headers);\r\n } else {\r\n headers = this.auth.createAuthorizationHeader(headers);\r\n }\r\n\r\n return headers;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { UserService } from './user.service';\r\nimport { AuthService } from '../../appv2/services/auth.service';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AuthorizationGuard implements CanActivate {\r\n \r\n\r\n constructor(protected router: Router, protected userService: UserService, protected authService: AuthService) { \r\n } \r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\r\n const user = this.userService.GetUser();\r\n\r\n if (user == null || user.isAnonymous) {\r\n this.router.navigate(['/home']);\r\n return false;\r\n } \r\n \r\n if (!user.roles.includes('GrowerUser') && !user.isInternal) { \r\n this.authService.Logout('/login-failure');\r\n } \r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\nimport { AuthenticatedHttp } from './authenticated-http.service';\r\nimport { AuthorizedPartyRequest } from '../models/authorized-party-request';\r\nimport { AuthorizedPartyWorkflow } from '../models/authorized-party-workflow';\r\nimport { CONFIG } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class AuthorizedPartyService {\r\n private resourceUrl = `${CONFIG.apiBaseUri}AuthorizedParty`;\r\n private headers = new HttpHeaders({ 'content-type': 'application/json' });\r\n\r\n constructor(private http: AuthenticatedHttp) { }\r\n\r\n public addAuthorizedParty(authorizedParty: AuthorizedPartyRequest):\r\n Promise<{ DocuSignUrl: string, AuthorizedPartyRequestId: number, Error: string }> {\r\n const json = JSON.stringify(authorizedParty);\r\n const url = `${this.resourceUrl}/Add`;\r\n return this.http.post(url, json, { headers: this.headers }).toPromise()\r\n .then((response) => {\r\n if (response && response) {\r\n return response;\r\n }\r\n })\r\n .catch((error) => this.handleError(error));\r\n }\r\n\r\n public getAllAuthorizedPartyWorkflows(acctRefNo: string): Promise {\r\n const url = `${this.resourceUrl}/Pending/${acctRefNo}`;\r\n return this.http.get(url, { headers: this.headers }).toPromise()\r\n .then((response) => {\r\n if (response && response) {\r\n return response.map(x => new AuthorizedPartyWorkflow(x));\r\n }\r\n })\r\n .catch((error) => this.handleError(error));\r\n }\r\n\r\n public getDocuSignURL(requestId: number): Promise {\r\n const url = `${this.resourceUrl}/Sign/${requestId}`;\r\n return this.http.get(url, { headers: this.headers }).toPromise()\r\n .then((response) => {\r\n if (response && response) {\r\n return response;\r\n }\r\n })\r\n .catch((error) => this.handleError(error));\r\n }\r\n\r\n public cancelAuthorizedPartyRequest(requestId: number): Promise {\r\n const url = `${this.resourceUrl}/Cancel/${requestId}`;\r\n return this.http.post(url, null, { headers: this.headers }).toPromise()\r\n .then((response) => {\r\n if (response) {\r\n return null;\r\n }\r\n })\r\n .catch((error) => this.handleError(error));\r\n }\r\n\r\n public getPrintableRequest(id: number, accountRefNo: any): Promise {\r\n const headers = new Headers();\r\n headers.append('Content-type', 'application/json');\r\n const url = `${this.resourceUrl}/printable/${id}/${accountRefNo}`;\r\n\r\n return this.http\r\n .get(url, { headers: headers })\r\n .toPromise()\r\n .then(res => {\r\n const byteChars = atob(res);\r\n const byteNumbers = new Array(byteChars.length);\r\n for (let i = 0; i < byteChars.length; i++) {\r\n byteNumbers[i] = byteChars.charCodeAt(i);\r\n }\r\n const byteArray = new Uint8Array(byteNumbers);\r\n\r\n const blob = new Blob([byteArray], { type: 'application/pdf' });\r\n return blob;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n private handleError(error: any) {\r\n const json = error;\r\n if (json && json.Message) {\r\n const msg = json.Message;\r\n return Promise.reject(msg);\r\n } else {\r\n console.error('An error occurred', error.message || error);\r\n return Promise.reject(error.message || error);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticatedHttp } from '../services/authenticated-http.service';\r\nimport { CONFIG } from '../../environments/environment';\r\nimport { ChangeLogModel } from '../models/changelog';\r\nimport * as _ from 'lodash';\r\nimport { CustomErrorHandler } from './custom-error-handler';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChangeLogService {\r\n\r\n private resourceUrl = CONFIG.apiBaseUri + 'changelog';\r\n\r\n constructor(private http: AuthenticatedHttp, private errorHandler:CustomErrorHandler) {\r\n }\r\n\r\n public getChangeLogs(id: number): Promise {\r\n const url = `${this.resourceUrl}?RefValue=${id}&RefType=ApplicationId`;\r\n return this.http.get(url, { headers: this.getJsonRequestHeaders() })\r\n .toPromise()\r\n .then((response) => {\r\n return _.map(response, v => new ChangeLogModel(v));\r\n })\r\n .catch(err => Promise.reject(this.errorHandler.handleError));\r\n }\r\n\r\n public saveChangeLog(log: ChangeLogModel){\r\n const url = `${this.resourceUrl}`;\r\n\r\n return this.http.post(url, JSON.stringify(log), { headers: this.getJsonRequestHeaders() })\r\n .toPromise()\r\n .then(response => {\r\n return response;\r\n })\r\n .catch(err => Promise.reject(this.errorHandler.handleError));\r\n }\r\n\r\n protected getJsonRequestHeaders() {\r\n return new HttpHeaders({ 'content-type': 'application/json' });\r\n }\r\n} ","import { Injectable } from '@angular/core';\r\nimport { Application } from '../models/application';\r\nimport { ApplicationHttpService } from './application-http.service';\r\nimport { UserService } from './user.service';\r\nimport { AuthService } from './auth.service';\r\nimport { StorageService } from './storage.service';\r\nimport { Person } from '../models/person';\r\nimport { ErrorHandling } from '../shared/error-handling';\r\nimport { LoggingService } from './logging.service';\r\n\r\n@Injectable()\r\nexport class CurrentApplicationService {\r\n constructor(\r\n private appHttpService: ApplicationHttpService,\r\n private userService: UserService,\r\n public authService: AuthService,\r\n private storageService: StorageService,\r\n private logService: LoggingService) {\r\n }\r\n private currentApp: Application;\r\n private appStorageKey = 'currentApplication';\r\n private appLock: boolean = false;\r\n\r\n setCurrentApplication(app: Application) {\r\n this.currentApp = app;\r\n if (!app) {\r\n this.storageService.deleteFromLocal(this.appStorageKey);\r\n } else {\r\n this.storageService.storeInLocal(this.appStorageKey, app.id);\r\n }\r\n }\r\n\r\n hasCurrentApplication() {\r\n return !!(this.userService.GetUser() && (this.currentApp || this.storageService.getFromLocal(this.appStorageKey)));\r\n }\r\n\r\n getCurrentApplication(callingComponent: string = ''): Promise {\r\n if (!this.currentApp) {\r\n return this.getCurrentApplicationRecursive(callingComponent);\r\n }\r\n return Promise.resolve(this.currentApp);\r\n }\r\n\r\n private getCurrentApplicationRecursive(callingComponent: string = '', timesCalled:number = 0): Promise {\r\n const numTimes = timesCalled + 1;\r\n // if debugging, uncomment following line to track recursion.\r\n // console.log('getCurrentApplication start from ', callingComponent + ` ${numTimes}`);\r\n if (this.appLock === true) {\r\n const wait = new Promise(resolve => setTimeout(resolve, 1000));\r\n return wait.then(res => {\r\n return this.getCurrentApplicationRecursive(callingComponent, numTimes);\r\n });\r\n }\r\n\r\n if (!this.currentApp) {\r\n this.appLock = true;\r\n const storageAppId = this.storageService.getFromLocal(this.appStorageKey);\r\n if (storageAppId && this.userService.GetUser()) {\r\n return new Promise((resolve) => {\r\n this.appHttpService.getApplication(+storageAppId)\r\n .then(app => {\r\n this.setCurrentApplication(app);\r\n this.appLock = false;\r\n this.logService.recordError(`CurrentApplicationService.getCurrentApplicationRecursive completed`, null, null, 'unknown');\r\n resolve(this.currentApp);\r\n })\r\n .catch(reason => {\r\n const msg = ErrorHandling.extractMessage(reason);\r\n this.logService.recordError(`CurrentApplicationService.getCurrentApplicationRecursive error`, msg, null, 'unknown');\r\n this.makeNewApp();\r\n this.appLock = false;\r\n resolve(this.currentApp);\r\n });\r\n });\r\n } else {\r\n this.makeNewApp();\r\n this.appLock = false;\r\n }\r\n }\r\n this.appLock = false;\r\n return Promise.resolve(this.currentApp);\r\n }\r\n\r\n makeNewApp(data?) {\r\n this.currentApp = new Application(this.appHttpService, this.userService, this.authService, data);\r\n }\r\n\r\n getPreApprovalStagingForApplication(stagingId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.appHttpService.getPreApprovalStagingForApplication(stagingId)\r\n .then(res => {\r\n return resolve(res);\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Registree } from '../models/register';\r\nimport { CurrentApplicationService } from './current-application.service';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationOptions } from '../models/navigation-options';\r\n\r\n@Injectable()\r\nexport class CurrentRegistrationService {\r\n constructor(private currentAppService: CurrentApplicationService, public router: Router) {\r\n }\r\n private currentRegistree: Registree;\r\n\r\n setCurrentRegistree(registree: Registree) {\r\n this.currentRegistree = registree;\r\n }\r\n\r\n getCurrentRegistree(): Registree {\r\n if (!this.currentRegistree) {\r\n this.makeNewRegistree();\r\n }\r\n return this.currentRegistree;\r\n }\r\n\r\n makeNewRegistree(data?) {\r\n this.currentRegistree = new Registree();\r\n }\r\n\r\n back() {\r\n window.history.back();\r\n }\r\n\r\n cancel() {\r\n this.makeNewRegistree();\r\n let path = '/home';\r\n this.currentAppService.getCurrentApplication('CurrentRegistrationService - cancel').then((app) => {\r\n if (app.currentPage) {\r\n path = NavigationOptions.GetStartPage(app);\r\n }\r\n this.router.navigate([path]);\r\n });\r\n }\r\n}\r\n","import { ErrorHandler, Injectable, Injector, Type } from '@angular/core';\r\nimport { LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport * as StackTrace from 'stacktrace-js';\r\n\r\nimport { CONFIG } from '../../environments/environment';\r\nimport { UserService } from './user.service';\r\nimport { LoggingService } from './logging.service';\r\n\r\n@Injectable()\r\nexport class CustomErrorHandler implements ErrorHandler {\r\n numberOfStackTraceItemsToReport = 10;\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n handleError(error: any) {\r\n const loggingService = this.injector.get(LoggingService);\r\n const url = this.getUrl();\r\n const message = error.message ? error.message : error.toString();\r\n const userId = this.getUserId();\r\n\r\n StackTrace\r\n .fromError(error)\r\n .then(stackframes => {\r\n const stackTrace = stackframes\r\n .splice(0, this.numberOfStackTraceItemsToReport)\r\n .map(function (sf) {\r\n return sf.toString();\r\n }).join('\\n');\r\n\r\n if (!CONFIG.runAsProd) {\r\n console.warn('path: ' + url);\r\n console.warn('stackTrace: ' + stackTrace);\r\n console.warn('error: ' + message);\r\n }\r\n\r\n loggingService\r\n .recordError(url, message, stackTrace, userId)\r\n .catch(_ => null);\r\n });\r\n\r\n\r\n throw error;\r\n }\r\n\r\n private getUserId(): string {\r\n const userService = this.injector.get(UserService);\r\n const user = userService.GetUser();\r\n return user && user.userId ? user.userId : 'unknown';\r\n }\r\n\r\n private getUrl(): string {\r\n const location = this.injector.get(LocationStrategy as unknown as Type);\r\n return location instanceof PathLocationStrategy ? location.path() : '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\nimport { AuthenticatedHttp } from '../services/authenticated-http.service';\r\nimport { Document } from '../models/document/document';\r\nimport { CONFIG } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class DocumentService {\r\n private resourceUrl = CONFIG.apiBaseUri + 'Document';\r\n\r\n constructor(private http: AuthenticatedHttp) { }\r\n\r\n public uploadDocuments(documents: Document[]): Promise {\r\n const url = `${this.resourceUrl}/UploadDocuments`;\r\n\r\n const formData = new FormData();\r\n\r\n documents.forEach(document => {\r\n formData.append('file', document.File);\r\n formData.append('Refno', document.MetaData.Refno);\r\n formData.append('PrimaryCifNumber', document.MetaData.PrimaryCifNumber);\r\n formData.append('DocumentType', document.MetaData.DocumentType);\r\n formData.append('DocumentCategory', document.MetaData.DocumentCategory);\r\n formData.append('DocumentDescription', document.MetaData.DocumentDescription);\r\n if (document.DocumentId) { formData.append('DocumentId', document.DocumentId.toString()); }\r\n formData.append('Name', document.Name);\r\n });\r\n\r\n return this.http\r\n .post(url, formData)\r\n .toPromise()\r\n .then(function (response) {\r\n const tempResults = Array.from(response as any[], function (value) {\r\n const document = new Document(value);\r\n return document;\r\n });\r\n return tempResults;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n private handleError(error: any) {\r\n const json = error;\r\n if (json && json.Message) {\r\n const msg = json.Message;\r\n return Promise.reject(msg);\r\n } else {\r\n console.error('An error occurred', error.message || error);\r\n return Promise.reject(error.message || error);\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n@Injectable()\r\nexport class FinancialSummaryService {\r\n\r\n public ContainsErrorsMethod: Subject<() => boolean> = new Subject<() => boolean>();\r\n\r\n public setContainsErrorsMethod(f: () => boolean): void {\r\n this.ContainsErrorsMethod.next(f);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class HistoryService {\r\n private history: string[] = [];\r\n\r\n public forward(path: string) {\r\n if (this.history.length === 0) {\r\n this.init(path);\r\n } else {\r\n this.history.push(path);\r\n }\r\n }\r\n\r\n public back(): string {\r\n if(this.history.length > 1) {\r\n this.history.pop();\r\n }\r\n return this.getCurrent();\r\n }\r\n\r\n public isEmpty() {\r\n return this.history.length < 1;\r\n }\r\n\r\n getCurrent() {\r\n return this.history[this.history.length - 1];\r\n }\r\n\r\n public init(path: string) {\r\n if (path.length === 0) {\r\n this.history = [];\r\n } else {\r\n this.history = [path];\r\n }\r\n }\r\n\r\n public Count(): number {\r\n return this.history.length;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { CONFIG } from '../../environments/environment';\r\nimport { EventModel } from '../models/event';\r\n\r\n\r\n@Injectable()\r\nexport class LoggingService {\r\n constructor(private http: HttpClient) { }\r\n\r\n recordError(path: string, error: string, stackTrace: string, userId: string): Promise {\r\n const apiUrl = CONFIG.apiBaseUri + 'Logger/Error';\r\n return this.record(apiUrl, path, error, stackTrace, userId);\r\n }\r\n\r\n recordInfo(path: string, error: string, stackTrace: string, userId: string): Promise {\r\n const apiUrl = CONFIG.apiBaseUri + 'Logger/Info';\r\n return this.record(apiUrl, path, error, stackTrace, userId);\r\n }\r\n\r\n recordWarn(path: string, error: string, stackTrace: string, userId: string): Promise {\r\n const apiUrl = CONFIG.apiBaseUri + 'Logger/Warn';\r\n return this.record(apiUrl, path, error, stackTrace, userId);\r\n }\r\n\r\n private record(apiUrl: string, path: string, error: string, stackTrace: string, userId: string): Promise {\r\n const event = new EventModel();\r\n try {\r\n event.website = CONFIG.websiteName;\r\n event.path = path;\r\n event.error = error;\r\n event.stackTrace = stackTrace;\r\n event.userId = userId;\r\n event.userAgent = navigator.userAgent;\r\n\r\n return this.http.post(apiUrl, event, { responseType: 'text' })\r\n .toPromise()\r\n .then(_ => null);\r\n } catch(err) {\r\n // failure to log should be silent.\r\n console.error('An error occurred in the logging service.');\r\n return new Promise(() => null);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nimport { AuthenticatedHttp } from './authenticated-http.service';\r\nimport { StorageService } from './storage.service';\r\nimport { CONFIG } from '../../environments/environment';\r\nimport { USA } from '../models/constants';\r\n\r\n@Injectable()\r\nexport class LookupService {\r\n private baseUri = `${CONFIG.apiBaseUri}/lookups`;\r\n private headers = new HttpHeaders({ 'Content-Type': 'application/json' });\r\n private inProcessLookups: Map> = new Map>();\r\n\r\n constructor(private http: AuthenticatedHttp, private storageService: StorageService) { }\r\n\r\n get(lookupType: string, checkForCached: boolean = true): Promise {\r\n if (checkForCached) {\r\n const cachedValue = this.storageService.getObjectFromSession(lookupType);\r\n if (cachedValue) {\r\n return Promise.resolve(cachedValue);\r\n } else if (this.inProcessLookups.has(lookupType)) {\r\n return this.inProcessLookups.get(lookupType);\r\n }\r\n }\r\n\r\n const promise = this.createHttpGetPromise(lookupType);\r\n this.inProcessLookups.set(lookupType, promise);\r\n return promise;\r\n }\r\n\r\n createHttpGetPromise(lookupType: string): Promise {\r\n const url = `${this.baseUri}/${lookupType}`;\r\n return this.http.get(url, { headers: this.headers })\r\n .toPromise()\r\n .then(response => {\r\n const payload = response;\r\n this.storageService.storeObjectInSession(lookupType, payload);\r\n return payload;\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n getCitizenshipCountries(): Promise {\r\n return this.get('citizenship-countries');\r\n }\r\n\r\n getCitizenshipCountriesExceptUSA(): Promise {\r\n return this.get('citizenship-countries')\r\n .then(response => {\r\n return response.filter(value => value !== USA);\r\n });\r\n }\r\n\r\n getPermanentResidenceCountries(): Promise {\r\n return this.get('permanent-residence-countries');\r\n }\r\n\r\n getAddressCountries(): Promise {\r\n return this.get('address-countries');\r\n }\r\n\r\n private handleError(error: any) {\r\n const json = error;\r\n if (json && json.Message) {\r\n return Promise.reject(json.Message);\r\n } else {\r\n let errorVal = error.message || error;\r\n if (errorVal.status === 0) {\r\n errorVal = 'Failed to connect to VF Services API';\r\n }\r\n\r\n console.error('An error occurred', errorVal);\r\n return Promise.reject(errorVal);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticatedHttp } from './authenticated-http.service';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\nimport { Message } from '../models/message';\r\nimport { CONFIG } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class MessageCenterService {\r\n private _messages: Message[];\r\n serviceCalled = false;\r\n\r\n constructor(private http: AuthenticatedHttp) { }\r\n\r\n private getGrowerMessages(): Promise {\r\n const url = CONFIG.apiBaseUri + 'messages/Grower';\r\n return this.http.get(url)\r\n .toPromise()\r\n .then(response => {\r\n this._messages = Array.from(response as any[], (item) => new Message(item));\r\n return this._messages;\r\n })\r\n .catch(err => this.handleError(err));\r\n }\r\n\r\n getMessages(): Promise {\r\n return (this.serviceCalled)\r\n ? Promise.resolve(this._messages)\r\n : this.getGrowerMessages()\r\n .then(messages => {\r\n this.serviceCalled = true;\r\n this._messages = messages ? messages : null;\r\n return this._messages;\r\n })\r\n .catch(err => this.handleError(err));\r\n }\r\n\r\n private handleError(error: any) {\r\n const json = error;\r\n if (json && json.Message) {\r\n const msg = json.Message;\r\n return Promise.reject(msg);\r\n } else {\r\n console.error('An error occurred', error.message || error);\r\n return Promise.reject(error.message || error);\r\n }\r\n }\r\n}\r\n","import { IItemFactory } from '../form/reusables/autocomplete/autocomplete.component';\r\nimport { TopVendors, Vendor } from '../models/vendor';\r\nimport { VendorHeader } from '../models/vendor-header';\r\nimport { AuthenticatedHttp } from './authenticated-http.service';\r\nimport { VendorService } from './vendor.service';\r\n\r\nexport class TopVendorsFactory implements IItemFactory {\r\n public items: string[] = [];\r\n\r\n constructor(private vendorService: VendorService) {\r\n this.GetVendors();\r\n }\r\n\r\n getItems(query: string): string[] {\r\n if (query == null || query === '') {\r\n return this.items;\r\n } else {\r\n return this.items.filter(function (el) {\r\n return el.toLowerCase().indexOf(query.toLowerCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n\r\n private GetVendors() {\r\n this.items = this.vendorService.filteredVendors.map((value) => {\r\n return value.getShortName();\r\n });\r\n }\r\n}\r\n\r\nexport class VendorDealersFactory implements IItemFactory {\r\n public items: string[] = [];\r\n\r\n constructor(private vendorService: VendorService) {\r\n this.GetVendorRetailers();\r\n }\r\n\r\n getItems(query: string): string[] {\r\n if (query == null || query === '') {\r\n return this.items;\r\n } else {\r\n return this.items.filter(function (el) {\r\n return el.toLowerCase().indexOf(query.toLowerCase()) > -1;\r\n }.bind(this));\r\n }\r\n }\r\n\r\n private GetVendorRetailers() {\r\n this.items = this.vendorService.vendorRetailers.map((value) => {\r\n return value.getItemName();\r\n });\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\n/*\r\n * Common service shared by all reCaptcha component instances\r\n * through dependency injection.\r\n * This service has the task of loading the reCaptcha API once for all\r\n *\r\n * As the language is passed to the