import{c as b}from"./chunk-MQVHFWCE.js";import{O as s}from"./chunk-3NJAM5KX.js";import{q as D}from"./chunk-TKVDP62Z.js";import{na as y,qa as c,u as l}from"./chunk-GJDGQISV.js";var p=class{_EntityID;_ID;_Note;_Number;_VariantID;_Quantity;_ExpiryDate;constructor(t){t&&(this.EntityID=t.EntityID,this.ID=t.ID,this.Note=t.Note,this.Number=t.Number,this.VariantID=t.VariantID,this.Quantity=t.Quantity,this.ExpiryDate=t.ExpiryDate)}get Quantity(){return this._Quantity}set Quantity(t){this._Quantity=t}get EntityID(){return this._EntityID}get ID(){return this._ID}get Note(){return this._Note}get Number(){return this._Number}get VariantID(){return this._VariantID}set EntityID(t){this._EntityID=t}set ID(t){this._ID=t}set Note(t){this._Note=t}set Number(t){this._Number=t}set VariantID(t){this._VariantID=t}get ExpiryDate(){return this._ExpiryDate}set ExpiryDate(t){this._ExpiryDate=t}};var g=class o{constructor(t,i){this.httpService=t;this.localData=i}findVariantByID(t,i,n=!0){return new Promise((a,e)=>{this.localData.isConfigFromServer().subscribe(u=>{u?this.httpService.get(s.GetVariantByID,[{key:"ID",value:t},{key:"EntityID",value:i},{key:"Promotion",value:n}]).subscribe({next:r=>{a(r)},error:r=>{e(r)}}):this.localData.findVariantById(t,i).subscribe({next:r=>{a(r)},error:r=>{e(r)}})})})}findVariantByCode(t,i,n=!1){return new Promise((a,e)=>{this.localData.isProductFromServer().subscribe(u=>{u?this.httpService.get(s.GetVariantByCode,[{key:"Code",value:t},{key:"EntityID",value:i},{key:"BarcodeSerial",value:n},{key:"Promotion",value:!0}]).subscribe({next:r=>{a(r)},error:r=>{e(r)}}):this.localData.findVariantByCode(t,i).subscribe({next:r=>{a(r)},error:r=>{e(r)}})})})}getVariantSerial(t,i){return this.httpService.post(s.GetVariantSerial,{entityID:t,variantID:i}).pipe(l(n=>n.map(e=>new p(e))))}getSerialByVarianIds(t,i){return this.httpService.post(s.GetVariantSerialByListVariantID,{EntityID:t,ListVariantID:i})}findVariantBySerial(t,i){return this.httpService.get(s.GetVariantBySerial,[{key:"Serial",value:t},{key:"EntityID",value:i}])}getStockByID(t,i){return new Promise((n,a)=>{this.httpService.get(s.GetVariantStockByID,[{key:"ID",value:t},{key:"EntityID",value:i}]).subscribe({next:e=>n(e),error:e=>a(e)})})}static \u0275fac=function(i){return new(i||o)(c(D),c(b))};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})};export{g as a};
