47 lines
1.9 KiB
TypeScript

import { Injectable } from '@angular/core';
import { environment } from '../../../../environments/environment';
import { HttpClient } from '@angular/common/http';
import { UserService } from '../common/user.service';
import { BasicDetail } from '../../models/preparer/basic-detail';
import { map, Observable } from 'rxjs';
import { PreparerFilter } from '../../models/preparer/preparer-filter';
@Injectable({
providedIn: 'root'
})
export class ClientService {
private apiUrl = environment.apiUrl;
private apiDb = environment.apiDb;
constructor(private http: HttpClient, private userService: UserService) { }
getPreparers(filter: PreparerFilter): Observable<BasicDetail[]> {
return this.http.get<any[]>(`${this.apiUrl}/${this.apiDb}/GetPreparers?P_SPID=${this.userService.getUserSpid()}&P_STATUS=ACTIVE&P_NAME=${filter.name}&P_LOOKUPCODE=${filter.lookupCode}&P_CITY=${filter.city}&P_STATE=${filter.state}`).pipe(
map(response => this.mapToClients(response)));
}
private mapToClients(data: any[]): BasicDetail[] {
return data.map(basicDetails => ({
clientid: basicDetails.CLIENTID,
spid: basicDetails.SPID,
name: basicDetails.PREPARERNAME,
lookupCode: basicDetails.LOOKUPCODE,
address1: basicDetails.ADDRESS1,
address2: basicDetails.ADDRESS2,
city: basicDetails.CITY,
state: basicDetails.STATE,
country: basicDetails.COUNTRY,
carnetIssuingRegion: basicDetails.ISSUINGREGION,
revenueLocation: basicDetails.REVENUELOCATION,
zip: basicDetails.ZIP,
// createdBy: basicDetails.CREATEDBY || null,
// dateCreated: basicDetails.DATECREATED || null,
// lastUpdatedBy: basicDetails.LASTUPDATEDBY || null,
// lastUpdatedDate: basicDetails.LASTUPDATEDDATE || null,
// isInactive: basicDetails.INACTIVEFLAG === 'Y' || false,
// inactivatedDate: basicDetails.INACTIVEDATE || null
}));
}
}