import { Pipe, PipeTransform } from '@angular/core'; import { PortalDeterminationService } from '@core/services/portal-determination.service'; import { Address, AddressFormatterService, SearchResultObj } from '@yourcause/common'; @Pipe({ name: 'gcSearchNppAddress' }) export class SearchNppAddressPipe implements PipeTransform { constructor ( public formatter: AddressFormatterService, private portal: PortalDeterminationService ) { } transform (document: SearchResultObj): string { return this.formatter.format( this.getAddressToUse(document), true ); } getAddressToUse (document: SearchResultObj): Address { if (this.portal.isManager) { return { address1: document.remittanceAddress1 || document.address1, address2: document.remittanceAddress2 || document.address2, city: document.remittanceCity || document.city, stateProvRegCode: document.remittanceStateProvRegCode || document.stateProvRegCode, country: document.remittanceCountry || document.country, postalCode: document.remittancePostalCode || document.postalCode }; } else { return { address1: document.address1, address2: document.address2, city: document.city, stateProvRegCode: document.stateProvRegCode, country: document.country, postalCode: document.postalCode }; } } }