import { Injectable } from "@angular/core"; import { HttpClient, HttpHeaders } from "@angular/common/http"; import { Config } from '../../_helpers/config.class'; import { AuthenticationService } from "../../_services/authentication.service"; import { ExpenseMastModel, ExpenseDetailModel, GenralExpenseModel, TraficFinePayment } from "./expense-class"; import { LocalService } from "../../_services/local.service"; @Injectable() export class ExpenseServices { headers: HttpHeaders = new HttpHeaders(); constructor(private http: HttpClient, _authenticationService: AuthenticationService, private _localService: LocalService) { this.headers.set('Content-Type', 'application/x-www-form-urlencoded'); this.headers.set('Authorization', 'Bearer ' + _authenticationService.getToken()); } public getItemsForBilling(id: number, fd: Date, td: Date) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetItemforBilling')}`, { Id: id, FromDate: fd, ToDate: td }); } public getItemsVehcleBilling(code: number, id: number) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetItemsVehcleBilling')}`, { Code: code, Id: id }); } public getExpHeads(id: number) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetExpHeads')}`, { Id: id }); } public saveExpense(obj: ExpenseMastModel) { this._localService.dateTransFuckDatesInObject(obj); return this.http.post(`${Config.getControllerUrl('Expense', 'SaveSimExpense')}`, obj); } public saveGernalExpenseNew(obj: ExpenseMastModel) { this._localService.dateTransFuckDatesInObject(obj); return this.http.post(`${Config.getControllerUrl('Expense', 'SaveGernExpNew')}`, obj); } public saveVehcleExpense(obj: GenralExpenseModel) { this._localService.dateTransFuckDatesInObject(obj); const formData = new FormData(); formData.append('file', obj.file); formData.append('Obj', JSON.stringify(obj)); return this.http.post(`${Config.getControllerUrl('Expense', 'SaveExpense')}`, formData); } public saveGerExpenseWithOutTF(obj: GenralExpenseModel) { this._localService.dateTransFuckDatesInObject(obj); const formData = new FormData(); formData.append('file', obj.file); formData.append('Obj', JSON.stringify(obj)); return this.http.post(`${Config.getControllerUrl('Expense', 'SaveExpenseWithTF')}`, formData); } public saveGerExpenseWithTFList(obj: GenralExpenseModel[], file?: File) { const formData = new FormData(); let fileno = 1; obj.forEach(item => { this._localService.dateTransFuckDatesInObject(item); item.IsGeneralExpense = true; formData.append(`file-${fileno}`, item.file); fileno++; }); formData.append('Obj', JSON.stringify(obj)); return this.http.post(`${Config.getControllerUrl('Expense', 'SaveExpenseWithTFList')}`, formData); } public saveTraficFInePayment(obj: TraficFinePayment) { const formData = new FormData(); formData.append('file', obj.trns.file); // formData.append('docName', obj.DocName); // formData.append('remarks', obj.Remarks); // formData.append('exp', obj.ExpiryDAte.toDateString()); // formData.append('item', obj.FK_Item_Id.toString()); formData.append('Obj', JSON.stringify(obj)); return this.http.post(`${Config.getControllerUrl('Expense', 'SaveTraficFInePayment')}`, formData); } public getSimExpenseList(skip: number, pageSize: number, query: string, hfId: string, geoLvlCode: string, hfType: string, stockId: number) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetSimExpenseList')}`, { Skip: skip, PageSize: pageSize, Query: query, HfId: hfId, GeoLvlCode: geoLvlCode, HfType: hfType, StockId: stockId }); } public getGXNewExpenseList(skip: number, pageSize: number, query: string, hfId: string, geoLvlCode: string, hfType: string, stockId: number) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetGXNewExpenseList')}`, { Skip: skip, PageSize: pageSize, Query: query, HfId: hfId, GeoLvlCode: geoLvlCode, HfType: hfType, StockId: stockId }); } public getExpDtl(id: number) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetExpDtl')}`, { Id: id }); } public validateAccCode(code: string) { return this.http.post(`${Config.getControllerUrl('Expense', 'ValidateExpCode')}`, { Code: code }); } public getEmpAndAcc(id: number, date: Date, code: string) { // var code:string = ''; return this.http.post(`${Config.getControllerUrl('Expense', 'GetEmpAndAcc')}`, { Id: id, Date: this._localService.dateTransFuckDate(date), Code: code }); } public getExpenseList(skip: number, pageSize: number, query: string, hfId: string, geoLvlCode: string, hfType: string, stockId: number, expHead: string) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetExpenseList')}`, { Skip: skip, PageSize: pageSize, Query: query, HfId: hfId, GeoLvlCode: geoLvlCode, HfType: hfType, StockId: stockId, ExpHead: expHead }); } public getUnPaidTraficFineList(skip: number, pageSize: number, query: string, hfId: string, geoLvlCode: string, hfType: string, stockId: number) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetUnPaidTraficFineList')}`, { Skip: skip, PageSize: pageSize, Query: query, HfId: hfId, GeoLvlCode: geoLvlCode, HfType: hfType, StockId: stockId }); } public getGerExpDtl(id: number) { return this.http.post(`${Config.getControllerUrl('Expense', 'GetGerExpDtl')}`, { Id: id }); } }