102 lines
4.0 KiB
TypeScript
102 lines
4.0 KiB
TypeScript
import { HttpClient } from '@angular/common/http';
|
|
import { Injectable } from '@angular/core';
|
|
import { UserService } from '../common/user.service';
|
|
import { environment } from '../../../../environments/environment';
|
|
import { HolderDetail, HolderDetailFormType } from '../../models/holder/holder-detail';
|
|
import { filter, map, Observable, of, tap } from 'rxjs';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class HolderDetailService {
|
|
private apiUrl = environment.apiUrl;
|
|
private apiDb = environment.apiDb;
|
|
|
|
constructor(private http: HttpClient, private userService: UserService) { }
|
|
|
|
getHolderDetailByHolderId(id: number): Observable<HolderDetail> {
|
|
return this.http.get<any[]>(`${this.apiUrl}/${this.apiDb}/GetHolderRecord/${this.userService.getUserSpid()}/${id}`).pipe(
|
|
tap(response => console.log('Raw response got is :', response)),
|
|
// filter(response => response.length > 0),
|
|
map(response => this.mapToBasicDetail(response)));
|
|
}
|
|
|
|
private mapToBasicDetail(basicDetails: any): HolderDetail {
|
|
return {
|
|
HOLDERID: basicDetails.HOLDERID,
|
|
SPID: basicDetails.SPID,
|
|
LOCATIONID: basicDetails.LOCATIONID,
|
|
HOLDERNO: basicDetails.HOLDERNO,
|
|
HOLDERTYPE: basicDetails.HOLDERTYPE,
|
|
USCIBMEMBERFLAG: basicDetails.USCIBMEMBERFLAG,
|
|
GOVAGENCYFLAG: basicDetails.GOVAGENCYFLAG,
|
|
HOLDERNAME: basicDetails.HOLDERNAME,
|
|
NAMEQUALIFIER: basicDetails.NAMEQUALIFIER || null,
|
|
ADDLNAME: basicDetails.ADDLNAME || null,
|
|
ADDRESS1: basicDetails.ADDRESS1,
|
|
ADDRESS2: basicDetails.ADDRESS2 || null,
|
|
CITY: basicDetails.CITY,
|
|
STATE: basicDetails.STATE,
|
|
ZIP: basicDetails.ZIP,
|
|
COUNTRY: basicDetails.COUNTRY,
|
|
DATECREATED: basicDetails.DATECREATED,
|
|
CREATEDBY: basicDetails.CREATEDBY,
|
|
INACTIVEFLAG: basicDetails.INACTIVEFLAG,
|
|
INACTIVEDATE: basicDetails.INACTIVEDATE || null,
|
|
LASTUPDATEDBY: basicDetails.LASTUPDATEDBY || null,
|
|
LASTUPDATEDDATE: basicDetails.LASTUPDATEDDATE || null
|
|
};
|
|
}
|
|
|
|
createHolderDetail(data: HolderDetailFormType): Observable<any> {
|
|
const holderDetail = {
|
|
P_SPID: this.userService.getUserSpid(),
|
|
P_CLIENTLOCATIONID: this.userService.getUserLocationid(),
|
|
P_HOLDERNO: data.HolderNumber,
|
|
P_HOLDERTYPE: data.holderType,
|
|
P_USCIBMEMBERFLAG: data.USCIBMember,
|
|
P_GOVAGENCYFLAG: data.govAgency,
|
|
P_HOLDERNAME: data.holderName,
|
|
P_NAMEQUALIFIER: null,
|
|
P_ADDLNAME: data.DBAName,
|
|
P_ADDRESS1: data.address1,
|
|
P_ADDRESS2: data.address2,
|
|
P_CITY: data.city,
|
|
P_STATE: data.state,
|
|
P_ZIP: data.zip,
|
|
P_COUNTRY: data.country,
|
|
P_USERID: this.userService.getUser()
|
|
};
|
|
|
|
console.log("body : ",holderDetail);
|
|
|
|
|
|
|
|
return this.http.post(`${this.apiUrl}/${this.apiDb}/CreateHolderData`, holderDetail);
|
|
}
|
|
|
|
updateHolderDetails(id: number, data: HolderDetailFormType): Observable<any> {
|
|
const holderDetail = {
|
|
P_HOLDERID: id,
|
|
P_SPID: this.userService.getUserSpid(),
|
|
P_LOCATIONID: this.userService.getUserLocationid(),
|
|
P_HOLDERNO: data.HolderNumber,
|
|
P_HOLDERTYPE: data.holderType,
|
|
P_USCIBMEMBERFLAG: data.USCIBMember,
|
|
P_GOVAGENCYFLAG: data.govAgency,
|
|
P_HOLDERNAME: data.holderName,
|
|
P_NAMEQUALIFIER: null,
|
|
P_ADDLNAME: data.DBAName,
|
|
P_ADDRESS1: data.address1,
|
|
P_ADDRESS2: data.address2,
|
|
P_CITY: data.city,
|
|
P_STATE: data.state,
|
|
P_ZIP: data.zip,
|
|
P_COUNTRY: data.country,
|
|
P_USERID: this.userService.getUser()
|
|
};
|
|
|
|
return this.http.put(`${this.apiUrl}/${this.apiDb}/UpdateHolder`, holderDetail);
|
|
}
|
|
}
|