{"version":3,"file":"main-es2015.js","mappings":"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AACqB;AACb;AACV;AACA;AACO;AACF;AACM;AACV;AACA;AACE;AACP;AACM;AACZ;AACI;AACA;AACJ;AACI;AACU;AACV;AACF;AACQ;AACZ;AACI;AACJ;AACQ;AACgB;AACC;AAC9B;AACsC;AACc;AACK;AACV;AACS;AACP;AACI;AACD;AAC5C;AAC+B;AACe;AACO;AACL;AACD;AACZ;AACV;AACmB;AACP;AACR;AACH;AACA;AACD;AACE;AACqB;AACvB;AACE;AACiB;AACM;AACrB;AACgB;AACjB;AACL;AACc;AACM;AACJ;AACR;AACuB;AACQ;AACC;AACH;AACH;AACH;AACjB;AAC9B;AACyB;AACC;AACA;AACoC;AAChC;AACU;AACX;AACK;AAC0D;AACnB;AACpB;AACN;AACR;AACd;AACL;AACgB;AACa;AACnB;AACb;AACY;AACjB;AACI;AAChB;AACiB;AACQ;AACoB;AACC;AACQ;AACT;AACY;AACN;AACM;AACsB;AAClD;AACL;AACuB;AACjB;AACJ;AACuB;AACE;AACxC;AACuC;AACd;AACO;AACmB;AAC7B;AACoB;AACQ;AAC6B;AAC5B;AACH;AACX;AACN;AACN;AACV;AAC4B;AACE;AACP;AACc;AAC3B;AAChC;AACJ;AACM;AACN;AACoB;AACS;AACN;AACQ;AAChB;AACP;AACW;AACf;AACmB;AACE;AACnB;AACf;AACQ;AACA;AAC+B;AACpB;AACC;AACqB;;;AAuD/E,MAAM,SAAS;;kEAAT,SAAS;wGAAT,SAAS,cAdlB,yDAAY;6GAEH;QACT,iDAAI,EAAE,yDAAY,EAAE,EAAE,OAAO,EAAE,uDAAU,EAAE,WAAW,EAAE,yDAAY,EAAE,EAAE,6EAAkB,EAAE,iEAAW,EAAE,iEAAW;QACpH,qFAAiB,EAAE,8FAAyB,EAAE,wFAAsB,EAAE,gGAA0B,EAAE,gFAAkB;QACpH,uEAAc,EAAE,2EAAgB,EAAE,yEAAe,EAAE,oFAAoB,EAAE,qEAAa,EAAE,wFAAsB,EAAE,0FAAuB;QACvI,uEAAc,EAAC,2EAAgB,EAAC,8EAAkB;QAClD;YACE,OAAO,EAAE,yDAAY;YACrB,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C;IAC9B,CAAC;IAEM,MAAM,CAAC,UAAU;QACpB,IAAG,CAAC,yEAAkB,EAAE;YACpB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,8EAAsB,CAAC,IAAI,0EAAmB,CAAC;IAC5F,CAAC;IAEM,MAAM,KAAK,kBAAkB;QAChC,IAAG,IAAI,CAAC,UAAU,EAAE,EAAE;YAClB,OAAO,8EAAsB,CAAC;SACjC;aAAM;YACH,OAAO,EAAE,CAAC;SACb;IACL,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,IAAY;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9D,MAAM,gBAAgB,GAAG,GAAG,gBAAgB,CAAC,kBAAkB,GAAG,YAAY,EAAE,CAAC;QACjF,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAEM,MAAM,KAAK,WAAW;QACzB,IAAG,IAAI,CAAC,UAAU,EAAE,EAAE;YAClB,OAAO,qEAAa,CAAC;SACxB;aAAM;YACH,OAAO,EAAE,CAAC;SACb;IACL,CAAC;CACJ;;;;;;;;;;;ACtCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/ach-us-bank-statement.component.ts","./src/app/ach-us-bank-statement.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routes.ts","./src/app/contact/contact-page.component.ts","./src/app/contact/contact-page.component.html","./src/app/dashboard/account/account-details/account-details.component.ts","./src/app/dashboard/account/account-details/account-details.component.html","./src/app/dashboard/account/account-details/subcommitment-details.component.ts","./src/app/dashboard/account/account-details/subcommitment-details.component.html","./src/app/dashboard/account/account-template.component.ts","./src/app/dashboard/account/account-template.component.html","./src/app/dashboard/account/amendment/amendment.component.ts","./src/app/dashboard/account/amendment/amendment.component.html","./src/app/dashboard/account/authorized-party/add-form/add-form.component.ts","./src/app/dashboard/account/authorized-party/add-form/add-form.component.html","./src/app/dashboard/account/authorized-party/authorized-party-base.ts","./src/app/dashboard/account/authorized-party/authorized-party.component.ts","./src/app/dashboard/account/authorized-party/authorized-party.component.html","./src/app/dashboard/account/authorized-party/in-progress-detail/in-progress-detail.component.ts","./src/app/dashboard/account/authorized-party/in-progress-detail/in-progress-detail.component.html","./src/app/dashboard/account/authorized-party/response/response.component.ts","./src/app/dashboard/account/authorized-party/response/response.component.html","./src/app/dashboard/account/navigation/navigation.component.ts","./src/app/dashboard/account/navigation/navigation.component.html","./src/app/dashboard/account/payments/payment-history.component.ts","./src/app/dashboard/account/payments/payment-history.component.html","./src/app/dashboard/account/payments/payment-navigation.component.ts","./src/app/dashboard/account/payments/payment-navigation.component.html","./src/app/dashboard/account/payments/payments.component.ts","./src/app/dashboard/account/payments/payments.component.html","./src/app/dashboard/account/payments/payoff.component.ts","./src/app/dashboard/account/payments/payoff.component.html","./src/app/dashboard/account/statements/account-statements.component.ts","./src/app/dashboard/account/statements/account-statements.component.html","./src/app/dashboard/account/transaction-report/transaction-report.component.ts","./src/app/dashboard/account/transaction-report/transaction-report.component.html","./src/app/dashboard/home/account-summary/account-summary.component.ts","./src/app/dashboard/home/account-summary/account-summary.component.html","./src/app/dashboard/home/application-status-summary/application-status-summary.component.ts","./src/app/dashboard/home/application-status-summary/application-status-summary.component.html","./src/app/dashboard/home/dashboard-home.component.ts","./src/app/dashboard/home/dashboard-home.component.html","./src/app/dashboard/preferences/account-preferences.component.ts","./src/app/dashboard/preferences/account-preferences.component.html","./src/app/dashboard/preferences/alerts/preferences-alerts.component.ts","./src/app/dashboard/preferences/alerts/preferences-alerts.component.html","./src/app/dashboard/preferences/contact/preferences-contact.component.ts","./src/app/dashboard/preferences/contact/preferences-contact.component.html","./src/app/dashboard/preferences/name/preferences-name.component.ts","./src/app/dashboard/preferences/name/preferences-name.component.html","./src/app/dashboard/preferences/password/preferences-password.component.ts","./src/app/dashboard/preferences/password/preferences-password.component.html","./src/app/dashboard/preferences/security/preferences-security.component.ts","./src/app/dashboard/preferences/security/preferences-security.component.html","./src/app/dashboard/user-dashboard.component.ts","./src/app/electronic-statement.component.ts","./src/app/electronic-statement.component.html","./src/app/form/abstractpage.ts","./src/app/form/balance-sheet/financial-information-balance-sheet-selection.component.ts","./src/app/form/balance-sheet/financial-information-balance-sheet.component.ts","./src/app/form/balance-sheet/financial-information-balance-sheet.component.html","./src/app/form/balance-sheet/financial-information.component.ts","./src/app/form/balance-sheet/financial-information.component.html","./src/app/form/balance-sheet/financial-summary.component.ts","./src/app/form/balance-sheet/financial-summary.component.html","./src/app/form/borrower/borrower-detail.component.ts","./src/app/form/borrower/borrower-detail.component.html","./src/app/form/borrower/borrower-information.component.ts","./src/app/form/borrower/borrower-information.component.html","./src/app/form/confirmation/confirmation.component.ts","./src/app/form/confirmation/confirmation.component.html","./src/app/form/confirmation/survey.component.ts","./src/app/form/entity/doing-business-as/doing-business-as-item.ts","./src/app/form/entity/doing-business-as/doing-business-as.component.ts","./src/app/form/entity/doing-business-as/doing-business-as.component.html","./src/app/form/entity/entity-information.component.ts","./src/app/form/entity/entity-information.component.html","./src/app/form/financial-validation.ts","./src/app/form/income/crop-item-factory.ts","./src/app/form/income/crops.ts","./src/app/form/income/financial-information-income.component.ts","./src/app/form/income/financial-information-income.component.html","./src/app/form/income/livestock-item-factory.ts","./src/app/form/income/livestocks.ts","./src/app/form/income/yield-units-factory.ts","./src/app/form/increased-risk-countries/increased-risk-countries.component.ts","./src/app/form/increased-risk-countries/increased-risk-countries.component.html","./src/app/form/line-of-business/line-of-business-information.component.ts","./src/app/form/line-of-business/line-of-business-information.component.html","./src/app/form/line-of-business/radio-complete.component.ts","./src/app/form/line-of-business/radio-complete.component.html","./src/app/form/ownership/owner-detail.component.ts","./src/app/form/ownership/owner-detail.component.html","./src/app/form/ownership/ownership.component.ts","./src/app/form/ownership/ownership.component.html","./src/app/form/preapproval/preapproval.component.ts","./src/app/form/preapproval/preapproval.component.html","./src/app/form/program/vendor-programs.component.ts","./src/app/form/program/vendor-programs.component.html","./src/app/form/program/vendor.component.ts","./src/app/form/program/vendor.component.html","./src/app/form/reset-password/reset-password-landing.component.ts","./src/app/form/reset-password/reset-password-landing.component.html","./src/app/form/reusables/account/edit-security-questions.component.ts","./src/app/form/reusables/account/edit-security-questions.component.html","./src/app/form/reusables/account/login-failure.component.ts","./src/app/form/reusables/account/login-failure.component.html","./src/app/form/reusables/account/login.component.ts","./src/app/form/reusables/account/login.component.html","./src/app/form/reusables/account/password-expired.component.ts","./src/app/form/reusables/account/password-expired.component.html","./src/app/form/reusables/account/reset-password.component.ts","./src/app/form/reusables/account/reset-password.component.html","./src/app/form/reusables/account/reset-security-questions.component.ts","./src/app/form/reusables/account/reset-security-questions.component.html","./src/app/form/reusables/account/security-question.component.ts","./src/app/form/reusables/account/security-question.component.html","./src/app/form/reusables/address/address.component.ts","./src/app/form/reusables/address/address.component.html","./src/app/form/reusables/address/combined-address.component.ts","./src/app/form/reusables/address/combined-address.component.html","./src/app/form/reusables/address/states.component.ts","./src/app/form/reusables/address/zip.component.ts","./src/app/form/reusables/attachments/attachments.component.ts","./src/app/form/reusables/attachments/attachments.component.html","./src/app/form/reusables/auto-focus/auto-focus.component.ts","./src/app/form/reusables/autocomplete/CorporationItemFactory.ts","./src/app/form/reusables/autocomplete/autocomplete.component.ts","./src/app/form/reusables/autocomplete/autocomplete.component.html","./src/app/form/reusables/autocomplete/corporation.component.ts","./src/app/form/reusables/change-application-type.component.ts","./src/app/form/reusables/contact-information.component.ts","./src/app/form/reusables/credit-requirements.component.ts","./src/app/form/reusables/date/date-box.component.ts","./src/app/form/reusables/date/date-box.component.html","./src/app/form/reusables/fullname.component.ts","./src/app/form/reusables/fullname.component.html","./src/app/form/reusables/help-tip.component.ts","./src/app/form/reusables/help-tip.component.html","./src/app/form/reusables/number-input.component.ts","./src/app/form/reusables/number-input.component.html","./src/app/form/reusables/phone/phone.component.ts","./src/app/form/reusables/phone/phone.component.html","./src/app/form/reusables/recaptcha.component.ts","./src/app/form/reusables/view/footer.component.ts","./src/app/form/reusables/view/footer.component.html","./src/app/form/reusables/view/header.component.ts","./src/app/form/reusables/view/header.component.html","./src/app/form/reusables/view/side-nav.component.ts","./src/app/form/reusables/view/side-nav.component.html","./src/app/form/reusables/wizard/complex-question.component.ts","./src/app/form/reusables/wizard/complex-question.component.html","./src/app/form/reusables/wizard/simple-question.component.ts","./src/app/form/summary/summary-and-sign.component.ts","./src/app/form/summary/summary-and-sign.component.html","./src/app/form/top-form.ts","./src/app/form/validation/autoselect.directive.ts","./src/app/form/validation/checkbox-required.directive.ts","./src/app/form/validation/comparison-validator.directive.ts","./src/app/form/validation/comparisonFactory.ts","./src/app/form/validation/custom-masks.ts","./src/app/form/validation/date-range-validator.directive.ts","./src/app/form/validation/email-validator.directive.ts","./src/app/form/validation/force-decimals.directive.ts","./src/app/form/validation/is-not-po-box.ts","./src/app/form/validation/no-duplicates.directive.ts","./src/app/form/validation/number-validator.directive.ts","./src/app/form/validation/password-matcher.validator.ts","./src/app/form/validation/password-validator.directive.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/idle/idle.component.ts","./src/app/landing/new-landing.component.ts","./src/app/landing/new-landing.component.html","./src/app/models/accounts/amendment.ts","./src/app/models/accounts/commitment.ts","./src/app/models/accounts/contact-address.ts","./src/app/models/accounts/contact-detail.ts","./src/app/models/accounts/contact-phone.ts","./src/app/models/accounts/customer.ts","./src/app/models/accounts/dealer-header.ts","./src/app/models/accounts/loan.ts","./src/app/models/accounts/payment.ts","./src/app/models/accounts/sub-commitment.ts","./src/app/models/accounts/transaction-query.ts","./src/app/models/accounts/transaction-report.ts","./src/app/models/accounts/transaction.ts","./src/app/models/address.ts","./src/app/models/application-header.ts","./src/app/models/application-type.ts","./src/app/models/application.ts","./src/app/models/authorized-party-request.ts","./src/app/models/authorized-party-status.ts","./src/app/models/authorized-party-workflow.ts","./src/app/models/balance-sheet.ts","./src/app/models/category.ts","./src/app/models/changelog.ts","./src/app/models/constants.ts","./src/app/models/contact-request.ts","./src/app/models/credentials.ts","./src/app/models/crop.ts","./src/app/models/document/document-meta-data.ts","./src/app/models/document/document-query.ts","./src/app/models/document/document.ts","./src/app/models/entity.ts","./src/app/models/event.ts","./src/app/models/finances.ts","./src/app/models/financial.ts","./src/app/models/fullname.ts","./src/app/models/income.ts","./src/app/models/line-of-businesses.ts","./src/app/models/livestock.ts","./src/app/models/message.ts","./src/app/models/navigation-options-registration.ts","./src/app/models/navigation-options.ts","./src/app/models/option.model.ts","./src/app/models/organization-type.ts","./src/app/models/passport.ts","./src/app/models/password-change.ts","./src/app/models/person.ts","./src/app/models/question-summary.ts","./src/app/models/register.ts","./src/app/models/security-question-reset.ts","./src/app/models/security-question.ts","./src/app/models/security-questions.ts","./src/app/models/state-list.ts","./src/app/models/survey-question.ts","./src/app/models/user-extended-security-profile.ts","./src/app/models/user-preferences.ts","./src/app/models/user-security-profile.ts","./src/app/models/user.ts","./src/app/models/vendor-header.ts","./src/app/models/vendor.ts","./src/app/models/wizard/complex-question.ts","./src/app/models/wizard/question.ts","./src/app/models/wizard/simple-question.ts","./src/app/pipes/SafeHtml.pipe.ts","./src/app/pipes/keys.pipe.ts","./src/app/registration/agreement/registration-agreement.component.ts","./src/app/registration/agreement/registration-agreement.component.html","./src/app/registration/navigation/registration-navigation.component.ts","./src/app/registration/navigation/registration-navigation.component.html","./src/app/registration/profile/linkaccount.component.ts","./src/app/registration/profile/linkaccount.component.html","./src/app/registration/profile/registration-linkaccount.component.ts","./src/app/registration/profile/registration-linkaccount.component.html","./src/app/registration/profile/registration-profile.component.ts","./src/app/registration/profile/registration-profile.component.html","./src/app/registration/registration.component.ts","./src/app/registration/security/registration-security.component.ts","./src/app/registration/security/registration-security.component.html","./src/app/registration/summary/registration-summary.component.ts","./src/app/registration/summary/registration-summary.component.html","./src/app/services/account-http.service.ts","./src/app/services/application-http.service.ts","./src/app/services/auth.service.ts","./src/app/services/authenticated-http.service.ts","./src/app/services/authorization-guard.ts","./src/app/services/authorized-party.service.ts","./src/app/services/changelog.service.ts","./src/app/services/current-application.service.ts","./src/app/services/current-registration.service.ts","./src/app/services/custom-error-handler.ts","./src/app/services/document.service.ts","./src/app/services/financial-summary.service.ts","./src/app/services/history.service.ts","./src/app/services/logging.service.ts","./src/app/services/lookup.service.ts","./src/app/services/message-center.service.ts","./src/app/services/program-item-factories.ts","./src/app/services/recaptcha.service.ts","./src/app/services/storage.service.ts","./src/app/services/survey-questions-http.service.ts","./src/app/services/text-retriever.service.ts","./src/app/services/user-account-guard.ts","./src/app/services/user.service.ts","./src/app/services/utilities.service.ts","./src/app/services/vendor.service.ts","./src/app/services/wizard-question-http.service.ts","./src/app/shared/directives/debounce-click.directive.ts","./src/app/shared/environment-banner/environment-banner.component.ts","./src/app/shared/error-handling.ts","./src/app/shared/loading-feedback/loading-feedback.component.ts","./src/app/shared/loading-feedback/loading-feedback.component.html","./src/app/shared/message-center/message-center.component.ts","./src/app/shared/message-center/message-center.component.html","./src/app/shared/modal-dialog/modal-dialog.component.ts","./src/app/shared/modal-dialog/modal-dialog.component.html","./src/app/shared/section-header/section-header.component.ts","./src/app/shared/section-header/section-header.component.html","./src/app/terms-and-conditions.component.ts","./src/app/terms-and-conditions.html","./src/appshared/app-shared.module.ts","./src/appshared/public-api.ts","./src/appv2/app.component.ts","./src/appv2/app.component.html","./src/appv2/app.module.ts","./src/appv2/app.routes.ts","./src/appv2/dashboard/home/account-summary/account-summary.component.ts","./src/appv2/dashboard/home/dashboard-home.component.ts","./src/appv2/dashboard/preferences/account-preferences.component.ts","./src/appv2/dashboard/preferences/account-preferences.component.html","./src/appv2/dashboard/preferences/alerts/preferences-alerts.component.ts","./src/appv2/dashboard/preferences/alerts/preferences-alerts.component.html","./src/appv2/dashboard/preferences/contact/preferences-contact.component.ts","./src/appv2/dashboard/preferences/contact/preferences-contact.component.html","./src/appv2/dashboard/preferences/email/change-email-confirmation.component.ts","./src/appv2/dashboard/preferences/email/preferences-email-confirmation.component.ts","./src/appv2/dashboard/preferences/email/preferences-email-confirmation.component.html","./src/appv2/dashboard/preferences/email/preferences-email-frame.component.ts","./src/appv2/dashboard/preferences/email/preferences-email-frame.component.html","./src/appv2/dashboard/preferences/email/preferences-email.component.ts","./src/appv2/dashboard/preferences/email/preferences-email.component.html","./src/appv2/dashboard/preferences/name/preferences-name.component.ts","./src/appv2/dashboard/preferences/password/change-password-confirmation.component.ts","./src/appv2/dashboard/preferences/password/preferences-password-confirmation.component.ts","./src/appv2/dashboard/preferences/password/preferences-password-confirmation.component.html","./src/appv2/dashboard/preferences/password/preferences-password-frame.component.ts","./src/appv2/dashboard/preferences/password/preferences-password-frame.component.html","./src/appv2/dashboard/preferences/password/preferences-password.component.ts","./src/appv2/dashboard/preferences/password/preferences-password.component.html","./src/appv2/form/reset-password/reset-password-landing.component.ts","./src/appv2/form/reset-password/reset-password-landing.component.html","./src/appv2/form/reset-password/reset-password-login.component.ts","./src/appv2/form/reset-password/reset-password-login.component.html","./src/appv2/form/reusables/account/b2c-login.component.ts","./src/appv2/form/reusables/account/forgot-password-confirmation.component.ts","./src/appv2/form/reusables/account/forgot-password-login.component.ts","./src/appv2/form/reusables/account/forgot-password-login.component.html","./src/appv2/form/reusables/account/login.component.ts","./src/appv2/form/reusables/account/login.component.html","./src/appv2/form/reusables/account/password-confirmation.component.ts","./src/appv2/form/reusables/account/password-confirmation.component.html","./src/appv2/form/reusables/account/reset-password.component.ts","./src/appv2/form/reusables/account/reset-password.component.html","./src/appv2/form/reusables/view/header.component.ts","./src/appv2/home/home.component.ts","./src/appv2/idle/idle.component.ts","./src/appv2/models/navigation-options-registration.ts","./src/appv2/registration/agreement/registration-agreement.component.ts","./src/appv2/registration/navigation/registration-navigation.component.ts","./src/appv2/registration/profile/linkaccount.component.ts","./src/appv2/registration/profile/registration-linkaccount.component.ts","./src/appv2/registration/profile/registration-profile.component.ts","./src/appv2/registration/registration.component.ts","./src/appv2/registration/summary/registration-summary.component.ts","./src/appv2/registration/summary/registration-summary.component.html","./src/appv2/services/account-http.service.ts","./src/appv2/services/auth.service.ts","./src/appv2/services/current-registration.service.ts","./src/appv2/services/user-account-guard.ts","./src/appv2/shared/b2c-content-host/b2c-content-host.component.ts","./src/appv2/shared/b2c-content-host/b2c-content-host.component.html","./src/appv2/site.component.ts","./src/appv2/site.component.html","./src/appv2/version-config.ts","./src/environments/env.prod.ts","./src/main.ts","./src/version-helper.ts","./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","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","
\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 { 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","
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, 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","
\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 } 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
","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","
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 { 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","
\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 { 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","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

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, 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
\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, 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","\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","
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, 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
","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","\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 { 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","
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 { 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","
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 { 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","
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, 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 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\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","\r\n
\r\n

My Applications

\r\n \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","My Dashboard\r\n\r\n
\r\n \r\n \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
","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

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\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 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 { 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

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 { 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","
\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 } 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","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
\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 } 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 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 {\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

{{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 { 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\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 } 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 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, 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","
\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, 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","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 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, 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","
\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 { 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","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","
\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 { 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","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
\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, 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

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, 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
  • \r\n \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
\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, 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
\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, 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 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, 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 \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 } 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 \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, 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

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, 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","
\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 } 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 ","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
\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, 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 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, 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","
\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 } 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
","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\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, 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 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, 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","
\r\n
\r\n \r\n
\r\n
\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","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","

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 { 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","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","
\r\n \r\n \r\n
\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","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","
\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 { 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","","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","
\r\n \r\n \r\n
\r\n

{{requiredErrorMessage}}

\r\n

{{Title}} is invalid

\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","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

© 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\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
\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, 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 \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","

\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, 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","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","
\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 { 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","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","\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 { 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}","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
\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, 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","
\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
","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","
\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\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","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","
\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 { 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