From ae01f25a36cb1954228d7fdabc38a95fa5ec6c39 Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Wed, 16 Apr 2025 09:41:41 +0200 Subject: [PATCH] Opzione 4 --- Dispenser.cs | 30 ++++++-- Program.cs | 68 ++++++++++++++---- bin/Debug/net9.0/dispenser_sapone.dll | Bin 8192 -> 9728 bytes bin/Debug/net9.0/dispenser_sapone.pdb | Bin 12024 -> 12424 bytes .../net9.0/dispenser_sapone.AssemblyInfo.cs | 4 +- .../dispenser_sapone.AssemblyInfoInputs.cache | 2 +- obj/Debug/net9.0/dispenser_sapone.dll | Bin 8192 -> 9728 bytes obj/Debug/net9.0/dispenser_sapone.pdb | Bin 12024 -> 12424 bytes obj/Debug/net9.0/ref/dispenser_sapone.dll | Bin 5632 -> 5632 bytes obj/Debug/net9.0/refint/dispenser_sapone.dll | Bin 5632 -> 5632 bytes 10 files changed, 81 insertions(+), 23 deletions(-) diff --git a/Dispenser.cs b/Dispenser.cs index 780ac53..1196ba3 100644 --- a/Dispenser.cs +++ b/Dispenser.cs @@ -6,8 +6,21 @@ class Dispenser { double quantitàErogata; double quantitàContenuta; - public Dispenser(string p_tipologia, double p_quantitàErogata, double p_quantitàContenuta, double p_capienza) { - this.tipologia = p_tipologia; + //valori dispenser + const string TIPOLOGIA1 = "Standard"; + const string TIPOLOGIA2 = "Custom"; + //valori standard + const double CAPIENZA = 500; + const double EROGAZIONE = 10; + + public Dispenser() { + this.tipologia = TIPOLOGIA1; + this.capienza = CAPIENZA; + this.quantitàContenuta = CAPIENZA; + this.quantitàErogata = EROGAZIONE; + } + public Dispenser(double p_quantitàErogata, double p_quantitàContenuta, double p_capienza) { + this.tipologia = TIPOLOGIA2; this.quantitàErogata = p_quantitàErogata; this.quantitàContenuta = p_quantitàContenuta; this.capienza = p_capienza; @@ -40,11 +53,16 @@ class Dispenser { Console.WriteLine($"Quantità contenuta: {this.GetQuantitàContenuta()}"); } - public void Erogazione() { - if (this.quantitàContenuta - this.quantitàErogata <= 0) { - + public double Erogazione() { + double ritorno; + if (this.quantitàContenuta - this.quantitàErogata < 0) { + ritorno = 0; } - this.quantitàContenuta = this.quantitàContenuta - this.quantitàErogata; + else { + this.quantitàContenuta = this.quantitàContenuta - this.quantitàErogata; + ritorno = this.quantitàContenuta; + } + return ritorno; } public double Riempimento(double p_refill) { diff --git a/Program.cs b/Program.cs index f4f9185..94a18b6 100644 --- a/Program.cs +++ b/Program.cs @@ -3,15 +3,10 @@ class Program { static void Main(string[] args) { Console.Clear(); - //valori dispenser - const string TIPOLOGIA1 = "Standard"; - const string TIPOLOGIA2 = "Custom"; - //valori standard - const double CAPIENZA = 500; - const double EROGAZIONE = 10; - double quantitàErogata, quantitàContenuta, capienza; + double quantitàErogata, quantitàContenuta, capienza, quantitàRimasta; int scelta, input, i = 0; - Dispenser[] dispensers = null; + Dispenser[] dispensers; + bool oggettoEsistente; Console.Write("Quanti dispenser considerare? "); input = Convert.ToInt32(Console.ReadLine()); @@ -37,7 +32,7 @@ class Program { Console.WriteLine($"Errore: non si possono creare più di {dispensers.Length} dispensers."); } else { - dispensers[i] = new Dispenser(TIPOLOGIA1, EROGAZIONE, CAPIENZA, CAPIENZA); + dispensers[i] = new Dispenser(); i++; Console.WriteLine("Dispenser standard creato."); } @@ -75,7 +70,7 @@ class Program { } } while (quantitàContenuta <= 0); - dispensers[i] = new Dispenser(TIPOLOGIA2, quantitàErogata, quantitàContenuta, capienza); + dispensers[i] = new Dispenser(quantitàErogata, quantitàContenuta, capienza); i++; } Pausa(); @@ -83,11 +78,36 @@ class Program { case 3: Console.Clear(); - for (int j = 0; j < dispensers.Length; j++) { - Console.WriteLine($"Dispenser {j + 1}:"); - dispensers[j].StampaDispenser(); - Console.WriteLine(); + oggettoEsistente = true; + for (int j = 0; j < dispensers.Length && oggettoEsistente; j++) { + if (dispensers[j] == null) { + oggettoEsistente = false; + } } + if (!oggettoEsistente) { + Console.WriteLine("Errore: è necessario creare *tutti* i dispenser prima di mostrarli."); + } + else { + for (int j = 0; j < dispensers.Length; j++) { + Console.WriteLine($"Dispenser {j + 1}:"); + dispensers[j].StampaDispenser(); + Console.WriteLine(); + } + } + Pausa(); + break; + + case 4: + Console.Clear(); + quantitàRimasta = SelezionaDispenser(dispensers).Erogazione(); + if (quantitàRimasta == 0) { + Console.WriteLine("Il dispenser è vuoto."); + } + else { + Console.WriteLine($"Quantità rimasta: {quantitàRimasta}"); + } + Console.WriteLine("Erogazione effettuata"); + Console.WriteLine(); Pausa(); break; } @@ -100,4 +120,24 @@ class Program { Console.ReadKey(); Console.Clear(); } + + static Dispenser SelezionaDispenser(Dispenser[] p_dispensers) { + int scelta; + do { + Console.WriteLine("Quale dispenser selezionare?"); + for (int i = 0; i < p_dispensers.Length; i++) { + Console.WriteLine($"{i}. Dispenser {i + 1}"); + } + Console.Write("Scelta: "); + scelta = Convert.ToInt32(Console.ReadLine()); + if (scelta < 0 || scelta >= p_dispensers.Length) { + Console.WriteLine("Errore: il dispenser selezionato non esiste."); + Pausa(); + } + } + while (scelta < 0 || scelta >= p_dispensers.Length); + + return p_dispensers[scelta]; + + } } diff --git a/bin/Debug/net9.0/dispenser_sapone.dll b/bin/Debug/net9.0/dispenser_sapone.dll index 750a02fd2e6f52d301979cc60475fa92bff26258..4788b65d9c26ae89518f58d75add5ef5a4148697 100644 GIT binary patch delta 3444 zcmbVPZERcB8Gg>a_PvfBJGs7&?KWS|2aOviotvaI4k=AYyDXz24QZV@gX`Djg6vhs6uQF>Qq>T(mm(e zaZ2}Z$2!kF?|a_!zR!8j$Gx8GncMc*@%o?d)Gwh>E}$MB5eKTMaOIW3uK8zo`F@)K zhNPkg__uSu&MdtbD5ZR{6WC$ZDJ|BhXmVGrrYgc(Wt|W)QDgl=G>Jy*ucAJ3g&t)2 z9IFB+zSacXV*rA(2hgnNL-Cv$SI{f1Sd^#_aPyg^$^Kb_Lus&kdU8Fp%BMxgiipOZ zS(Re*GbZ{?I}y^gj@)M5QcsT2w80kzRes9rH-Rj5tY zlqqq2w=SZS%#HyeuhwVs*C8g1PR9oYQRvLq= znTBRu#b^0+SpQT9b52~MtrIX1t&m=Vrj|V|g9fD(4H2VZg6TAzk1`L6sU!OrX;3Z= zvbrcXH?1@?E6pcYnhPt<*Yi!Mbn&kB8;6-Q9fren8*a12DA`Ivk`#M^M_3oRAZHl8 zGfK9d4TL;fLo@WRr$eJlis>;tExquU)~*jlxzcWbY4)-Vl22Z#w2RV1j3(L5%1TEx zK;vk6&JGr{!?ni@8o^xan}$mU2^pc5GGwQmMIN#HIW8RAC6nbTF4jlVV0p2^ zq20yB@@gv`g~gI~{@a zyLL^{PMTT_hSpqPxbB)^{Y+o8X^tnd;VAF{pC8Ni$V@gpwRc+XwZH4Yan^>NBbY1$ z7zz#jI|sJ#d4%!>%Wwta)e1`FOW>+#2d^G^40td>U-r9!#{=|%N>*NRD6@uL6}dm; zj|=nXSDsWg%-VRHcu+0F84lHu6Q>jn6UryVKMRRZ+4zEuZMOakcKfQ39&Wci?6TYM zsEf4kQlfP|Ei#eVdpjHA2OUmV#QDb6LQM#x|sf6zwfdRZq{3G5V ze#OS05Qpak^}}-k8>6;nJ#l+PdVMH-l)(kQU6jsIdO0s4w-0YK8*diGZuIfe{GcF> z;$2FPI<1GpDE4$i8`u zRojR!DdogJp_8~) z?PG6;njv=6W*%NKji>po@nzzBn6t;q-hZiIg^xS(G%<|l;N@4#FLQiEa28Ft8|TD2 zuJXrN2NQzrN<@eaSWApyFR>l7#9MHj*oP;Gx7+#=Vjsrwd*c0gRgBy1al5@5HT+8I z#~@C?F()&1eaXcr^Cl~nZ(_-Ae_D6R)-_=>i5|(@?ikoUv~8$=pm#lXWCo^Y+S^c6 zwV``3GjU)tbu0RMw-0Q+qC)_pX7VJGP=fHM1kVKQo!xn^uxoNO?@PEH#-r zl+H{gx1^`{r>3T@8Q;C0{d*?zQYve`;cKWdMlgdUrZ7Rw65;K`0Zdby!M=sdzAj~9 zv%&A4xrev1KTB;EDReQz7g?v+9%r5APmWJpAC{X&Ge;j_o#Em)(<*H(nxW`^*^hm+ zi!e@_xR2gsq^v!5lDc&e6;_WC(4ltmCLgfo&Cqy0)Iqw;&^RNFZW^W}Y0D5ZxIkyi z&ZWboO;E%nh`K7pA zShbGfBuf*cHzp-58Q&J+v~C8A+}w&Ij0)2>Ds{!hRA$fP`Q$@ zW`hSLZfiQZ|0gIX3uEH6 cZl@IIRhFdvhJ`bg!-^8_S}fhin(g9(V%u3 zR^=s>Cc@e}44Lq#gGO8os;sdKysVB;Q)yRf&CTi) zYC?8MYhF>6zG%U=?dHSohHv#EXZrl-Z>+SN#`R}wB;0s|j=%g|_-ko&F2CW(O{M%= z`7P%u&Py*>3h$fr=^Q0$ne;YRAkCbx9oENl+T%F3)BI>Li;X~8&1u7_va1%K`ti(} zg=5G+;8h3w)n)ai+q6(^FT1FaU@gZt0(&?f()7x8`SG>4P3c7SaItq;MDf9um=gea zOo;al_V;j1kbjuzj9)o1IjkqMu|UL))e>d;k@!KR^n;-@&JqD#L)WB!9q1NOc3x_g zvYf(W(mfY$>_1|aVPa5ftQGx6CH_Q16E}(}Y2q^ZE^$U^%(=MBMaz|Ux%Atvhq&vZ z#ijQe$2mW2XrH^}acSXAXvu!cEqpGI>kGkjX<)cIln^=%LtK82J0dmbwCDI-n$kFyrj<&JB%`P8-lN#Hk?bea4|82Ru?;6T;gKCiz{3la&Zk&V4PTu zJ6*h+Xkr_78x0Kf|7gZ$O4^8pJu<}Md1Q#f=%%{Dm>^b(X5wea;SmP3j`(kEaE-P0 zN#i~=@Cg1YT2PJ`&;kelBu4Q8F^*4&jfhd3LI?3uTuJQ4GUBzad?m3PBL)1K!|m86 zy2J?STFm1=ULPl|fM=7=#rcifD%DC+dOzNGiDLbnl^t`523)}q@7DCdWdGWAsWx1; zbaM2riR>TImt8k7o|~MQyv;kl2D#NUM+1(bPK8#f<#udl+Rn(3y^@<=gS8kX<}o^R z%!wEm1-fw;rl^_39YA#tvpmHVWjSw(m`5GYb+P&>avdM4xF4*6c`XB$XK+PLHJ0oo#D6(%IqBwrqN|GnLG? zw`P(Zt?4m!qBh!g)vMMqh^5Q*{aelc8owG|BKwi4eW7#D8wUbUbH^cc4pwe z$yYAz{m1(i`@UP$TB(*tuWu;{|9($NNZ)-q-?H3K2mRZ7cYb~{U;5C{zIV2(x1zOj zW4roabl*&H-YR41FveKdS&Xn)bkAUzzqCuI(TO&mKnM9OrK9Asq(>=FAxXNOwi!|# X9Mc$^c`3F+$^-2)_JS|Pbkg@TX(xHu diff --git a/bin/Debug/net9.0/dispenser_sapone.pdb b/bin/Debug/net9.0/dispenser_sapone.pdb index 3cd30197a3645c4fe6b7bafb30117237cd048206..0458122a5bdc30a716bcdb939a0842b9d5f79569 100644 GIT binary patch delta 1601 zcmY*aTTGl)5T2R+cVRDF1YF8Z7D}O%-P$&^Qc~#!w5_4xE+vGtTZ*tryI6KXu(b^VTX~UsB3fI0^ax%w11T2p(?o`aD6F=+a91GM9#VTRbcX60>gW{4)jHnW zu)hNDZ^3VR!S@{N)L?ZFE`2rd{@2fa-g7SZq$m5JJ97O8Cy}i&OUNEe#PCTWN+--C zaEgb-Kr$e@NW$oioa}2D=<^y`f$EY7Nr31y$LPZ5L%Y{AbwK(cBan-bYmjNkeMo+x zP#Yx6D^!96b!iJk6Cm0RkyX49+_H+>ql3IN;(|7Im39i;zKS0JcYw=s)Mvq+;JS`J zes1X=Lt-x5)BvYsfxW+^>J=yfpNJZm)zpoz;S;l?57jm{$Mx|zBOLn84R}tyP<0JzZhr> zzU-&Y_V%`LxbvA%AOusmEh?7F^$*9k9~-K^z4$@dXyg22&nGR+ocX!$r}K7y#P=%vV~JnFo)@Jse$4U z;;4&n1Je_-({#y3zwzd^Oi#%HH*FQ#LKO=86cDxy7mQ0hOxuh)G>NupkjW((4z(f) zG_p9D_DUoHS#UADYiL!-Mho(q69-PFMgir zqIZMgk%%Me^UX#o1$}D>TF_h|R!25L^CaR;YxD}*#euZ-3iU9hi`}7dkRqe#bx2VY zGr`i=W1~VU!bLF1?eOEPp^h7wnxxsepl! zl%y5IL7N3UVT0*pIqG2~Gi?!ZYW2_sTD@9Em-$MTYxPR4L8(-Q6ss(hZbKxrpp!O< q-ge#c5vDy-u)M96BIADm4l$Hz=-!OJcuwG6l1>>oDA{iP*8B$%O!oc& delta 1202 zcmYjQU2Kz87=GTjUw_w*54II#6WX<~t)*^jU_(T@Sw<<*wYWhSz+hnwG&n}q&ZLo0 zN){Xw5%Nh;xPTav?aG*Vg$AdIfv9+62$E=2t`NN-F~jYGMc?yf3H#FLIp=xLd4JA1 zZ^yH9Z=4U7(*OeL!2>ejj^I9tJ^@^3;J8}rD~{xk9xAAHp9RpAZC4+HGBI)>8$NE*}vUWlI=)Gec3 zP%o&yaMK@{mWletU=>!&3QmElLAg0E%(rLa&4hlzVL?eSA-E#=Qt+Ue(bU2?EQP6* z7J*6(tQGJgt-@LsX}9q{#mb+G)v?IhA=}%-~4w(_qpG>D-O(l}u?a!uB#JkhUp58s~ zZuGpKN_6i@rh0n}&C+OeT562FmZ|=CzKd=8UP(dzcc zkLe$ey3!-VheonPFB~k`TR}Frp7CA#DgW8yeLJo^z4%YG_;g}-Zr{MIb-8<<6&vqg z`eFQ+(?&*{@!cJr`R2sb%-xRpNBnT&PW}2#-^UYw`rAeaAKtiBIurZ+h;?>Nt9rd5 zr`0aEa`IQg^E@4~L*Chrh@yIyS0gUj`bvdjZfK>Eb=4T3ga^tuY4Tf|{GBEr(c}}F zveJ}Smr$f{A#qljf%G`lCX`^#S~tpHe?#q;}ecacWO%s2}X^XnX9%)?^D#6 zTlZqXM$0(hrOJ;sF==ZEIwx(g>T4~Mbgu<%8jS6c&F(5J(IlMumoymXBOz@EmqW%^ zk)QnoEUl!mbd}^MIMmF>(tWy&aI(wLTf=3CE4yGOTb@v>cFCoR%hKvT6r~rBVo-QQ z*i#+HC<2Sg9gqw@@WUl>}9Ksge(lF{|H4;M2EwJjd@| h=ZPerDe>8w1ix3Ha~JvCSw6LTrFxzN#^csH!v7O`%<=#L diff --git a/obj/Debug/net9.0/dispenser_sapone.AssemblyInfo.cs b/obj/Debug/net9.0/dispenser_sapone.AssemblyInfo.cs index 9eed867..bc50156 100644 --- a/obj/Debug/net9.0/dispenser_sapone.AssemblyInfo.cs +++ b/obj/Debug/net9.0/dispenser_sapone.AssemblyInfo.cs @@ -13,10 +13,10 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("dispenser_sapone")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+cbf1ec3c38bb4c3492a74ebd2e4d930e5180714f")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c92496d0b5143b7a429033b8cd9a249053a08a75")] [assembly: System.Reflection.AssemblyProductAttribute("dispenser_sapone")] [assembly: System.Reflection.AssemblyTitleAttribute("dispenser_sapone")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] -// Generated by the MSBuild WriteCodeFragment class. +// Generato dalla classe WriteCodeFragment di MSBuild. diff --git a/obj/Debug/net9.0/dispenser_sapone.AssemblyInfoInputs.cache b/obj/Debug/net9.0/dispenser_sapone.AssemblyInfoInputs.cache index 1b9233d..c110b93 100644 --- a/obj/Debug/net9.0/dispenser_sapone.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/dispenser_sapone.AssemblyInfoInputs.cache @@ -1 +1 @@ -e6431b311817db60eb5094c983152681b5926e4c01407422d780ffd52806cf09 +a590da0f58f352d3ab954b67f58709ab6a266a4e1bc77c97eab6bb12202a17f9 diff --git a/obj/Debug/net9.0/dispenser_sapone.dll b/obj/Debug/net9.0/dispenser_sapone.dll index 750a02fd2e6f52d301979cc60475fa92bff26258..4788b65d9c26ae89518f58d75add5ef5a4148697 100644 GIT binary patch delta 3444 zcmbVPZERcB8Gg>a_PvfBJGs7&?KWS|2aOviotvaI4k=AYyDXz24QZV@gX`Djg6vhs6uQF>Qq>T(mm(e zaZ2}Z$2!kF?|a_!zR!8j$Gx8GncMc*@%o?d)Gwh>E}$MB5eKTMaOIW3uK8zo`F@)K zhNPkg__uSu&MdtbD5ZR{6WC$ZDJ|BhXmVGrrYgc(Wt|W)QDgl=G>Jy*ucAJ3g&t)2 z9IFB+zSacXV*rA(2hgnNL-Cv$SI{f1Sd^#_aPyg^$^Kb_Lus&kdU8Fp%BMxgiipOZ zS(Re*GbZ{?I}y^gj@)M5QcsT2w80kzRes9rH-Rj5tY zlqqq2w=SZS%#HyeuhwVs*C8g1PR9oYQRvLq= znTBRu#b^0+SpQT9b52~MtrIX1t&m=Vrj|V|g9fD(4H2VZg6TAzk1`L6sU!OrX;3Z= zvbrcXH?1@?E6pcYnhPt<*Yi!Mbn&kB8;6-Q9fren8*a12DA`Ivk`#M^M_3oRAZHl8 zGfK9d4TL;fLo@WRr$eJlis>;tExquU)~*jlxzcWbY4)-Vl22Z#w2RV1j3(L5%1TEx zK;vk6&JGr{!?ni@8o^xan}$mU2^pc5GGwQmMIN#HIW8RAC6nbTF4jlVV0p2^ zq20yB@@gv`g~gI~{@a zyLL^{PMTT_hSpqPxbB)^{Y+o8X^tnd;VAF{pC8Ni$V@gpwRc+XwZH4Yan^>NBbY1$ z7zz#jI|sJ#d4%!>%Wwta)e1`FOW>+#2d^G^40td>U-r9!#{=|%N>*NRD6@uL6}dm; zj|=nXSDsWg%-VRHcu+0F84lHu6Q>jn6UryVKMRRZ+4zEuZMOakcKfQ39&Wci?6TYM zsEf4kQlfP|Ei#eVdpjHA2OUmV#QDb6LQM#x|sf6zwfdRZq{3G5V ze#OS05Qpak^}}-k8>6;nJ#l+PdVMH-l)(kQU6jsIdO0s4w-0YK8*diGZuIfe{GcF> z;$2FPI<1GpDE4$i8`u zRojR!DdogJp_8~) z?PG6;njv=6W*%NKji>po@nzzBn6t;q-hZiIg^xS(G%<|l;N@4#FLQiEa28Ft8|TD2 zuJXrN2NQzrN<@eaSWApyFR>l7#9MHj*oP;Gx7+#=Vjsrwd*c0gRgBy1al5@5HT+8I z#~@C?F()&1eaXcr^Cl~nZ(_-Ae_D6R)-_=>i5|(@?ikoUv~8$=pm#lXWCo^Y+S^c6 zwV``3GjU)tbu0RMw-0Q+qC)_pX7VJGP=fHM1kVKQo!xn^uxoNO?@PEH#-r zl+H{gx1^`{r>3T@8Q;C0{d*?zQYve`;cKWdMlgdUrZ7Rw65;K`0Zdby!M=sdzAj~9 zv%&A4xrev1KTB;EDReQz7g?v+9%r5APmWJpAC{X&Ge;j_o#Em)(<*H(nxW`^*^hm+ zi!e@_xR2gsq^v!5lDc&e6;_WC(4ltmCLgfo&Cqy0)Iqw;&^RNFZW^W}Y0D5ZxIkyi z&ZWboO;E%nh`K7pA zShbGfBuf*cHzp-58Q&J+v~C8A+}w&Ij0)2>Ds{!hRA$fP`Q$@ zW`hSLZfiQZ|0gIX3uEH6 cZl@IIRhFdvhJ`bg!-^8_S}fhin(g9(V%u3 zR^=s>Cc@e}44Lq#gGO8os;sdKysVB;Q)yRf&CTi) zYC?8MYhF>6zG%U=?dHSohHv#EXZrl-Z>+SN#`R}wB;0s|j=%g|_-ko&F2CW(O{M%= z`7P%u&Py*>3h$fr=^Q0$ne;YRAkCbx9oENl+T%F3)BI>Li;X~8&1u7_va1%K`ti(} zg=5G+;8h3w)n)ai+q6(^FT1FaU@gZt0(&?f()7x8`SG>4P3c7SaItq;MDf9um=gea zOo;al_V;j1kbjuzj9)o1IjkqMu|UL))e>d;k@!KR^n;-@&JqD#L)WB!9q1NOc3x_g zvYf(W(mfY$>_1|aVPa5ftQGx6CH_Q16E}(}Y2q^ZE^$U^%(=MBMaz|Ux%Atvhq&vZ z#ijQe$2mW2XrH^}acSXAXvu!cEqpGI>kGkjX<)cIln^=%LtK82J0dmbwCDI-n$kFyrj<&JB%`P8-lN#Hk?bea4|82Ru?;6T;gKCiz{3la&Zk&V4PTu zJ6*h+Xkr_78x0Kf|7gZ$O4^8pJu<}Md1Q#f=%%{Dm>^b(X5wea;SmP3j`(kEaE-P0 zN#i~=@Cg1YT2PJ`&;kelBu4Q8F^*4&jfhd3LI?3uTuJQ4GUBzad?m3PBL)1K!|m86 zy2J?STFm1=ULPl|fM=7=#rcifD%DC+dOzNGiDLbnl^t`523)}q@7DCdWdGWAsWx1; zbaM2riR>TImt8k7o|~MQyv;kl2D#NUM+1(bPK8#f<#udl+Rn(3y^@<=gS8kX<}o^R z%!wEm1-fw;rl^_39YA#tvpmHVWjSw(m`5GYb+P&>avdM4xF4*6c`XB$XK+PLHJ0oo#D6(%IqBwrqN|GnLG? zw`P(Zt?4m!qBh!g)vMMqh^5Q*{aelc8owG|BKwi4eW7#D8wUbUbH^cc4pwe z$yYAz{m1(i`@UP$TB(*tuWu;{|9($NNZ)-q-?H3K2mRZ7cYb~{U;5C{zIV2(x1zOj zW4roabl*&H-YR41FveKdS&Xn)bkAUzzqCuI(TO&mKnM9OrK9Asq(>=FAxXNOwi!|# X9Mc$^c`3F+$^-2)_JS|Pbkg@TX(xHu diff --git a/obj/Debug/net9.0/dispenser_sapone.pdb b/obj/Debug/net9.0/dispenser_sapone.pdb index 3cd30197a3645c4fe6b7bafb30117237cd048206..0458122a5bdc30a716bcdb939a0842b9d5f79569 100644 GIT binary patch delta 1601 zcmY*aTTGl)5T2R+cVRDF1YF8Z7D}O%-P$&^Qc~#!w5_4xE+vGtTZ*tryI6KXu(b^VTX~UsB3fI0^ax%w11T2p(?o`aD6F=+a91GM9#VTRbcX60>gW{4)jHnW zu)hNDZ^3VR!S@{N)L?ZFE`2rd{@2fa-g7SZq$m5JJ97O8Cy}i&OUNEe#PCTWN+--C zaEgb-Kr$e@NW$oioa}2D=<^y`f$EY7Nr31y$LPZ5L%Y{AbwK(cBan-bYmjNkeMo+x zP#Yx6D^!96b!iJk6Cm0RkyX49+_H+>ql3IN;(|7Im39i;zKS0JcYw=s)Mvq+;JS`J zes1X=Lt-x5)BvYsfxW+^>J=yfpNJZm)zpoz;S;l?57jm{$Mx|zBOLn84R}tyP<0JzZhr> zzU-&Y_V%`LxbvA%AOusmEh?7F^$*9k9~-K^z4$@dXyg22&nGR+ocX!$r}K7y#P=%vV~JnFo)@Jse$4U z;;4&n1Je_-({#y3zwzd^Oi#%HH*FQ#LKO=86cDxy7mQ0hOxuh)G>NupkjW((4z(f) zG_p9D_DUoHS#UADYiL!-Mho(q69-PFMgir zqIZMgk%%Me^UX#o1$}D>TF_h|R!25L^CaR;YxD}*#euZ-3iU9hi`}7dkRqe#bx2VY zGr`i=W1~VU!bLF1?eOEPp^h7wnxxsepl! zl%y5IL7N3UVT0*pIqG2~Gi?!ZYW2_sTD@9Em-$MTYxPR4L8(-Q6ss(hZbKxrpp!O< q-ge#c5vDy-u)M96BIADm4l$Hz=-!OJcuwG6l1>>oDA{iP*8B$%O!oc& delta 1202 zcmYjQU2Kz87=GTjUw_w*54II#6WX<~t)*^jU_(T@Sw<<*wYWhSz+hnwG&n}q&ZLo0 zN){Xw5%Nh;xPTav?aG*Vg$AdIfv9+62$E=2t`NN-F~jYGMc?yf3H#FLIp=xLd4JA1 zZ^yH9Z=4U7(*OeL!2>ejj^I9tJ^@^3;J8}rD~{xk9xAAHp9RpAZC4+HGBI)>8$NE*}vUWlI=)Gec3 zP%o&yaMK@{mWletU=>!&3QmElLAg0E%(rLa&4hlzVL?eSA-E#=Qt+Ue(bU2?EQP6* z7J*6(tQGJgt-@LsX}9q{#mb+G)v?IhA=}%-~4w(_qpG>D-O(l}u?a!uB#JkhUp58s~ zZuGpKN_6i@rh0n}&C+OeT562FmZ|=CzKd=8UP(dzcc zkLe$ey3!-VheonPFB~k`TR}Frp7CA#DgW8yeLJo^z4%YG_;g}-Zr{MIb-8<<6&vqg z`eFQ+(?&*{@!cJr`R2sb%-xRpNBnT&PW}2#-^UYw`rAeaAKtiBIurZ+h;?>Nt9rd5 zr`0aEa`IQg^E@4~L*Chrh@yIyS0gUj`bvdjZfK>Eb=4T3ga^tuY4Tf|{GBEr(c}}F zveJ}Smr$f{A#qljf%G`lCX`^#S~tpHe?#q;}ecacWO%s2}X^XnX9%)?^D#6 zTlZqXM$0(hrOJ;sF==ZEIwx(g>T4~Mbgu<%8jS6c&F(5J(IlMumoymXBOz@EmqW%^ zk)QnoEUl!mbd}^MIMmF>(tWy&aI(wLTf=3CE4yGOTb@v>cFCoR%hKvT6r~rBVo-QQ z*i#+HC<2Sg9gqw@@WUl>}9Ksge(lF{|H4;M2EwJjd@| h=ZPerDe>8w1ix3Ha~JvCSw6LTrFxzN#^csH!v7O`%<=#L diff --git a/obj/Debug/net9.0/ref/dispenser_sapone.dll b/obj/Debug/net9.0/ref/dispenser_sapone.dll index a66b67713d69d2c4c23fc39fe061a175c8f628ee..363c42514c7c62588459010b4e717364b8c6d0fd 100644 GIT binary patch delta 939 zcmZXTPe>F|9LK-!xsI(mwwp+nV#yw?Tx{Igb)5cCq9GQdW@3^Mv%8TZ7HQBQu$71? z5K3M|T`K6JAXe-_=n{2^2oFZlG4kN4gB?3~=sT~~ReCU=-}n2z@6DU{W@a)v8GU#! zu-ex3czUW@e4d`|7uS^#b%lfNK((rsQ8ggC#8P%v^vlqlp*=;H4}CxR{I>aPB~W`I z8xE`ri8&>V^1^LJfZz;AbsPKKAqhlo0pD2v_`3J%*zl!`<6v7X1Olv)zFsU*hkV`M z*U`rMQ@t_lObHbOl=1RYk-LCS>1)8i1MyxOsE|J2VP0;>GS@M%tozqsvwuz8B+qJA zXvQ>OX|BLeuj%ohG{3^X+wY7V=dJ!N>(gH{glBRdEgNnm=St9h+#h?la)wjICKt&& z)Z+lRoEwQ^9OU-a-A>q>+yq@FAD-S4KH(Di?B$khN;>&WKa9c05;#Um43P!6ztJO* zltIk!G{dBUU1Tx#Yu%V(3BlED(d^Ld(Hzk9G>1unD`W+3Xx1Tx8qt6f96<2890AIVmHAy454*{l0o&at#&1Up14#!)F!TBo!QOs>BeZbr9xGMLkT z*^Nia4Ax|w;L88stcsRK0><6~q0W?ksB>d+w<&EU6OC~@>3H#&YuR?PIhA%jCRW1s ztY*(isH0{?oj1eg3;q`C?X8+HtHhjoYK~^h$_5KMUBnRQu{CkK7LrJyk=~|q;8Dex lS@eESGmj}v@8#xL9BtECOgxTHWEa9cQZ73BADgy{{sLcZpq>B# delta 931 zcmZXT(MuFj6vn@McXxC*-PR<_l4_ZUEi~EP8QWc=RJ24y(o{s0!r7fI3B^)~URog# ziym5rK=(&dfbCb7!t;uIa&o z_uJ2lkMj2$#72I3SWG)YM0|r?K!X#OP0on8Ahrt2VpxV+zt`<-$3LCB_x#1=*n-nr zsPTRg5=)NIYJI2x1g}UqecJKVpak^Wz&fMXLp?BiV`A#c3^+D@%rWXi1K6Stxw>np zyOZ&wv!WTf0F}lWEKb4bPGCg-jv5||cTz)Gy4=Q^+>2eVrD0d)D@7~wm2#fU2$x~S zvx;vNzrxMmQS~1bci`UbM^5H=tJ0D}Egix$xrTOXw}B9D7F_^+ZEo%S!BwgAT+tzc zM)>}?0HSQIbWVr)m%ICqyF`~OmoBlNvU^Egc8fAuc3fU_KLJ}fKuYwG9?X(nJXCo% zBQPcXSmj%+AvM&K0h~}eMuw2WYL1~@nQp~?#Sz7E#R*d2I=LUW6eCFEsA$F>oIx{c zah^O3o76EyHe!Y}utJ{3Te1W1$sX*G11djCcHkOL)`||6*9-4l=_9apHP%RfQM=&~ zo;YFu5zqAH*}^IR=l}PpV^-xW%sQRbx^uNUv~Q9BL20~lbz44MCzhP2)sy*XWg!?G^YmKCBF0Be^YPr7 ygvG;D+T{C;W1QQ;WQBzcolTu#-r%ON(ZXw!R0&2C*~06ZeknH->fg#oD}Dh1)1~bI diff --git a/obj/Debug/net9.0/refint/dispenser_sapone.dll b/obj/Debug/net9.0/refint/dispenser_sapone.dll index a66b67713d69d2c4c23fc39fe061a175c8f628ee..363c42514c7c62588459010b4e717364b8c6d0fd 100644 GIT binary patch delta 939 zcmZXTPe>F|9LK-!xsI(mwwp+nV#yw?Tx{Igb)5cCq9GQdW@3^Mv%8TZ7HQBQu$71? z5K3M|T`K6JAXe-_=n{2^2oFZlG4kN4gB?3~=sT~~ReCU=-}n2z@6DU{W@a)v8GU#! zu-ex3czUW@e4d`|7uS^#b%lfNK((rsQ8ggC#8P%v^vlqlp*=;H4}CxR{I>aPB~W`I z8xE`ri8&>V^1^LJfZz;AbsPKKAqhlo0pD2v_`3J%*zl!`<6v7X1Olv)zFsU*hkV`M z*U`rMQ@t_lObHbOl=1RYk-LCS>1)8i1MyxOsE|J2VP0;>GS@M%tozqsvwuz8B+qJA zXvQ>OX|BLeuj%ohG{3^X+wY7V=dJ!N>(gH{glBRdEgNnm=St9h+#h?la)wjICKt&& z)Z+lRoEwQ^9OU-a-A>q>+yq@FAD-S4KH(Di?B$khN;>&WKa9c05;#Um43P!6ztJO* zltIk!G{dBUU1Tx#Yu%V(3BlED(d^Ld(Hzk9G>1unD`W+3Xx1Tx8qt6f96<2890AIVmHAy454*{l0o&at#&1Up14#!)F!TBo!QOs>BeZbr9xGMLkT z*^Nia4Ax|w;L88stcsRK0><6~q0W?ksB>d+w<&EU6OC~@>3H#&YuR?PIhA%jCRW1s ztY*(isH0{?oj1eg3;q`C?X8+HtHhjoYK~^h$_5KMUBnRQu{CkK7LrJyk=~|q;8Dex lS@eESGmj}v@8#xL9BtECOgxTHWEa9cQZ73BADgy{{sLcZpq>B# delta 931 zcmZXT(MuFj6vn@McXxC*-PR<_l4_ZUEi~EP8QWc=RJ24y(o{s0!r7fI3B^)~URog# ziym5rK=(&dfbCb7!t;uIa&o z_uJ2lkMj2$#72I3SWG)YM0|r?K!X#OP0on8Ahrt2VpxV+zt`<-$3LCB_x#1=*n-nr zsPTRg5=)NIYJI2x1g}UqecJKVpak^Wz&fMXLp?BiV`A#c3^+D@%rWXi1K6Stxw>np zyOZ&wv!WTf0F}lWEKb4bPGCg-jv5||cTz)Gy4=Q^+>2eVrD0d)D@7~wm2#fU2$x~S zvx;vNzrxMmQS~1bci`UbM^5H=tJ0D}Egix$xrTOXw}B9D7F_^+ZEo%S!BwgAT+tzc zM)>}?0HSQIbWVr)m%ICqyF`~OmoBlNvU^Egc8fAuc3fU_KLJ}fKuYwG9?X(nJXCo% zBQPcXSmj%+AvM&K0h~}eMuw2WYL1~@nQp~?#Sz7E#R*d2I=LUW6eCFEsA$F>oIx{c zah^O3o76EyHe!Y}utJ{3Te1W1$sX*G11djCcHkOL)`||6*9-4l=_9apHP%RfQM=&~ zo;YFu5zqAH*}^IR=l}PpV^-xW%sQRbx^uNUv~Q9BL20~lbz44MCzhP2)sy*XWg!?G^YmKCBF0Be^YPr7 ygvG;D+T{C;W1QQ;WQBzcolTu#-r%ON(ZXw!R0&2C*~06ZeknH->fg#oD}Dh1)1~bI