import { HttpClient } from '@angular/common/http'; import { inject, Injectable } from '@angular/core'; import { Observable, map } from 'rxjs'; import { environment } from '../../../../environments/environment'; import { UserService } from '../common/user.service'; import { Fees } from '../../models/carnet/fee'; @Injectable({ providedIn: 'root' }) export class CarnetService { private apiUrl = environment.apiUrl; private apiDb = environment.apiDb; private http = inject(HttpClient); private userService = inject(UserService); getEstimatedFees(headerid: number): Observable { return this.http.get(`${this.apiUrl}/${this.apiDb}/EstimatedFees/${this.userService.getUserSpid()}/${this.userService.getUser()}/${headerid}`).pipe( map(response => this.mapToFeesData(response))); } private mapToFeesData(estimatedFeesDetails: any): Fees { let estimatedFeesData: Fees = { basicFee: estimatedFeesDetails.BASICFEE, counterFoilFee: estimatedFeesDetails.CFFEE, continuationSheetFee: estimatedFeesDetails.CSFEE, expeditedFee: estimatedFeesDetails.EFFEE, shippingFee: estimatedFeesDetails.SHIPFEE, bondPremium: estimatedFeesDetails.BONDPREMIUM, cargoPremium: estimatedFeesDetails.CARGOPREMIUM, ldiPremium: estimatedFeesDetails.LDIPREMIUM, }; return estimatedFeesData; } submitApplication(headerid: number): Observable { let appData = { P_SPID: this.userService.getUserSpid(), P_USERID: this.userService.getUser(), P_HEADERID: headerid } return this.http.post(`${this.apiUrl}/${this.apiDb}/TransmitApplicationtoProcess`, appData); } processApplication(headerid: number): Observable { let appData = { // P_SPID: this.userService.getUserSpid(), P_USERID: this.userService.getUser(), P_HEADERID: headerid } return this.http.post(`${this.apiUrl}/${this.apiDb}//ProcessCarnet`, appData); } }