From 89b9cfd6b0ad2b6a5aceec6c4927e6da0595f22a Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 19 Oct 2021 12:33:39 +0200 Subject: [PATCH] Ancora update plan --- .../WebUserControls/mod_weekPlan.ascx.cs | 55 +++++++++++------- PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll | Bin 130048 -> 130048 bytes 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_weekPlan.ascx.cs b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_weekPlan.ascx.cs index 762c379..f9aa0a0 100644 --- a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_weekPlan.ascx.cs +++ b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_weekPlan.ascx.cs @@ -6,6 +6,7 @@ using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using ETS_Data; +using Newtonsoft.Json; using NLog; namespace PROJ_ETS.WebUserControls @@ -55,6 +56,8 @@ namespace PROJ_ETS.WebUserControls protected ETS_Data.Type.BazaarRes[,] TabellaRisorse; + protected string userLockTable = utils.obj.redHash("LOCK:UserLockTable"); + /// /// String x veto udpate tabella (ridisegno) /// @@ -353,6 +356,7 @@ namespace PROJ_ETS.WebUserControls } // metto prima riga con indicazione valori NUMERICI delle colonne setupRigaDip(false); + // ciclo nel mio array e creo di conseguenza le celle di tabella for (int pos_y = numComm - 1; pos_y >= 0; pos_y--) { @@ -431,6 +435,7 @@ namespace PROJ_ETS.WebUserControls cell = setupCellaComm(pos_y, riga, true); tblBlocco.Rows.Add(riga); } + // metto ultima riga con indicazione valori NUMERICI del totale ore x dipendente setupRigaDip(true); } @@ -470,6 +475,9 @@ namespace PROJ_ETS.WebUserControls IdxFaseSel = Convert.ToInt32(valori[1]); // blocco dip! DataProxy_ProjEts.DP.taTLB.lockDip(IdxDipSel, user_std.UtSn.NomeCognome); + // resetto in redis tabella + utils.obj.setRSV(userLockTable, "", 1); + // continuo rigaBaz = (Ds_ProjEts.BazaarRisorseRow)tabBaz.Select(string.Format("idxDipendente={0} AND idxFase={1}", IdxDipSel, IdxFaseSel))[0]; rigaDip = (Ds_ProjEts.DipendentiRow)tabDip.Select(string.Format("idxDipendente={0}", IdxDipSel))[0]; @@ -976,7 +984,31 @@ namespace PROJ_ETS.WebUserControls /// protected bool userIsLocked(int IdxDipendente) { - return DataProxy_ProjEts.DP.taTLB.getByDip(IdxDipendente).Rows.Count > 0; + bool answ = false; + Ds_ProjEts.TLockBazRADataTable tabDati = null; + // cerco in cache + var rawData = utils.obj.getRSV(userLockTable); + if (!string.IsNullOrEmpty(rawData)) + { + tabDati = JsonConvert.DeserializeObject(rawData); + } + // sennĂ² leggo da DB + else + { + tabDati = DataProxy_ProjEts.DP.taTLB.GetData(); + rawData = JsonConvert.SerializeObject(tabDati); + utils.obj.setRSV(userLockTable, rawData, 10); + } + + if (tabDati != null && tabDati.Count > 0) + { + answ = tabDati + .Where(x => x.idxDipendente == IdxDipendente) + .Count() > 0; + } + return answ; + //cerco il lock nella tab... + //return DataProxy_ProjEts.DP.taTLB.getByDip(IdxDipendente).Rows.Count > 0; } #endregion Protected Methods @@ -991,31 +1023,14 @@ namespace PROJ_ETS.WebUserControls string rawData = utils.obj.getRSV(vetoUpdate); if (string.IsNullOrEmpty(rawData)) { - TimeSpan ts; - stopWatch.Restart(); - setBtnStatus(); - stopWatch.Stop(); - ts = stopWatch.Elapsed; - lg.Info($"doUpdate: 01-setBtnStatus in {ts.TotalMilliseconds} ms"); - - stopWatch.Restart(); - caricaDatiBlocco(); - stopWatch.Stop(); - ts = stopWatch.Elapsed; - lg.Info($"doUpdate: 02-caricaDatiBlocco in {ts.TotalMilliseconds} ms"); - - stopWatch.Restart(); disegnaTabella(); - stopWatch.Stop(); - ts = stopWatch.Elapsed; - lg.Info($"doUpdate: 03-disegnaTabella in {ts.TotalMilliseconds} ms"); - // salvo veto ridisegno x 3 sec... - utils.obj.setRSV(vetoUpdate, $"LAST disegnaTabella in {ts.TotalMilliseconds} ms", 35); + // salvo veto ridisegno x 10 sec... + utils.obj.setRSV(vetoUpdate, $"VETO doUpdate", 5); } } diff --git a/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll b/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll index 59fde3fa9cef616caceb0a50e916066d13becc26..dcd6f984bf25f54896ac37f92624c747483cfc98 100644 GIT binary patch delta 34514 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 zaⅇisOu`Y`?d?-u{9pen@G)5^TYTukSug$XNxGA_kx^yM|yD3^5O|za)y65puy= zW2k+Pc#ct(?I+(lcvU1XXHDCO8NKDJqF5t`na~)8cvE{-JjbY-7pPaoIfZNsacaLR zhCISn@cnOGK2TLbIE5$l*G1$%SqOu0oZb{$R}fNJQZM#0QoXMi-zu4n?+b{Gm8@y| zBV52cqFAE>Y;d2LtI_p-VTk_42=_mFfbgz3rXf8**f0E7spd-%9q`J854|$@LoeA! zUb2t8WQWBlw&{ZBTi_e?Vv$C3ob3p1)eX`re^^X?R5ee#+F{YWme5{tzQ6)UMC58E z3&O}85s8dcWR7|@f7Gk_V_vdjqNA#3iwnm0UqACw{aj=`Mom=Piu}_|pNlaX4MTKX z)N0fw^EUel(fo0x**tTs{iGPrNDa(M!M|LBS5AMlvA`)Yb&b-boH-@-YJ@rCL}*`2 z!YXj#-HlUXfkuaMF*(CO3P!Tt*x$2Wj(#l;K0)==UGlHRw~VT6$>uuvMof58*(^bu z--!692)W?r$S`OW-8AZgrw!+KqTpXjxGKW}---D33Y|?Sw1AQ7(|6*WmL11FofCUE zD9uzfb58W$NT>>Wpxc+xDO>}86eU{rDR$y#F;ycv?EK;sTNzf{CMJ~Ge-TGCxI-6|Lbh>u+v$REX*2^hFNhUdldkxF6VGT_Bp$tf6R&HO zf+w%vg!7n&k3^=KeixC?aD%p|5d9(gD#WKdkfScj@cIDc3XSM$LC6Cd(T*pj|0ZRH zc07~prqS~#GvsuQ-a=%STb&95T{c_f1xD%yq(#~`lNohIZwaac=M!Tp(9-6E7KiWneaMq4EQb=%H<>{Faf*pfKsbjaLx=YbSPG+QTQZ$hZw2bZt#>jdlv(assrt&L|=r&AKY1yu9(j(kB>3MmdAd^wX z`yXA=H`Bpa7fUVVXss%`%W>n*e7 zSwFa{+EF>wu8KZA>N3{ zI2n}V)nJ}{j%BKeJh|*;s_24^IEJ0%UX5xHb&=m{6w=8BYAX*N5Rkc9z?Jvi_rjWCx-*o!`IsSD8??mAsuig)qRc|O6ZAXLUGmNTj z_LOAHQ2Dw>u_;ydq4EeL7nI?k4fC=xO#bUlvf_fFxatj)A2OQI(ChqmgoqMzkH3$Y(SfABq>8@~lR*0hLJq zda^l*nbldA1)r5crtuMW!Q8qLFtv)kk-jh3|(aGR{uh)zPc z%ax4y8V_!lYc-;^*g;PeJP>}9u&yagHGWYPeqwJ)T#RV-iSIVgx(J9F#U)P9o#wFK( zp)@bx(lT56pH^tU??Uq&xr>on*s5jd8Iq~xs#-d4(C~S@S6MB`E5tkATxtK3&G1Qg zuFTMg#&@pl%SesyTscT18sE8cBqKGT^CUEq6&KKe&XaN9DMSM^Po_IHq_LPUPkpb1 zG!zTvw?7b4`@w^<;75h1zYoe9MygMXF?^|%v@7QjJ`15K>)QCNCKH{U?Idr)6@0nS`oOkH}FPQJ)@>wF+^c9`RZ) z9+94J53KN#t?-hqk}>#n<6?WOEma>7!($P_{L^k*2+*qPJG3n zPuvRoTIu=T+Y_=MtImc9SZ$~8K;!L~Zun~)VD3WYaj`^OwnRwaWBjg#iD&D;>I){uO-Zr5;=%_>cUn-MyOgpKapx&wp0>|EPoS|MB>}pK@gY z|F1ZI-94vj{;!q(_d3_K;N;$4Q+!pP|6e=G`F|~=|C5CB&J|_B)Bf;euYq>{FQ?zt z4P5Q?UvV)1J;k1$dh)L>duslj^3@iY$9!Agh4? zb*Qg)2qQ}Qf30Tz4&M|(4jnaUMCsk>Yg-%56Hl`KWmo=V{$I<9E~(VmZ0nUxUN-%o zW)@q%xc+-Kb1l=JI;xqgn^$!`H9gB$JLmKi|F`9<%>`%DKpf7XsPrtNazx>uM`#&F zPQr)y{w1m^L)U6vjq$al|2sbB|DPS9Jbk~qmw(OquN?ZT{J&N+|5XE*qWkC8{^t4T zeV$<1IW$oU*wqJ_*CYQj5>AgZyk}#|302wCq5rn*Y4gv@f4Tnubz^^K?#jNZox)R7*}TO0 ztNd5niRW&8soLL5E_g5aN{2ixe2U8y=0AOS=jx$0l+}Z-IyiV%{y!>v=l|a^dOVGs zn}{xYJMCHbiXdO1={c;|JpXu_`#a^p9^}>`TqjIW8%EA4dKPzqYdhNdTKWHXn*1?} zOe=aVeI=cWCj$xlvPs`NHk|+0^4-&@cQrEfcWQZB_|r1w|J!k7?pm~C7w%I^FHPbq#{`}J${`}J$i@8=POepLIq4pc9F_&n03(YujO3@Jt0$E1wD0(+njKG_n2GEO@@ia z@y_GKM5D52nGnVbbV3+=<94GyX$m8^%M`RwgQJ_my>}Tj(({a`f~Jd1VYO9><;Ke5 z`GPphL?P=q3&s4PI#FkQm;a2wU&?D%hd~>X^SnqfwkPez9#hZ~j0Y2UBdtr?jr<9T z{Y5YFJiZIC!)S*65XNwPd!&~j&GRrf8edK|mSD_iAl^coDz00zEg0Q{*`JFP!;*hKoI#hxA7=O>9W{4f&5pk?LOj?(am=rYYsh>sUTyJeO<8 z2IIS2U%8lTr3f`xMXCM8Y2%z|A{&kGP4P%;Of6(Kb}3VyHx_sAAbn&}YLOIXdRo?K zIKMXalRoB869>pQP%uI|%=D&nqhXJ~Lq?fzj=f9nFcqcVE8j3Zirs)JiPJ8U1lk%$;_lPHVg?m}366us8BM+Ogk4~y1;;q3M# zDorokfJSd9+9eCkLvsEtdzqoz8!|@}rM@fk(f6Y$^-n!1GmUHv^-yzd&}eKdx64`N ztj{$}CFY`3U(+T|s~zIz2!|;}ETeCfh=cyorXAverv1exY!Z`NH18RP6jKkzn)jHT z@up1Uxz=^a8WA3bp;qRa6f{Q@+pTFPd?JfEF-`Q1%0$j={MO1ubDz`>rW`X(SAhxD z$utq0FEC9**Ks*APNwuX?GX#{0V_?~!T3UZsNZgAG+vXVOfK`_>CRV3> zYkEWM?evqW0psx-O4Ez*dktbhgauzQcp$sC?52}0#1dvq6mMb2`pYGSrO-$7$Mo!B z_&6mk2#d{uogOtDSl(%zHkPKpj1_iZh115Z!TXH_V?2%@l@A)zL=Rjc8jYT&S7I;SHm%2;a2 zwD?6lV#&dU0k#|+nP! zcTTx=JnSl*ZCz|W++{A7DV2ufH{5#5QJRv@WY#H>iP-NF*#})Lk>f*q%gI{bYRg22 zic+7pmSFSStfPQ9dt@rSWjzm5qxT~n6TK2=+(X7e>pV-_q$5^m39s9Y#=nY9w&fOc zlFhc-LSZ~F4O|Bk4EnVS+Ad>In%*_ZM(H_DY%*wCmI%scm-*(XTpQ**CTX3eWnO`8 zlO>`67aTdVrGOolpq>M5J1h|)!)$vjH?|sSOE6YhDbKdYZjk4la5AnAfB%n`l=EQ0 zh2lIsjt`?YnZLxmea~Wvy~DQ2e1FIBw)ZUK!l^tB%ZC=?U8={@&~!o>_ZjndLRx9=SRGU8G-jrE+ov(f6W=I{%&Vnr(-y$v8}vdwz=L zUZIDPzU7b8OjKYm8^yvLj07%3xbGRX(w#PL3b}y#cX!6-MemlMB7HO+>l!p^-{6KP zimpAvd`@FN6_^^~LW&)~_%s@Cq}BMGx7?Jp0_m`>D|~!#bK2k z;*(;E?-Jwduu?KQtd#AUeEQ2_IvpYk5`7a)Q#w=Ko!CqX?`#RCe`FD-CGMFCrtk2( zl_g?xvouqQSXYRLPf?Pe>KkRX+A^HJIVL`0SffH$%1qPX{0_b;DCmSuT5a8Y8;uv_ z0N+e&?<`t&?lFe=F1NfFey4AvyaQMA67fI_J3e2f$=L{Tc&upTAfK0W@syWot@N8{ zUT$eX{Y-0d7L|)J!IxX+7<e(sL>X-dNH?@zS! z!TH+DVh#%Q6DAYQb<;|}P`^S`eNMC=&5P!K2}UXJ{Y#6-i5%;gF1dc0);^Y=emT}5 zUHbankmlAiQCk526H z8;j1p)&V$&EAgX z^sX=X4~M2b4){lzhuFXOUxJI6DPRRJP;Z!MXc~?DHf;jNT8G%P1J&K}}81NSg%q@c=`Olz6$W;#+5zeH2&K_!=6ni8j$%d0gd&TcO6 z(UdsxCbCn&bR^SCrp_Xtf8xK>P~`JCv_twY>{*e|7F506hbqiwTH?=6_>&{K5Gk!@u$s$zxV(qU4P0*EvanMH zVJH0rE+=rgkjsT!F5z+smt929VCno zJd(?mOh+~$ekD_A%0`)1GOc9_am;608BgU}rn{LQBkBxnV9*fH-X(AarX!hFGOcC0 zn`vPp=@cfC{%$TGW9n)~d{;B#ujcYkE?`=cMdgw# z;_v42F{aRw`0-44=Ti9?Q^;dJ)7@Q}&osU#l?#|wGOcC0o9VHhoc~bFm6=xdqH?XG z{i(d0X~6(0k7Qaon01&I3}rskV>j%?nu)BW!E6aJC@Y5tx4`}$A!U+BNY|26-^{^0?A1DpXnYhLOj@|+JP-GVRN zyux4cot#PKv>c*wZHYc#K=jv8qLJZ5ziauQIiC7w{4UoW#MX9nAx?=u(M^$&SDM=& zMx0-27Wc&q`l;R4*>UsfvH@wUR-2JN6TBVi4;_g%DI)q}!cL^$Gws9lr##}MrIB=a zGSRa^L~rRvv>DUXR4Vt0Ci=NQ(Z1nC`!P)qqw=dxgFa?Py@YgD9F@Q9L8hO`qViV- z#6Qx5%B#A+jP!64m3OnblxULfYfID=K~y#Nlq3tTVxqH{HWX3$Gp0XfQTb=4MzE8> zhh2!qSc!HnB&z!N-!@|eQ(fi6zgm(*c_!kVYDe_DY@$DNc}EU)W0z&86F>f|3jYIr zOC~jDScvX36Lq&GO6}qe<-hjS%tKJ_N4}%KNIebZ#uMk3crs^Wx{pl{OCoB@LK z!yWM&az16cH2z&IZ%F;vjt|tcvlPyuQXHe+E%tRmJhSlf};BvEI;%8;j zzewPznQo@K^Aj48x+1CEDudkebWTOuGo76(eHMn1(S($rkSfy?LaDN9K)H1rHy@i! znk#s8m5a)#a@5ly#lMnc!xNnZJN~=(68|T*-``(6YH{A^*WmYye?UN9K(~Oq1EvJj z1#Av5D(NYJ2|C-(m~p=1Uo(7Mf&ahsw>#iBd>-x1dn4ext9bhZn&Ultx-akfmv>nY zvw;6T4v6kV1^zL6#e$Cm9&e?1V5cB1Y)=x}@?ft$mP4SyAr}(jUe&^dqjOaFY(uDCP(~8EIOq$doYeWX* z-!o}+d9O)*%5J}F^r+6ajTn)!eeO_kS{OaCNIukd0JGVSBf`1peb3gU5{C z{!J;~j11^E`rgT9rIX6;nB2Per0qF##Q=NUfYIe+OU94AZ}j!IjT?RYWau^;YhUJU zpSMhGlYYHQkvkcBPbw?j-uIuP*0TM})#9BF1x;?ke{5kO{tQbzjKW`;9|RNdvjir? zXn+=dkY9wC0=dYagq(7`jaP=hQ;$CmhB~*wco@C?;9-$wwwF$R-M^i*_S{x)IX*RF zQ)*4C!9$3&c*Wv*FtOe9%-%<&LBE1>3uW1?Mv zgFzV6sG2{Hi7abu@GSa&O-_S|aken*usKmw-Qak~r_-Wy%sfoUVAo=s zjSWA*(XM=f!P1)kXGFAEUNioTs10B_+RYboh4k+8#olt`|% zWWlwTGBCymL$Ml_>SUB%NFA5UAFE|kkX)(Gu*yJLQ~ae!%iX40QUboiz~D@M*1>{=e|T8Sm@=BAoYz7z|sbsX{yHRWeT zuJaR|hz)4?1pc4rM6m0VKpMSG#Po@$iQ9k^7gm%A?vmU2R&hYuaGl=DbT)rd_Nu&7;Z>y2|-r*Ll^_4jS1PxVaxL)jfZ) z?)jQoUx^eSTgHa#Pi}r<<5%1N^_6&1I5zlNC`7bf;@JbkSabU~;(`^e(D-a0@vVqA zrQg4zw1n1f+M!}_rT-cKHMXC>7jWZ%ZUf#5e*MRR-46D6c02w{KK8;%+t+_DY$7-x q|LwMme>YJ%esMy$EDotTdQQB%J@7~Ii%E{j+V1#8d?OZTSpOe9mN)eP delta 34394 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 A=>Px#