import { Injectable } from "@angular/core"; import { HttpClient } from "@angular/common/http"; import { Config } from '../../_helpers/config.class'; import { StockInViewModel, StockAllocateViewModel, StockTransferViewModel } from "./MedStock.class"; @Injectable() export class StockService { constructor(private http: HttpClient) { } public saveStock(stockList: StockInViewModel) { return this.http.post(`${Config.getControllerUrl('StockApi', 'SaveStockIn')}`, stockList); } public saveDemand(demand: any) { return this.http.post(`${Config.getControllerUrl('StockDemandApi', 'SaveDemand')}`, demand); } public getMedAvailableBatch(medId: number) { return this.http.get(`${Config.getControllerUrl('StockApi', 'GetMedAvailableBatch')}/${medId}`); } public saveAllocateStock(stockOut: StockAllocateViewModel) { return this.http.post(`${Config.getControllerUrl('StockApi', 'AllocateStock')}`, stockOut); } public saveTransferStock(stockOut: StockTransferViewModel) { return this.http.post(`${Config.getControllerUrl('StockApi', 'TransferStock')}`, stockOut); } public getStockDtl(skip: number, pageSize: number, query: string , hfId : string , geoLvlCode : string, hfType:string ,stockId:number) { return this.http.post(`${Config.getControllerUrl('StockApi', 'GetStockDetail')}` , { Skip: skip, PageSize: pageSize, Query: query , HfId:hfId , GeoLvlCode : geoLvlCode , HfType: hfType , StockId:stockId }); } public getStockOutDtl(skip: number, pageSize: number, query: string , hfId : string , geoLvlCode : string, hfType:string) { return this.http.post(`${Config.getControllerUrl('StockApi', 'GetStockOutDetail')}` , { Skip: skip, PageSize: pageSize, Query: query , HfId:hfId , GeoLvlCode : geoLvlCode , HfType: hfType }); } public getUpcomingExpiry(skip: number, pageSize: number, query: string , hfId : string , geoLvlCode : string, hfType:string ,stockId:number , dateLimit : Date) { return this.http.post(`${Config.getControllerUrl('StockApi', 'GetUpcomingExpiry')}` , { Skip: skip, PageSize: pageSize, Query: query , HfId:hfId , GeoLvlCode : geoLvlCode , HfType: hfType , StockId:stockId , DateLimit:dateLimit }); } public getExistingDemands(year: any) { return this.http.get(`${Config.getControllerUrl('StockDemandApi', 'GetExistingDemands')}/${year}`); } public removeStockById(sid: number) { return this.http.get(`${Config.getControllerUrl('StockApi', 'RemoveStockById')}/${sid}`); } }