dealpos 25.44.2 → 25.44.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/browser/{chunk-BSFKTGRH.js → chunk-2CNCNFLY.js} +1 -1
  2. package/browser/{chunk-ZIUOCAE2.js → chunk-2L4IWV4O.js} +1 -1
  3. package/browser/{chunk-YH3UWFOD.js → chunk-35MX4BAQ.js} +1 -1
  4. package/browser/{chunk-CW2D4XVM.js → chunk-3XKMPSXL.js} +1 -1
  5. package/browser/{chunk-CLIFAF7L.js → chunk-5SOEK3TT.js} +2 -2
  6. package/browser/{chunk-SZ7M2HSN.js → chunk-6252I4CZ.js} +1 -1
  7. package/browser/{chunk-OGM6TARA.js → chunk-6X4UFD5W.js} +2 -2
  8. package/browser/{chunk-5E64BHHD.js → chunk-7S6FKMSO.js} +1 -1
  9. package/browser/{chunk-2RZHUSQU.js → chunk-A66ZACDH.js} +1 -1
  10. package/browser/{chunk-7QOZKOAW.js → chunk-ADALPJSE.js} +1 -1
  11. package/browser/{chunk-2ZDXMF6S.js → chunk-B6MBZMXJ.js} +1 -1
  12. package/browser/{chunk-7M35JNER.js → chunk-BQQDYSA7.js} +1 -1
  13. package/browser/{chunk-655R7PDY.js → chunk-C6VXB2SB.js} +1 -1
  14. package/browser/{chunk-UKFG66EY.js → chunk-DBYXKYCU.js} +1 -1
  15. package/browser/{chunk-4WAY7P2M.js → chunk-DERD74TP.js} +1 -1
  16. package/browser/{chunk-QPS677LS.js → chunk-DG7NR7EZ.js} +1 -1
  17. package/browser/{chunk-PKT3SIRZ.js → chunk-DI74QYZM.js} +1 -1
  18. package/browser/{chunk-D4G24QCQ.js → chunk-DUDO64N6.js} +1 -1
  19. package/browser/{chunk-SPTLCHEU.js → chunk-EQCLDIB4.js} +1 -1
  20. package/browser/{chunk-T6TPCDSC.js → chunk-EWFZ36RT.js} +1 -1
  21. package/browser/{chunk-JXNDVG64.js → chunk-FENKR4CQ.js} +1 -1
  22. package/browser/{chunk-XFP34FRB.js → chunk-FFXI2DXW.js} +1 -1
  23. package/browser/{chunk-DHQWJAOX.js → chunk-GKEJZCVC.js} +1 -1
  24. package/browser/{chunk-34KJ7YHX.js → chunk-GV7D2HB4.js} +1 -1
  25. package/browser/{chunk-RKZPHRAC.js → chunk-H3QJVBJG.js} +1 -1
  26. package/browser/{chunk-IJVIVNVH.js → chunk-HITIW5SB.js} +1 -1
  27. package/browser/{chunk-BA64MIHJ.js → chunk-HUKUGVJN.js} +1 -1
  28. package/browser/{chunk-RUFSPHPN.js → chunk-IB3XZXQ6.js} +1 -1
  29. package/browser/{chunk-J2HRW2OD.js → chunk-IMVOFZF2.js} +1 -1
  30. package/browser/{chunk-CFDWM2SO.js → chunk-IYR2IFKU.js} +1 -1
  31. package/browser/{chunk-6PSJSHPW.js → chunk-J4KL7456.js} +1 -1
  32. package/browser/{chunk-O35SSVC5.js → chunk-JJEEU43B.js} +1 -1
  33. package/browser/{chunk-QR4VV4GM.js → chunk-JYOB5CVE.js} +1 -1
  34. package/browser/{chunk-SCB5WW4J.js → chunk-K4H64PQH.js} +1 -1
  35. package/browser/{chunk-PJTFJKGS.js → chunk-KOSMAN44.js} +1 -1
  36. package/browser/{chunk-YCTTD62Z.js → chunk-L7RW5OYR.js} +2 -2
  37. package/browser/{chunk-PW7JCR65.js → chunk-LREWUJCK.js} +1 -1
  38. package/browser/{chunk-PLZ3ODXT.js → chunk-LVRTFMAW.js} +1 -1
  39. package/browser/{chunk-XMABJJGK.js → chunk-MVKGK54L.js} +1 -1
  40. package/browser/{chunk-CMAE52E3.js → chunk-MYF4ZUTB.js} +1 -1
  41. package/browser/{chunk-47RLR2PC.js → chunk-NBGYLE5E.js} +1 -1
  42. package/browser/{chunk-WM2ISZEL.js → chunk-NRYAQ7IP.js} +1 -1
  43. package/browser/{chunk-XMABGEYA.js → chunk-NS23JWYC.js} +1 -1
  44. package/browser/{chunk-J2QBKYVZ.js → chunk-OCQ267JJ.js} +1 -1
  45. package/browser/{chunk-EPUDCYJW.js → chunk-OPVXNF3T.js} +1 -1
  46. package/browser/{chunk-J7JOV2UE.js → chunk-OZJF5R7P.js} +1 -1
  47. package/browser/{chunk-FOF7BQHC.js → chunk-PGZ2TRFR.js} +1 -1
  48. package/browser/{chunk-BC4RWXWV.js → chunk-PSBMG3LD.js} +1 -1
  49. package/browser/{chunk-NHKASBAN.js → chunk-PSR5FFO2.js} +1 -1
  50. package/browser/{chunk-3FD5W6K2.js → chunk-Q4T6M4ZA.js} +2 -2
  51. package/browser/{chunk-VFEOT7L6.js → chunk-QYOE4TM4.js} +1 -1
  52. package/browser/{chunk-CKNSQS62.js → chunk-QYSNBA3B.js} +1 -1
  53. package/browser/{chunk-BO6JXHTU.js → chunk-R7CUW5PU.js} +1 -1
  54. package/browser/{chunk-M57BBETM.js → chunk-RKDZ25FF.js} +1 -1
  55. package/browser/{chunk-3Q3FUJ44.js → chunk-RPJ2UQLJ.js} +1 -1
  56. package/browser/{chunk-OZG5SOW6.js → chunk-SS2VK4I3.js} +1 -1
  57. package/browser/{chunk-APFUVBFJ.js → chunk-SXOEUJRS.js} +1 -1
  58. package/browser/{chunk-P63I2MBK.js → chunk-SXRGXZQZ.js} +1 -1
  59. package/browser/{chunk-PMEWJS46.js → chunk-T3QDD3QY.js} +1 -1
  60. package/browser/{chunk-Y3YIK27D.js → chunk-TJVAFECV.js} +1 -1
  61. package/browser/{chunk-AAX2TBEM.js → chunk-UGU3R7WT.js} +1 -1
  62. package/browser/{chunk-CT7VQIZ7.js → chunk-UJZUVUKS.js} +1 -1
  63. package/browser/chunk-UOTCG2S4.js +1 -0
  64. package/browser/{chunk-V77ELRLY.js → chunk-V5AH4WES.js} +1 -1
  65. package/browser/{chunk-3UXPJWJQ.js → chunk-V5Q73T5W.js} +1 -1
  66. package/browser/{chunk-5XINUUVX.js → chunk-V6ZPOEEB.js} +2 -2
  67. package/browser/{chunk-YV6PGG6H.js → chunk-W7MQSGNY.js} +1 -1
  68. package/browser/{chunk-DTWCNQ4N.js → chunk-WDF6K2KJ.js} +2 -2
  69. package/browser/{chunk-ZIT77RS6.js → chunk-WHZV4I27.js} +2 -2
  70. package/browser/{chunk-53I2NSFZ.js → chunk-WNCKG6ID.js} +1 -1
  71. package/browser/{chunk-RW5SHW7P.js → chunk-XDPSGKYA.js} +1 -1
  72. package/browser/{chunk-MS67N3VC.js → chunk-XOJGJ2LM.js} +1 -1
  73. package/browser/{chunk-ODOX327P.js → chunk-XP7KKW6G.js} +1 -1
  74. package/browser/{chunk-ZJHWFDGD.js → chunk-XWR6FSCC.js} +1 -1
  75. package/browser/{chunk-QMBZSWSZ.js → chunk-Y2MKYF4G.js} +1 -1
  76. package/browser/{chunk-2X7JXLPO.js → chunk-Y4LT7U6E.js} +1 -1
  77. package/browser/{chunk-SAAWSHJS.js → chunk-YFNG7LEH.js} +1 -1
  78. package/browser/{chunk-KAJ5NYU6.js → chunk-YIHOCMQW.js} +1 -1
  79. package/browser/{chunk-AUTKQFDZ.js → chunk-YRRC4IVU.js} +1 -1
  80. package/browser/{chunk-YR223T2R.js → chunk-YZGTD4W2.js} +2 -2
  81. package/browser/{chunk-W5EJQZB4.js → chunk-ZRB5O4MD.js} +1 -1
  82. package/browser/{chunk-AXITAME4.js → chunk-ZZXIEUVA.js} +1 -1
  83. package/browser/index.html +2 -2
  84. package/browser/{main-4NFW4OXW.js → main-QSHGGKRP.js} +2 -2
  85. package/package.json +1 -1
  86. package/browser/chunk-OTEI4GZK.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as Wi}from"./chunk-U6TUYK6J.js";import{a as Hi,c as Ji}from"./chunk-V2LFW5D3.js";import{a as Xt}from"./chunk-G454AF6P.js";import{a as Bi,b as ji,c as Li,d as Qi,e as Ui,f as je}from"./chunk-4G344XSZ.js";import"./chunk-23PJKOTU.js";import{a as Ri}from"./chunk-ALNSA73T.js";import{a as $i}from"./chunk-3CUWPIMQ.js";import"./chunk-7ENDP7TZ.js";import{a as Gt}from"./chunk-B5VF422M.js";import{a as Ii}from"./chunk-L7RHCBKX.js";import{a as Yt}from"./chunk-ECOW7JD7.js";import{a as ki}from"./chunk-6PGUQ3CR.js";import{a as Vi}from"./chunk-JLXCN2NR.js";import"./chunk-2YDEXJE5.js";import"./chunk-NQX7EX5A.js";import"./chunk-EWZ63XSS.js";import"./chunk-P3KIIKY4.js";import{a as Pn}from"./chunk-OKIBXXRJ.js";import{c as wi,d as Ei}from"./chunk-PD445FIT.js";import{a as qt,b as Oi,c as Ti}from"./chunk-SRRURHLT.js";import"./chunk-SGFSKIUE.js";import{a as Tt}from"./chunk-5M3JINH2.js";import{a as Ut}from"./chunk-YNDNTAII.js";import"./chunk-4SKJU2FQ.js";import{b as Mi}from"./chunk-RFO7MTFT.js";import{a as Ni,b as Fi,c as Ai}from"./chunk-4PPRFE5H.js";import"./chunk-O2QTP22K.js";import"./chunk-YRGGDRUH.js";import{a as Kt,b as zt}from"./chunk-OISKO6QJ.js";import"./chunk-BYXBJQAS.js";import"./chunk-4UYZJCFI.js";import"./chunk-BYXBJQAS.js";import{b as Si}from"./chunk-Q4CKRRGM.js";import"./chunk-PIYM2FOP.js";import"./chunk-2OWHEMAL.js";import"./chunk-XZELBTQR.js";import{e as _t}from"./chunk-RHUDY63D.js";import{a as Pi}from"./chunk-MPSML3FA.js";import{d as xi,e as Jt}from"./chunk-GIDGCFLX.js";import"./chunk-XBRBYCWJ.js";import"./chunk-3RK6DDJD.js";import"./chunk-FP4HFB5J.js";import"./chunk-H3OZSV6V.js";import"./chunk-YEDKRNXU.js";import"./chunk-VZEPVRCY.js";import"./chunk-7QWJJPNG.js";import"./chunk-VHAM2DWK.js";import{a as Ht}from"./chunk-JPXXXD26.js";import"./chunk-4QQTEPQT.js";import{a as pi,b as mi,c as di}from"./chunk-B6LPY2IZ.js";import"./chunk-CWITQVZH.js";import"./chunk-QHRP323Q.js";import"./chunk-WDQ4UKKY.js";import{a as ui,d as fi,f as gi,h as yi}from"./chunk-MFCXEITE.js";import{a as ct,c as pt}from"./chunk-MUJ6277G.js";import"./chunk-3LBZDIW2.js";import"./chunk-KTCV3KOE.js";import"./chunk-KZDE63UL.js";import{a as bi,b as Ci}from"./chunk-SPTLCHEU.js";import"./chunk-3GOO5E5D.js";import{a as si}from"./chunk-XMYLHF4C.js";import{A as hi,G as Di,q as ci,u as we,v as Ee,w as Ne,x as vi,z as _i}from"./chunk-H7F34T25.js";import{b as lt,c as st}from"./chunk-JOXTERIM.js";import{O as Be}from"./chunk-TSIYPTYI.js";import{d as ht}from"./chunk-XYB3YDKL.js";import{a as ti,b as ni,c as ii}from"./chunk-ZVDY66SR.js";import{a as Z,e as Te,f as $e,g as ne,l as Wt}from"./chunk-3YKVLHZG.js";import"./chunk-ZHY3BUQJ.js";import"./chunk-VFTGIP5A.js";import"./chunk-LE3BKIDY.js";import{a as Se}from"./chunk-2FWFPV5I.js";import"./chunk-EEEAUYZ6.js";import{E as ri,F as Oe,G as Ze,a as Ye,b as oi,c as De,h as le,l as de,o as Pe,r as ai,s as Xe}from"./chunk-RVXZOIFQ.js";import{a as li}from"./chunk-XMABJJGK.js";import{a as M,d as xe}from"./chunk-ZZGSAFGO.js";import"./chunk-QPS677LS.js";import{$ as He,$a as l,$b as Vt,Ac as y,Bc as Ot,D as at,Db as ke,E as V,Fc as ge,H as $n,I as he,Ib as r,Jb as a,Ka as In,Kb as I,Lb as Q,M as Bn,Ma as Je,Mb as U,N as Sn,Nb as Kn,Ob as B,Od as ei,Q as jn,Qb as _,Qc as zn,Qd as jt,Rb as d,Rd as Lt,T as Ln,Td as Qt,Ub as Mn,Va as Un,Vd as ze,W as Pt,Wa as rt,Wc as qe,Y as te,Yc as Ke,Yd as se,Zb as At,Zc as me,_a as Wn,_b as kt,aa as ee,bc as Rt,bd as Yn,ca as Qn,cb as Hn,cc as $t,cd as Re,d as ve,db as f,dc as pe,e as nt,ec as m,ed as Xn,f as kn,fa as E,fb as Jn,fc as Y,ga as ue,gb as Ft,gc as j,gd as Me,hc as Ge,ja as ae,jc as H,jd as F,k as Ae,kb as N,kc as L,lc as J,ma as W,n as Vn,na as ce,o as it,ob as Gn,p as Rn,pc as Ve,qb as D,qc as Bt,rc as oe,sc as vt,sd as Zn,t as u,u as _e,v as xn,va as x,vb as c,wa as S,xb as Ct,y as ut,zb as qn,zc as g}from"./chunk-UXRO4UFY.js";import{a as T,b as $,d as An,j as bt}from"./chunk-7DCB7DB2.js";var q=class i{constructor(t,e){this.http=e;this.buyForm=t.group({NewOrderID:[""],Order:t.group({Att:[""],SupplierID:[""],Number:[""],Date:[new Date],ID:[M.GuidEmpty]}),Invoice:t.group({ID:[M.GuidEmpty],Due:[new Date],Tax:[0]}),Payment:t.group({ID:[M.GuidEmpty],Amount:[0],MethodID:[0],Code:[""],Note:[""],ImageUrl:[""]})})}outlet=new de({ID:"",Name:"Choose an Outlet"});dueDays=new de(0);deliveryEntityID=new de(M.GuidEmpty);noteForm=new de({Note:"",TagID:"",Currency:{ID:"",ExchangeRate:0,Symbol:""},InvoiceNumber:""});discountAndTaxForm=new de({Discount:{Amount:0,Percentage:0},Tax:{ID:"",CalculationTypeName:"",Rate:0,Label:"",Discontinue:!1}});buyForm;setPONumber(t){let e="";if(t.Seed){let n=t.Seed+"";for(;n.length<t.Digit;)n="0"+n;e=M.StringFormat(t.Prefix,n)}this.buyForm.controls.Order.controls.Number.setValue(e)}setDueDateBasedOnDaysDue(t){console.log(t);let e=this.invoiceDate,n=new Date(M.cloneObject(e));n.setDate(n.getDate()+t),this.buyForm.controls.Invoice.controls.Due.setValue(n)}get dueDate(){return this.buyForm.controls.Invoice.controls.Due.value}get invoiceDate(){return this.buyForm.controls.Order.controls.Date.value}setAmount(t){this.buyForm.controls.Payment.controls.Amount.setValue(t)}setPaymentMethodID(t){this.buyForm.controls.Payment.controls.MethodID.setValue(t)}setTaxAmount(t){this.buyForm.controls.Invoice.controls.Tax.setValue(t)}setNewOrderID(t){this.buyForm.controls.NewOrderID.setValue(t)}setTax(t){let e=T({},this.discountAndTaxForm.value.Discount);this.discountAndTaxForm.setValue({Discount:e,Tax:t})}setCurrency(t){let e=this.noteForm.value;this.noteForm.setValue($(T({},e),{Currency:t}))}setDeliveryEntityID(t){this.deliveryEntityID.setValue(t)}setdueDays(t){this.dueDays.setValue(t)}setBulkOrderForm(t){this.buyForm.controls.Order.setValue(t)}setBulkNoteForm(t){this.noteForm.setValue(t)}setBulkDiscountAndTaxForm(t){this.discountAndTaxForm.setValue(t)}setOutletForm(t){this.outlet.setValue(t)}setBulkInvoice(t){this.buyForm.controls.Invoice.setValue(T(T({},this.buyForm.controls.Invoice.value),t))}setBulkPayment(t){this.buyForm.controls.Payment.setValue(t)}resetOutletForm(){this.outlet.setValue({ID:"",Name:"Choose an Outlet"})}resetDueDaysForm(){this.dueDays.setValue(0)}resetDeliveryEntityID(){this.deliveryEntityID.setValue(M.GuidEmpty)}resetNoteForm(){this.noteForm.setValue($(T({},this.noteForm.value),{Note:"",TagID:"",InvoiceNumber:""}))}resetDiscountAndTaxForm(){let t=this.discountAndTaxForm.value;this.discountAndTaxForm.setValue($(T({},t),{Discount:{Amount:0,Percentage:0}}))}resetBuyForm(){this.buyForm.reset(),this.buyForm.controls.Invoice.controls.ID.setValue(M.GuidEmpty),this.buyForm.controls.Invoice.controls.Due.setValue(new Date),this.buyForm.controls.Order.controls.Date.setValue(new Date),this.buyForm.controls.Order.controls.ID.setValue(M.GuidEmpty),this.generateNumberOnNewTransaction()}generateNumberOnNewTransaction(){this.http.post("/API/Buy/GenerateNumber",{ID:this.outlet.value.ID}).subscribe(t=>{this.setNewOrderID(M.Guid_NewGuid()),this.buyForm.controls.Order.controls.Number.setValue(t.Number)})}static \u0275fac=function(e){return new(e||i)(W(ri),W(se))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var ye=class i{entities$;appConfigJSON$;taxes$;currencies$;supplierPOTypes$;predefinedNotes$;denomination$;defaultDueDays$;constructor(t,e){let n=t.get("/API/Buy2/Load").pipe(E(o=>e.setCurrency(o.Currencies.find(s=>s.ID==o.AppConfigJSON.CoreDefaults.CurrencyID))),te(1));this.denomination$=n.pipe(u(o=>o.Denomination)),this.entities$=n.pipe(u(o=>o.Entities)),this.appConfigJSON$=n.pipe(u(o=>o.AppConfigJSON)),this.taxes$=n.pipe(u(o=>o.Taxes),te(1)),this.currencies$=n.pipe(u(o=>o.Currencies),te(1)),this.supplierPOTypes$=n.pipe(u(o=>o.SupplierPOTypes)),this.predefinedNotes$=n.pipe(u(o=>o.PredefinedNotes)),this.defaultDueDays$=n.pipe(u(o=>o.AppConfigJSON.ModuleBuy.PaymentDialog.DefaultDueDays),E(o=>e.setdueDays(o)),E(o=>e.setDueDateBasedOnDaysDue(o)))}updateDueDays(){this.defaultDueDays$.subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var mt=class i{returnInvoiceNumber=new de("");invoiceInfo$;constructor(t,e,n){let o=e.outlet.valueChanges.pipe(u(p=>p.ID),Z());this.invoiceInfo$=this.returnInvoiceNumber.valueChanges.pipe(V(p=>!!p),ue(o),ee(([p,O])=>t.post("/API/Buy/GetSupplierInvoiceRetur2",{EntityID:O,Number:p}).pipe(he(()=>Ae))),te(1),Z());let s=this.invoiceInfo$.pipe(u(p=>T({},p.Order)),E(p=>{let O={Att:p.Att,SupplierID:{Key:p.SupplierID,Value:p.SupplierName,OnSet:!0},Date:new Date,Number:e.buyForm.controls.Order.controls.Number.value,ID:M.GuidEmpty};e.setBulkOrderForm(O)}),Z()),P=this.invoiceInfo$.pipe(u(p=>p.Order),E(p=>{let O={Note:`Return #${p.Number}`,TagID:p.TypeID,Currency:{ID:p.CurrencyID,ExchangeRate:p.CurrencyRate,Symbol:p.CurrencySymbol??"$"},InvoiceNumber:p.Number};e.setBulkNoteForm(O)}),Z()),v=this.invoiceInfo$.pipe(u(p=>p.Order),ue(n.taxes$),u(([p,O])=>$(T({},p),{Tax:O.find(G=>G.ID===p.TaxTypeID)})),E(p=>{let O={Discount:{Amount:p.DiscountAmount,Percentage:p.Discount},Tax:{ID:p.TaxTypeID,Rate:p.Tax?.Rate,CalculationTypeName:p.Tax?.CalculationTypeName,Label:p.Tax?.Label,Discontinue:!p.Tax?.Label}};e.setBulkDiscountAndTaxForm(O)}),Z()),R=this.invoiceInfo$.pipe(u(p=>p.DeliveryEntityID),E(p=>e.setDeliveryEntityID(p)),Z()),K=this.invoiceInfo$.pipe(u(p=>p.Invoice),E(p=>{let O={ID:p.ID,Tax:p.Tax};e.setBulkInvoice(O)}),Z()),h=this.invoiceInfo$.pipe(u(p=>p.Payment),E(p=>{let O={ID:M.GuidEmpty,Amount:p.Amount,MethodID:p.MethodID,Note:p.Note,Code:p.Code,ImageUrl:p.ImageUrl};e.setBulkPayment(O)}),Z());_e(s,P,v,R,K,h).pipe(Z()).subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(ye))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var ie=class i{constructor(t,e,n,o){this.matDialog=o;let s=e.outlet.valueChanges.pipe(u(p=>p.ID));this.addVariantThroughSerial$=this._addVariantThroughSerial.asObservable().pipe(ue(s),ee(([p,O])=>t.get(Be.GetVariantBySerial,[{key:"Serial",value:p},{key:"EntityID",value:O}]).pipe(he(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>$(T({},p),{Quantity:1,Total:p.UnitPrice,VariantID:p.ID})),u(p=>({action:"addAsSerial",variant:p})));let P=this.variantAutocomplete.valueChanges.pipe(V(p=>M.IsNotEmpty(p)&&p.type=="Code"),u(p=>p.str),ue(s),ee(([p,O])=>t.get(Be.GetVariantByCode,[{key:"Code",value:p},{key:"EntityID",value:O},{key:"Promotion",value:!0}]).pipe(he(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>$(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.PriceDiscount)/100),Discount:p.PriceDiscount,VariantID:p.ID}))),v=this.variantAutocomplete.valueChanges.pipe(V(p=>M.IsNotEmpty(p)&&p.type=="ID"),u(p=>p.str)),R=this.variantQuickKey.valueChanges,K=at(v,R).pipe(ue(s),ee(([p,O])=>t.get(Be.GetVariantByID,[{key:"ID",value:p},{key:"EntityID",value:O}]).pipe(he(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>$(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.OrderPriceDiscount)/100),Discount:p.OrderPriceDiscount,VariantID:p.ID}))),h=at(K,P).pipe(E(p=>{p.CategoryTypeID===1&&this.toastr.info(`${p.Name} is sellable only.`,Se.Info)}),V(p=>p.CategoryTypeID!==1),u(p=>({action:"add",variant:p})),E(()=>{this.cartDisplayRef&&setTimeout(()=>{let p=this.cartDisplayRef.nativeElement.scrollHeight;this.cartDisplayRef.nativeElement.scrollTop=p},1)})),A=n.invoiceInfo$.pipe(u(p=>({action:"returnInvoice",variants:p.Items.map(O=>$(T({},O.Variant),{Quantity:O.Quantity,Total:O.Total,UnitPrice:O.UnitPrice,Discount:O.Discount,Serial:O.Serial,ID:O.ID,DiscountAmount:O.DiscountAmount,VariantID:O.VariantID,UnitQuantity:O.UnitQuantity}))})));this.cart$=at(h,A,this.deleteVariant$,this.dragDropCart$,this.returnCart$,this.updateVariant$,this.returnVariant$,this.purchaseVariant$,this.clearCart$,this.onEditForm$,this.addVariantThroughSerial$,this.addVariant$,this.onUploadCart$,this.listenRFID$).pipe(Pt((p,O)=>{let G=[...p],X=[],b=O.action;if(b=="add"){let C=O.variant;X=!!G.find(k=>k.VariantID==C.ID)?G.map(k=>k.VariantID==C.ID?$(T({},k),{Quantity:k.Quantity+1,Total:k.Total+k.UnitPrice}):k):[...G,C]}else if(b=="returnInvoice"||b=="onEditForm")X=O.variants;else if(b=="delete"){let C=O.index;X=G.filter((w,k)=>k!=C)}else if(b=="sort"){let C=O.ev;X=G,ui(X,C.previousIndex,C.currentIndex)}else if(b=="returnCart")X=G.map(C=>$(T({},C),{Quantity:-Math.abs(C.Quantity),Total:-Math.abs(C.Total)}));else if(b=="update"){let C=O.index;X=G.map((w,k)=>k==C?O.variant:w)}else if(b=="returnVariant"){let C=O.index;X=G.map((w,k)=>k==C?$(T({},w),{Quantity:-Math.abs(w.Quantity),Total:-Math.abs(w.Total)}):w)}else if(b=="purchaseVariant"){let C=O.index;X=G.map((w,k)=>k==C?$(T({},w),{Quantity:Math.abs(w.Quantity),Total:Math.abs(w.Total)}):w)}else if(b=="clearCart")X=[];else if(b=="addAsSerial"){let C=$(T({},O.variant),{Serial:[{Number:O.variant.Serial.Number,Quantity:1,ExpiryDate:O.variant.Serial.ExpiryDate}]});if(!!G.find(k=>k.ID==C.ID)){let k=C.Serial[0],Ce=G.find(fe=>fe.ID==C.ID),Nt=!!Ce.Serial.find(fe=>fe.Number==k.Number)?[...Ce.Serial].map(fe=>fe.Number==k.Number?$(T({},fe),{Quantity:fe.Quantity+1}):fe):[...Ce.Serial,k];X=G.map(fe=>fe.ID==C.ID?$(T({},fe),{Quantity:fe.Quantity+1,Total:fe.Total+fe.UnitPrice,Serial:Nt}):fe)}else X=[...G,$(T({},C),{Quantity:1,Total:C.UnitPrice})]}else if(b=="uploadCart")X=[...G,...O.variants];else if(b=="addNewRow"){let C=O.variant;X=[...G,C]}else if(b=="rfid"){let C=O.variants;Object.keys(C).forEach(w=>{if(C.hasOwnProperty(w)){let k=C[w];if(k&&Object.keys(k.variant).length>0){let Ce=G.findIndex(yt=>yt.Code.toLowerCase()===w.toLowerCase());if(Ce!==-1){let yt=Number(k.count);G[Ce].Quantity+=yt,G[Ce].Total=+G[Ce].UnitPrice*+G[Ce].Quantity,delete C[w],X=[...G]}else{let yt=k.variant,Nt=Number(k.count),fe=this.setUnitPrice(yt),Yi=this.formatItemObject($(T({},fe),{Quantity:Nt,Total:+fe.UnitPrice*+Nt}));delete C[w],X=[...G,Yi]}}}})}return X},[]),He([]),te(1)),this.totalVariantOrdered$=this.cart$.pipe(u(p=>p.map(O=>O.Quantity)),u(p=>p.reduce((O,G)=>O+G,0)),He(0))}toastr=ce(ze);cartDisplayRef;variantAutocomplete=new de;variantQuickKey=new de;_listenRFID=new ve;listenRFID$=this._listenRFID.asObservable().pipe(u(t=>({action:"rfid",variants:t})));_deleteVariant=new ve;deleteVariant$=this._deleteVariant.asObservable().pipe(u(t=>({action:"delete",index:t})));_dragDropCart=new ve;dragDropCart$=this._dragDropCart.asObservable().pipe(u(t=>({action:"sort",ev:t})));_returnCart=new ve;returnCart$=this._returnCart.asObservable().pipe(u(()=>({action:"returnCart"})));_onEditForm=new nt(null);onEditForm$=this._onEditForm.asObservable().pipe(V(t=>!!t),u(t=>({action:"onEditForm",variants:t})));_clearCart=new ve;clearCart$=this._clearCart.asObservable().pipe(u(()=>({action:"clearCart"})));_updateVariant=new ve;updateVariant$=this._updateVariant.asObservable().pipe(u(t=>({action:"update",variant:t.variant,index:t.index})));_returnVariant=new ve;returnVariant$=this._returnVariant.asObservable().pipe(u(t=>({action:"returnVariant",index:t})));_purchaseVariant=new ve;purchaseVariant$=this._purchaseVariant.asObservable().pipe(u(t=>({action:"purchaseVariant",index:t})));_addVariant=new ve;addVariant$=this._addVariant.asObservable().pipe(u(t=>({action:"addNewRow",variant:t})));_onUploadCart=new ve;onUploadCart$=this._onUploadCart.asObservable().pipe(u(t=>({action:"uploadCart",variants:t})));cart$;totalVariantOrdered$;_addVariantThroughSerial=new ve;addVariantThroughSerial$;deleteVariant(t){this._deleteVariant.next(t)}dragDropCart(t){this._dragDropCart.next(t)}returnCart(){this._returnCart.next()}updateVariant(t,e){this._updateVariant.next({variant:t,index:e})}returnVariant(t){this._returnVariant.next(t)}purchaseVariant(t){this._purchaseVariant.next(t)}clearCart(){this._clearCart.next()}editForm(t){this._onEditForm.next(t)}addVariant(t){this._addVariant.next(t)}addVariantThroughSerial(t){this._addVariantThroughSerial.next(t)}uploadCart(t){this._onUploadCart.next(t)}setUnitPrice(t){let e=T({},t);return M.IsNotEmpty(t.OrderPrice)?e.UnitPrice=t.OrderPrice:e.UnitPrice=t.UnitCost,e}formatItemObject=t=>{let o=t,{ID:e}=o,n=An(o,["ID"]);return $(T({},n),{Quantity:n.Quantity??1,Total:n.Total??n.UnitPrice,VariantID:e})};addCartRFID(t){this._listenRFID.next(t)}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(mt),W(ne))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var Le=class i{_isEdit=new ve;isEdit$;id$;isUnpaid$;dialog=ce(ne);constructor(t,e,n,o,s){let P=it(t.snapshot.queryParams);this.isEdit$=at(P.pipe(u(b=>!!b.ID)),this._isEdit.asObservable()).pipe(te(1)),this.id$=P.pipe(V(b=>b.ID),u(b=>b.ID));let v=this.id$.pipe(ee(b=>e.post("/api/Buy2/GetDataByID2",{ID:b})),te(1)),R=ut(()=>o.entities$).pipe(ee(b=>v.pipe(u(C=>[C.Order,b]))),E(([b,C])=>{let w={Att:b.Att,SupplierID:{Key:b.SupplierID,Value:b.SupplierName,OnSet:!0},Date:b.Date,Number:b.Number,ID:b.ID};n.setBulkOrderForm(w)}),E(([b,C])=>{let w=C.find(k=>k.ID==b.EntityID);n.setOutletForm(w)})),K=v.pipe(u(b=>b.Items),u(b=>b.map(C=>$(T({},C.Variant),{Quantity:C.Quantity,Total:C.Total,Note:C.Note,UnitPrice:C.UnitPrice,Discount:C.Discount,Serial:C.Serial,ID:C.ID,VariantID:C.VariantID,UnitQuantity:C.UnitQuantity,QtyRequested:C.QtyRequested,DiscountAmount:C.DiscountAmount}))),E(b=>s.editForm(b))),h=ut(()=>o.currencies$).pipe(ee(b=>v.pipe(u(C=>[C.Order,b,C.Invoice]))),u(([b,C,w])=>$(T({},b),{Number:b.Number!=w.Number?w.Number:b.Number,Currency:C.find(k=>k.ID===b.CurrencyID)})),E(b=>{let C={Note:b.Note,TagID:b.TypeID,Currency:T({},b.Currency),InvoiceNumber:b.Number};n.setBulkNoteForm(C)})),A=v.pipe(u(b=>b.DeliveryEntityID),E(b=>n.setDeliveryEntityID(b))),p=ut(()=>o.taxes$).pipe(ee(b=>v.pipe(u(C=>[C.Order,b]))),u(([b,C])=>$(T({},b),{Taxes:C})),E(b=>{let C=b.Taxes.find(k=>k.ID===b.TaxTypeID);C?.Bin&&this.dialog.open(qt,{id:"ModalInfo",data:{title:"Default Tax Discontinued",message:`
1
+ import{a as Wi}from"./chunk-U6TUYK6J.js";import{a as Hi,c as Ji}from"./chunk-V2LFW5D3.js";import{a as Xt}from"./chunk-G454AF6P.js";import{a as Bi,b as ji,c as Li,d as Qi,e as Ui,f as je}from"./chunk-4G344XSZ.js";import"./chunk-23PJKOTU.js";import{a as Ri}from"./chunk-ALNSA73T.js";import{a as $i}from"./chunk-3CUWPIMQ.js";import"./chunk-7ENDP7TZ.js";import{a as Gt}from"./chunk-B5VF422M.js";import{a as Ii}from"./chunk-L7RHCBKX.js";import{a as Yt}from"./chunk-ECOW7JD7.js";import{a as ki}from"./chunk-6PGUQ3CR.js";import{a as Vi}from"./chunk-JLXCN2NR.js";import"./chunk-2YDEXJE5.js";import"./chunk-NQX7EX5A.js";import"./chunk-EWZ63XSS.js";import"./chunk-P3KIIKY4.js";import{a as Pn}from"./chunk-OKIBXXRJ.js";import{c as wi,d as Ei}from"./chunk-PD445FIT.js";import{a as qt,b as Oi,c as Ti}from"./chunk-SRRURHLT.js";import"./chunk-SGFSKIUE.js";import{a as Tt}from"./chunk-5M3JINH2.js";import{a as Ut}from"./chunk-YNDNTAII.js";import"./chunk-4SKJU2FQ.js";import{b as Mi}from"./chunk-RFO7MTFT.js";import{a as Ni,b as Fi,c as Ai}from"./chunk-4PPRFE5H.js";import"./chunk-O2QTP22K.js";import"./chunk-YRGGDRUH.js";import{a as Kt,b as zt}from"./chunk-OISKO6QJ.js";import"./chunk-BYXBJQAS.js";import"./chunk-4UYZJCFI.js";import"./chunk-BYXBJQAS.js";import{b as Si}from"./chunk-Q4CKRRGM.js";import"./chunk-PIYM2FOP.js";import"./chunk-2OWHEMAL.js";import"./chunk-XZELBTQR.js";import{e as _t}from"./chunk-RHUDY63D.js";import{a as Pi}from"./chunk-MPSML3FA.js";import{d as xi,e as Jt}from"./chunk-GIDGCFLX.js";import"./chunk-XBRBYCWJ.js";import"./chunk-3RK6DDJD.js";import"./chunk-FP4HFB5J.js";import"./chunk-H3OZSV6V.js";import"./chunk-YEDKRNXU.js";import"./chunk-VZEPVRCY.js";import"./chunk-7QWJJPNG.js";import"./chunk-VHAM2DWK.js";import{a as Ht}from"./chunk-JPXXXD26.js";import"./chunk-4QQTEPQT.js";import{a as pi,b as mi,c as di}from"./chunk-B6LPY2IZ.js";import"./chunk-CWITQVZH.js";import"./chunk-QHRP323Q.js";import"./chunk-WDQ4UKKY.js";import{a as ui,d as fi,f as gi,h as yi}from"./chunk-MFCXEITE.js";import{a as ct,c as pt}from"./chunk-MUJ6277G.js";import"./chunk-3LBZDIW2.js";import"./chunk-KTCV3KOE.js";import"./chunk-KZDE63UL.js";import{a as bi,b as Ci}from"./chunk-EQCLDIB4.js";import"./chunk-3GOO5E5D.js";import{a as si}from"./chunk-XMYLHF4C.js";import{A as hi,G as Di,q as ci,u as we,v as Ee,w as Ne,x as vi,z as _i}from"./chunk-H7F34T25.js";import{b as lt,c as st}from"./chunk-JOXTERIM.js";import{O as Be}from"./chunk-TSIYPTYI.js";import{d as ht}from"./chunk-XYB3YDKL.js";import{a as ti,b as ni,c as ii}from"./chunk-ZVDY66SR.js";import{a as Z,e as Te,f as $e,g as ne,l as Wt}from"./chunk-3YKVLHZG.js";import"./chunk-ZHY3BUQJ.js";import"./chunk-VFTGIP5A.js";import"./chunk-LE3BKIDY.js";import{a as Se}from"./chunk-2FWFPV5I.js";import"./chunk-EEEAUYZ6.js";import{E as ri,F as Oe,G as Ze,a as Ye,b as oi,c as De,h as le,l as de,o as Pe,r as ai,s as Xe}from"./chunk-RVXZOIFQ.js";import{a as li}from"./chunk-MVKGK54L.js";import{a as M,d as xe}from"./chunk-ZZGSAFGO.js";import"./chunk-DG7NR7EZ.js";import{$ as He,$a as l,$b as Vt,Ac as y,Bc as Ot,D as at,Db as ke,E as V,Fc as ge,H as $n,I as he,Ib as r,Jb as a,Ka as In,Kb as I,Lb as Q,M as Bn,Ma as Je,Mb as U,N as Sn,Nb as Kn,Ob as B,Od as ei,Q as jn,Qb as _,Qc as zn,Qd as jt,Rb as d,Rd as Lt,T as Ln,Td as Qt,Ub as Mn,Va as Un,Vd as ze,W as Pt,Wa as rt,Wc as qe,Y as te,Yc as Ke,Yd as se,Zb as At,Zc as me,_a as Wn,_b as kt,aa as ee,bc as Rt,bd as Yn,ca as Qn,cb as Hn,cc as $t,cd as Re,d as ve,db as f,dc as pe,e as nt,ec as m,ed as Xn,f as kn,fa as E,fb as Jn,fc as Y,ga as ue,gb as Ft,gc as j,gd as Me,hc as Ge,ja as ae,jc as H,jd as F,k as Ae,kb as N,kc as L,lc as J,ma as W,n as Vn,na as ce,o as it,ob as Gn,p as Rn,pc as Ve,qb as D,qc as Bt,rc as oe,sc as vt,sd as Zn,t as u,u as _e,v as xn,va as x,vb as c,wa as S,xb as Ct,y as ut,zb as qn,zc as g}from"./chunk-UXRO4UFY.js";import{a as T,b as $,d as An,j as bt}from"./chunk-7DCB7DB2.js";var q=class i{constructor(t,e){this.http=e;this.buyForm=t.group({NewOrderID:[""],Order:t.group({Att:[""],SupplierID:[""],Number:[""],Date:[new Date],ID:[M.GuidEmpty]}),Invoice:t.group({ID:[M.GuidEmpty],Due:[new Date],Tax:[0]}),Payment:t.group({ID:[M.GuidEmpty],Amount:[0],MethodID:[0],Code:[""],Note:[""],ImageUrl:[""]})})}outlet=new de({ID:"",Name:"Choose an Outlet"});dueDays=new de(0);deliveryEntityID=new de(M.GuidEmpty);noteForm=new de({Note:"",TagID:"",Currency:{ID:"",ExchangeRate:0,Symbol:""},InvoiceNumber:""});discountAndTaxForm=new de({Discount:{Amount:0,Percentage:0},Tax:{ID:"",CalculationTypeName:"",Rate:0,Label:"",Discontinue:!1}});buyForm;setPONumber(t){let e="";if(t.Seed){let n=t.Seed+"";for(;n.length<t.Digit;)n="0"+n;e=M.StringFormat(t.Prefix,n)}this.buyForm.controls.Order.controls.Number.setValue(e)}setDueDateBasedOnDaysDue(t){console.log(t);let e=this.invoiceDate,n=new Date(M.cloneObject(e));n.setDate(n.getDate()+t),this.buyForm.controls.Invoice.controls.Due.setValue(n)}get dueDate(){return this.buyForm.controls.Invoice.controls.Due.value}get invoiceDate(){return this.buyForm.controls.Order.controls.Date.value}setAmount(t){this.buyForm.controls.Payment.controls.Amount.setValue(t)}setPaymentMethodID(t){this.buyForm.controls.Payment.controls.MethodID.setValue(t)}setTaxAmount(t){this.buyForm.controls.Invoice.controls.Tax.setValue(t)}setNewOrderID(t){this.buyForm.controls.NewOrderID.setValue(t)}setTax(t){let e=T({},this.discountAndTaxForm.value.Discount);this.discountAndTaxForm.setValue({Discount:e,Tax:t})}setCurrency(t){let e=this.noteForm.value;this.noteForm.setValue($(T({},e),{Currency:t}))}setDeliveryEntityID(t){this.deliveryEntityID.setValue(t)}setdueDays(t){this.dueDays.setValue(t)}setBulkOrderForm(t){this.buyForm.controls.Order.setValue(t)}setBulkNoteForm(t){this.noteForm.setValue(t)}setBulkDiscountAndTaxForm(t){this.discountAndTaxForm.setValue(t)}setOutletForm(t){this.outlet.setValue(t)}setBulkInvoice(t){this.buyForm.controls.Invoice.setValue(T(T({},this.buyForm.controls.Invoice.value),t))}setBulkPayment(t){this.buyForm.controls.Payment.setValue(t)}resetOutletForm(){this.outlet.setValue({ID:"",Name:"Choose an Outlet"})}resetDueDaysForm(){this.dueDays.setValue(0)}resetDeliveryEntityID(){this.deliveryEntityID.setValue(M.GuidEmpty)}resetNoteForm(){this.noteForm.setValue($(T({},this.noteForm.value),{Note:"",TagID:"",InvoiceNumber:""}))}resetDiscountAndTaxForm(){let t=this.discountAndTaxForm.value;this.discountAndTaxForm.setValue($(T({},t),{Discount:{Amount:0,Percentage:0}}))}resetBuyForm(){this.buyForm.reset(),this.buyForm.controls.Invoice.controls.ID.setValue(M.GuidEmpty),this.buyForm.controls.Invoice.controls.Due.setValue(new Date),this.buyForm.controls.Order.controls.Date.setValue(new Date),this.buyForm.controls.Order.controls.ID.setValue(M.GuidEmpty),this.generateNumberOnNewTransaction()}generateNumberOnNewTransaction(){this.http.post("/API/Buy/GenerateNumber",{ID:this.outlet.value.ID}).subscribe(t=>{this.setNewOrderID(M.Guid_NewGuid()),this.buyForm.controls.Order.controls.Number.setValue(t.Number)})}static \u0275fac=function(e){return new(e||i)(W(ri),W(se))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var ye=class i{entities$;appConfigJSON$;taxes$;currencies$;supplierPOTypes$;predefinedNotes$;denomination$;defaultDueDays$;constructor(t,e){let n=t.get("/API/Buy2/Load").pipe(E(o=>e.setCurrency(o.Currencies.find(s=>s.ID==o.AppConfigJSON.CoreDefaults.CurrencyID))),te(1));this.denomination$=n.pipe(u(o=>o.Denomination)),this.entities$=n.pipe(u(o=>o.Entities)),this.appConfigJSON$=n.pipe(u(o=>o.AppConfigJSON)),this.taxes$=n.pipe(u(o=>o.Taxes),te(1)),this.currencies$=n.pipe(u(o=>o.Currencies),te(1)),this.supplierPOTypes$=n.pipe(u(o=>o.SupplierPOTypes)),this.predefinedNotes$=n.pipe(u(o=>o.PredefinedNotes)),this.defaultDueDays$=n.pipe(u(o=>o.AppConfigJSON.ModuleBuy.PaymentDialog.DefaultDueDays),E(o=>e.setdueDays(o)),E(o=>e.setDueDateBasedOnDaysDue(o)))}updateDueDays(){this.defaultDueDays$.subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var mt=class i{returnInvoiceNumber=new de("");invoiceInfo$;constructor(t,e,n){let o=e.outlet.valueChanges.pipe(u(p=>p.ID),Z());this.invoiceInfo$=this.returnInvoiceNumber.valueChanges.pipe(V(p=>!!p),ue(o),ee(([p,O])=>t.post("/API/Buy/GetSupplierInvoiceRetur2",{EntityID:O,Number:p}).pipe(he(()=>Ae))),te(1),Z());let s=this.invoiceInfo$.pipe(u(p=>T({},p.Order)),E(p=>{let O={Att:p.Att,SupplierID:{Key:p.SupplierID,Value:p.SupplierName,OnSet:!0},Date:new Date,Number:e.buyForm.controls.Order.controls.Number.value,ID:M.GuidEmpty};e.setBulkOrderForm(O)}),Z()),P=this.invoiceInfo$.pipe(u(p=>p.Order),E(p=>{let O={Note:`Return #${p.Number}`,TagID:p.TypeID,Currency:{ID:p.CurrencyID,ExchangeRate:p.CurrencyRate,Symbol:p.CurrencySymbol??"$"},InvoiceNumber:p.Number};e.setBulkNoteForm(O)}),Z()),v=this.invoiceInfo$.pipe(u(p=>p.Order),ue(n.taxes$),u(([p,O])=>$(T({},p),{Tax:O.find(G=>G.ID===p.TaxTypeID)})),E(p=>{let O={Discount:{Amount:p.DiscountAmount,Percentage:p.Discount},Tax:{ID:p.TaxTypeID,Rate:p.Tax?.Rate,CalculationTypeName:p.Tax?.CalculationTypeName,Label:p.Tax?.Label,Discontinue:!p.Tax?.Label}};e.setBulkDiscountAndTaxForm(O)}),Z()),R=this.invoiceInfo$.pipe(u(p=>p.DeliveryEntityID),E(p=>e.setDeliveryEntityID(p)),Z()),K=this.invoiceInfo$.pipe(u(p=>p.Invoice),E(p=>{let O={ID:p.ID,Tax:p.Tax};e.setBulkInvoice(O)}),Z()),h=this.invoiceInfo$.pipe(u(p=>p.Payment),E(p=>{let O={ID:M.GuidEmpty,Amount:p.Amount,MethodID:p.MethodID,Note:p.Note,Code:p.Code,ImageUrl:p.ImageUrl};e.setBulkPayment(O)}),Z());_e(s,P,v,R,K,h).pipe(Z()).subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(ye))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var ie=class i{constructor(t,e,n,o){this.matDialog=o;let s=e.outlet.valueChanges.pipe(u(p=>p.ID));this.addVariantThroughSerial$=this._addVariantThroughSerial.asObservable().pipe(ue(s),ee(([p,O])=>t.get(Be.GetVariantBySerial,[{key:"Serial",value:p},{key:"EntityID",value:O}]).pipe(he(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>$(T({},p),{Quantity:1,Total:p.UnitPrice,VariantID:p.ID})),u(p=>({action:"addAsSerial",variant:p})));let P=this.variantAutocomplete.valueChanges.pipe(V(p=>M.IsNotEmpty(p)&&p.type=="Code"),u(p=>p.str),ue(s),ee(([p,O])=>t.get(Be.GetVariantByCode,[{key:"Code",value:p},{key:"EntityID",value:O},{key:"Promotion",value:!0}]).pipe(he(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>$(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.PriceDiscount)/100),Discount:p.PriceDiscount,VariantID:p.ID}))),v=this.variantAutocomplete.valueChanges.pipe(V(p=>M.IsNotEmpty(p)&&p.type=="ID"),u(p=>p.str)),R=this.variantQuickKey.valueChanges,K=at(v,R).pipe(ue(s),ee(([p,O])=>t.get(Be.GetVariantByID,[{key:"ID",value:p},{key:"EntityID",value:O}]).pipe(he(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>$(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.OrderPriceDiscount)/100),Discount:p.OrderPriceDiscount,VariantID:p.ID}))),h=at(K,P).pipe(E(p=>{p.CategoryTypeID===1&&this.toastr.info(`${p.Name} is sellable only.`,Se.Info)}),V(p=>p.CategoryTypeID!==1),u(p=>({action:"add",variant:p})),E(()=>{this.cartDisplayRef&&setTimeout(()=>{let p=this.cartDisplayRef.nativeElement.scrollHeight;this.cartDisplayRef.nativeElement.scrollTop=p},1)})),A=n.invoiceInfo$.pipe(u(p=>({action:"returnInvoice",variants:p.Items.map(O=>$(T({},O.Variant),{Quantity:O.Quantity,Total:O.Total,UnitPrice:O.UnitPrice,Discount:O.Discount,Serial:O.Serial,ID:O.ID,DiscountAmount:O.DiscountAmount,VariantID:O.VariantID,UnitQuantity:O.UnitQuantity}))})));this.cart$=at(h,A,this.deleteVariant$,this.dragDropCart$,this.returnCart$,this.updateVariant$,this.returnVariant$,this.purchaseVariant$,this.clearCart$,this.onEditForm$,this.addVariantThroughSerial$,this.addVariant$,this.onUploadCart$,this.listenRFID$).pipe(Pt((p,O)=>{let G=[...p],X=[],b=O.action;if(b=="add"){let C=O.variant;X=!!G.find(k=>k.VariantID==C.ID)?G.map(k=>k.VariantID==C.ID?$(T({},k),{Quantity:k.Quantity+1,Total:k.Total+k.UnitPrice}):k):[...G,C]}else if(b=="returnInvoice"||b=="onEditForm")X=O.variants;else if(b=="delete"){let C=O.index;X=G.filter((w,k)=>k!=C)}else if(b=="sort"){let C=O.ev;X=G,ui(X,C.previousIndex,C.currentIndex)}else if(b=="returnCart")X=G.map(C=>$(T({},C),{Quantity:-Math.abs(C.Quantity),Total:-Math.abs(C.Total)}));else if(b=="update"){let C=O.index;X=G.map((w,k)=>k==C?O.variant:w)}else if(b=="returnVariant"){let C=O.index;X=G.map((w,k)=>k==C?$(T({},w),{Quantity:-Math.abs(w.Quantity),Total:-Math.abs(w.Total)}):w)}else if(b=="purchaseVariant"){let C=O.index;X=G.map((w,k)=>k==C?$(T({},w),{Quantity:Math.abs(w.Quantity),Total:Math.abs(w.Total)}):w)}else if(b=="clearCart")X=[];else if(b=="addAsSerial"){let C=$(T({},O.variant),{Serial:[{Number:O.variant.Serial.Number,Quantity:1,ExpiryDate:O.variant.Serial.ExpiryDate}]});if(!!G.find(k=>k.ID==C.ID)){let k=C.Serial[0],Ce=G.find(fe=>fe.ID==C.ID),Nt=!!Ce.Serial.find(fe=>fe.Number==k.Number)?[...Ce.Serial].map(fe=>fe.Number==k.Number?$(T({},fe),{Quantity:fe.Quantity+1}):fe):[...Ce.Serial,k];X=G.map(fe=>fe.ID==C.ID?$(T({},fe),{Quantity:fe.Quantity+1,Total:fe.Total+fe.UnitPrice,Serial:Nt}):fe)}else X=[...G,$(T({},C),{Quantity:1,Total:C.UnitPrice})]}else if(b=="uploadCart")X=[...G,...O.variants];else if(b=="addNewRow"){let C=O.variant;X=[...G,C]}else if(b=="rfid"){let C=O.variants;Object.keys(C).forEach(w=>{if(C.hasOwnProperty(w)){let k=C[w];if(k&&Object.keys(k.variant).length>0){let Ce=G.findIndex(yt=>yt.Code.toLowerCase()===w.toLowerCase());if(Ce!==-1){let yt=Number(k.count);G[Ce].Quantity+=yt,G[Ce].Total=+G[Ce].UnitPrice*+G[Ce].Quantity,delete C[w],X=[...G]}else{let yt=k.variant,Nt=Number(k.count),fe=this.setUnitPrice(yt),Yi=this.formatItemObject($(T({},fe),{Quantity:Nt,Total:+fe.UnitPrice*+Nt}));delete C[w],X=[...G,Yi]}}}})}return X},[]),He([]),te(1)),this.totalVariantOrdered$=this.cart$.pipe(u(p=>p.map(O=>O.Quantity)),u(p=>p.reduce((O,G)=>O+G,0)),He(0))}toastr=ce(ze);cartDisplayRef;variantAutocomplete=new de;variantQuickKey=new de;_listenRFID=new ve;listenRFID$=this._listenRFID.asObservable().pipe(u(t=>({action:"rfid",variants:t})));_deleteVariant=new ve;deleteVariant$=this._deleteVariant.asObservable().pipe(u(t=>({action:"delete",index:t})));_dragDropCart=new ve;dragDropCart$=this._dragDropCart.asObservable().pipe(u(t=>({action:"sort",ev:t})));_returnCart=new ve;returnCart$=this._returnCart.asObservable().pipe(u(()=>({action:"returnCart"})));_onEditForm=new nt(null);onEditForm$=this._onEditForm.asObservable().pipe(V(t=>!!t),u(t=>({action:"onEditForm",variants:t})));_clearCart=new ve;clearCart$=this._clearCart.asObservable().pipe(u(()=>({action:"clearCart"})));_updateVariant=new ve;updateVariant$=this._updateVariant.asObservable().pipe(u(t=>({action:"update",variant:t.variant,index:t.index})));_returnVariant=new ve;returnVariant$=this._returnVariant.asObservable().pipe(u(t=>({action:"returnVariant",index:t})));_purchaseVariant=new ve;purchaseVariant$=this._purchaseVariant.asObservable().pipe(u(t=>({action:"purchaseVariant",index:t})));_addVariant=new ve;addVariant$=this._addVariant.asObservable().pipe(u(t=>({action:"addNewRow",variant:t})));_onUploadCart=new ve;onUploadCart$=this._onUploadCart.asObservable().pipe(u(t=>({action:"uploadCart",variants:t})));cart$;totalVariantOrdered$;_addVariantThroughSerial=new ve;addVariantThroughSerial$;deleteVariant(t){this._deleteVariant.next(t)}dragDropCart(t){this._dragDropCart.next(t)}returnCart(){this._returnCart.next()}updateVariant(t,e){this._updateVariant.next({variant:t,index:e})}returnVariant(t){this._returnVariant.next(t)}purchaseVariant(t){this._purchaseVariant.next(t)}clearCart(){this._clearCart.next()}editForm(t){this._onEditForm.next(t)}addVariant(t){this._addVariant.next(t)}addVariantThroughSerial(t){this._addVariantThroughSerial.next(t)}uploadCart(t){this._onUploadCart.next(t)}setUnitPrice(t){let e=T({},t);return M.IsNotEmpty(t.OrderPrice)?e.UnitPrice=t.OrderPrice:e.UnitPrice=t.UnitCost,e}formatItemObject=t=>{let o=t,{ID:e}=o,n=An(o,["ID"]);return $(T({},n),{Quantity:n.Quantity??1,Total:n.Total??n.UnitPrice,VariantID:e})};addCartRFID(t){this._listenRFID.next(t)}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(mt),W(ne))};static \u0275prov=ae({token:i,factory:i.\u0275fac,providedIn:"root"})};var Le=class i{_isEdit=new ve;isEdit$;id$;isUnpaid$;dialog=ce(ne);constructor(t,e,n,o,s){let P=it(t.snapshot.queryParams);this.isEdit$=at(P.pipe(u(b=>!!b.ID)),this._isEdit.asObservable()).pipe(te(1)),this.id$=P.pipe(V(b=>b.ID),u(b=>b.ID));let v=this.id$.pipe(ee(b=>e.post("/api/Buy2/GetDataByID2",{ID:b})),te(1)),R=ut(()=>o.entities$).pipe(ee(b=>v.pipe(u(C=>[C.Order,b]))),E(([b,C])=>{let w={Att:b.Att,SupplierID:{Key:b.SupplierID,Value:b.SupplierName,OnSet:!0},Date:b.Date,Number:b.Number,ID:b.ID};n.setBulkOrderForm(w)}),E(([b,C])=>{let w=C.find(k=>k.ID==b.EntityID);n.setOutletForm(w)})),K=v.pipe(u(b=>b.Items),u(b=>b.map(C=>$(T({},C.Variant),{Quantity:C.Quantity,Total:C.Total,Note:C.Note,UnitPrice:C.UnitPrice,Discount:C.Discount,Serial:C.Serial,ID:C.ID,VariantID:C.VariantID,UnitQuantity:C.UnitQuantity,QtyRequested:C.QtyRequested,DiscountAmount:C.DiscountAmount}))),E(b=>s.editForm(b))),h=ut(()=>o.currencies$).pipe(ee(b=>v.pipe(u(C=>[C.Order,b,C.Invoice]))),u(([b,C,w])=>$(T({},b),{Number:b.Number!=w.Number?w.Number:b.Number,Currency:C.find(k=>k.ID===b.CurrencyID)})),E(b=>{let C={Note:b.Note,TagID:b.TypeID,Currency:T({},b.Currency),InvoiceNumber:b.Number};n.setBulkNoteForm(C)})),A=v.pipe(u(b=>b.DeliveryEntityID),E(b=>n.setDeliveryEntityID(b))),p=ut(()=>o.taxes$).pipe(ee(b=>v.pipe(u(C=>[C.Order,b]))),u(([b,C])=>$(T({},b),{Taxes:C})),E(b=>{let C=b.Taxes.find(k=>k.ID===b.TaxTypeID);C?.Bin&&this.dialog.open(qt,{id:"ModalInfo",data:{title:"Default Tax Discontinued",message:`
2
2
  <div class="d-flex justify-content-center my-4">
3
3
  <img class="img-2x" src="https://res.cloudinary.com/pos/image/upload/v1705387550/POS/Images/Cashier/globalerror.svg"
4
4
  alt="Empty Sales Order Tag" />