import { Injectable, Inject } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; import { Observable } from 'rxjs'; import { ConcessionValidation, ResultModel, ConfigureUrl } from '../models'; import moment from 'moment'; import { AppSettingService } from '../shares'; @Injectable({ providedIn: 'root' }) export class ConcessionValidationService { private dateRange:any; constructor(private http: HttpClient, private appSetting :AppSettingService ) { this.dateRange = {}; this.dateRange.fromDate = ''; this.dateRange.toDate = ''; console.log("constructor concessionValidationService daterange", this.dateRange); } public setDateRange(fromDate:any, toDate:any) { this.dateRange.fromDate = moment(fromDate).toDate(); this.dateRange.toDate = moment(toDate).toDate(); console.log("concessionValidationService setdaterange", this.dateRange); } public getDate() :any { console.log("concessionValidationService getdaterange", this.dateRange); return this.dateRange; } loadConcessionvalidations(): Observable> { const baseUrl = this.appSetting.appSetting.baseUrl +"/"+ConfigureUrl.concessionValidationUrl; let config = { headers : { 'Content-Type': 'application/json' } }; // console.log("the concession", baseUrl); return this.http.get>(baseUrl); } loadConcessionvalidationByStaffId(staffLinkId:string, fromDate:Date, toDate:Date): Observable> { const strDate = moment(fromDate).format("YYYY-MM-DD"); const strtoDate = moment(toDate).format("YYYY-MM-DD"); const url = this.appSetting.appSetting.baseUrl + "/" +ConfigureUrl.concessionValidationByIdUrl; const params = new HttpParams().set("staffLinkNo", staffLinkId) .set("fromDate", strDate) .set("toDate", strtoDate); const headers = new HttpHeaders().set('Content-Type', 'application/json'); const options = { headers: headers, params: params }; console.log("loadConcessionvalidationByStaffId url", url); return this.http.get>(url, options); } loadConcessionvalidationById(id:number): Observable> { let params = new HttpParams().set("id", ""+id); const baseUrl = this.appSetting.appSetting.baseUrl +"/"+ConfigureUrl.concessionValidationUrl; let headers = new HttpHeaders().set('Content-Type', 'application/json'); let options = { headers: headers, params: params }; //return this.http.get(this.baseUrl + 'api/Concessionvalidation/LoadConcessionvalidationById',options); return this.http.get>(baseUrl + "/" + id); } checkConcessionValidationByStaff(staffLinkNo:string, concessionCard: string, currentDate:string, id :number): Observable> { let params = new HttpParams().set("staffLinkNo", staffLinkNo) .set("concessionCard", concessionCard) .set("currentDate", currentDate) .set("id", "" +id); let headers = new HttpHeaders().set('Content-Type', 'application/json'); let options = { headers: headers, params: params }; const baseUrl = this.appSetting.appSetting.baseUrl; const url = baseUrl + "/" + ConfigureUrl.CheckConcessionValidationByStaffUrl; //return this.http.get(this.baseUrl + 'api/Concessionvalidation/LoadConcessionvalidationById',options); return this.http.get>(url,options); } saveConcessionvalidation(item:ConcessionValidation): Observable> { //insert Concessionvalidation let config = { headers : { 'Content-Type': 'application/json' } }; const baseUrl = this.appSetting.appSetting.baseUrl +"/"+ConfigureUrl.concessionValidationUrl; return this.http.post>(baseUrl, item, config); } deleteConcessionvalidation(Id:number): Observable>{ let config = { headers : { 'Content-Type': 'application/json' } }; const baseUrl = this.appSetting.appSetting.baseUrl +"/"+ConfigureUrl.concessionValidationUrl; return this.http.delete>(baseUrl + "/" + Id); } }