From a70492168a54dc4170520d772efd272829be1189 Mon Sep 17 00:00:00 2001 From: Nastya_Kozlova Date: Sat, 15 Jun 2024 20:22:17 +0400 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BB=D0=B8=D1=8F=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PrecastConcretePlantContracts.dll | Bin 0 -> 32768 bytes .../PrecastConcretePlantDataModels.dll | Bin 0 -> 7168 bytes .../PrecastConcretePlantDatabaseImplement.dll | Bin 0 -> 85504 bytes .../PrecastConcretePlantFileImplement.dll | Bin 0 -> 41984 bytes .../PrecastConcretePlantListImplement.dll | Bin 0 -> 27136 bytes .../FormMain.Designer.cs | 218 +++++++++++------- .../PrecastConcretePlantView/FormMain.cs | 174 ++++++++++---- .../PrecastConcretePlantView/FormMain.resx | 3 - .../PrecastConcretePlantView/Program.cs | 11 + 9 files changed, 282 insertions(+), 124 deletions(-) create mode 100644 PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantContracts.dll create mode 100644 PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantDataModels.dll create mode 100644 PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantDatabaseImplement.dll create mode 100644 PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantFileImplement.dll create mode 100644 PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantListImplement.dll diff --git a/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantContracts.dll b/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantContracts.dll new file mode 100644 index 0000000000000000000000000000000000000000..ab6a080bb5fe1dee910565d95a71b650da40426c GIT binary patch literal 32768 zcmeHw34B!bx%PX`teGs#OhQP)HX(q4Km-B^2$+xrh_XZiVhb%9k|B&HnK&~6qoNZ* zDq5@7-KtFlZLzf?u61i7RB;ckU0gzOsrPoF?ftaXR=?+c&;Oj6km&XHe)o5Ozx&ElI1R< zIaVaf$d?|X3|t<*hG;eGU-c8PvMwRq(3hr!EsclHjYFT(4uDO{s`3p@J^`Zo(r7H& z08R4N1;L5$x%j4h%F$e<(NJ>)j+|G{v(&+btRz3>M2nJ|A-PqpbKZ1v(6SSWnj49< z;~l@EK29(85qW6xMkVMYt|&!x6LM|0Y(u2>$qP+`ZII6GIeCnJK02g*@;KeLO#~2V z7=sW2gu^660D)>TJVdxtztE3dY-4vNvZE5&MK8{lY$B-33@QQ$bU7m~5kRDwga|8C zG;B?Y#$!5(fKcfsAp!`rjS;U1ATmut1Q1y!A;NhoAr7xZ4w;hXFwFiK?al)UCbl|~f-(T*?) z5kTabga{z=O+o|^1tuW^h><2C0*Fy2Ap(feCLscdF(x4bh_NOi0*HV~hybF{Bt!r) z&Ll+0o~F}cH9l0?xdck&tSXT+sYK3=K71RepckXkJli<#lv*;?pAsV`EW=*}L@>=HL;x|}Bt!r)!z7fD zoD0fKiwJO?X%b3Ey3R5!BEWUFNr(XAB$H4=GVC1FA_83JnuHRPuJcTb2yi{wBt!r) z-y}o;vA`rm0I|>{L;!J$Nhl$iT)Alx0j?D$p#CjD<>E zH6kBf2+5xFndWg$nL-y;Z&Kun)bR?w;au6=T?V=uIPBW(lQD zCJob!PPsHB-{d~@u zE%Nw46`mz2R>TH%hT$BsL7Q9}!+hvTaHc1x6c(e|vkikC>lo?hvtTR6u=Y$u;W=;U zr@Wu?kqw3RDwkqAVw^}NS*DJ~2)drLt(s%{;&9I6!eNCvE*!cv?|poTnd34lJDYSP zZ^Z%5E*q4+7>ia(dI`CVwzAQ`AUty8qa081GpM6z2kLM{@i>G_Cs%PA+#}DlSN^eGPVc|6Dv z`J5xp%y#;mKF4>$r(Ezkwy^F9+Q2jKbjZ@H+!4$y=vB__j1ux?AQwiTDx?SBF#D8^ zB8UsMjXs6x#S_C^;_;NEku!ox1SvVE%yLFA;i`$C#yuDAK$T9II%495+aY}BY|zLV z!(`%_kYGzOvR0D&nTFD)yQV(koNCJ{LH;p?c%ly>l44959^}TI+Osfgc(yG;=*gSV zSS;9zF>!cem?Jz9%nMc@L*|lwY`AhR#_%X9&H$jJp#w+^28rDT$jQ<_za(tdP+^Cq zgvIPj=z-kVID5qynkBs3EAf<&llN^)IrqG86T#dkv63=h*O*QsAk?WQAp(fgOhN<@ z%S=K9b92Y;YLQ__C9+FOYRk=_A|S36CLscdl_nvAnQ6ABL{n=ziGWb2n}i4;R+)qd zAnHs)1Q4rDLIiVRq$ErjQo|3h7P^FjpnK=B1c zMHdqF<64W2Ls4Bk8g6YuwGd6iDEl3*MQiG46vn5Qjhkva{uEfV=Fwz(7V|)M>^?eUQThBk&@@l|jy>2ZcEUIFX+9bJ#H>InKv?k7H#%$Gy()#LXGb=MUX%U78~$%4r?p zqzi-pNt@c3W-+hHnb+u zHYlw{wE0SliB_Pr4$(@LwoNpb(zZ)_f62NXWjK*`iRKu_S{Z#;v^T{zi*69@e$nR8 zZK6FV+C17V+HInh(>~GGXWv3KXuk&}y_=yCRnz05W%&%PS3K_#&uThAov7>k{Tyxy z9TMBKVp~GbO1SyjLDa-jdP%hHO6wEtDy6+9TD{VKCE8@Ay(3zU(vFChue1+D>r&e9 zM7v>xk=~yqFHdG}LA@-cKZ~|8i?tg1KccmZwwyi_?Nrff$)Rz7IVR!OkXJO9*w)c# z(E_4QBboLdTBVA z8rlwRB4rFeNuNk*nJ4QSU9B$!Zqadqq(^Zw)o6r`(cp`P`JuDI@;pO44WCUm4m;Pu zX!sux>p%1=Fc}iI$aNZIyOZP0#A(X(yhGA`P}2HGN*-R8P;W~NMq2Zo9DkaF^YD^m zC2)zI;~ed*0~+ZX@vOA5&tAtmi#I$C>jw@_-H69v>LlhX9A}9?=Xt1lVBV;Qt5b4i z)PPY^qtu4gV2u3#(at$M)4}+X<6NNO!>JciYj#5SQD^oJeL8)XcPXsL{Fm#6wAXhP z@GsfdF_Y33L*f^Gnc71Aj6_NPt-wML<5oZ8 z_XQofEbkEcqv0$^ytnGJ=}Nj?&qcrZfnFQnnSW>ADy*Lxea+GyMha0&dz@3XG`4+L zwD;4V*A76t*|51^!4TAFx3c{nvzSglQnpVq{&l)v+48-e_+95QWh?S}v5Nd$*(zL} znw?%ywiPZfR-4xiP4ej=bR>L?)E(p&ZKtG;qrbAfm)42(GGEy~PV-_t9j9#b3ZB+o zG+Egy3!Z~kW@wUvo0cdWm(NWrmB!_B)0v{ZpY}A$mqzu<_A8Vxjl#;tW$@5B%Eo2z z(0R(%=Q^OL)5Xem)TQA@!{y3$g71KyLDwkTTpwl>y2a2WXPNY<^5mRl(gEekIm@Ky zmF@3ZrLHTJ&ii^(nrenI_k_zpDWwZf+HBY zu5n!RJKg_Q@IEwbY@{7L`JI}d@{}z%-%EZfRJMZ!omw_cQnnWgyp&Bd3{6UuLruz) zOO!(q<;f+=p>vh(SFjDIgtGlBY{O}n(rS?FT)J9m>yhhRx><#ruOHAy(Cwxt`sxV! zkJ_jsSyN0VE$o$iOc&q4DkTW{X)^f8pLY|rQY z3EDViTjn{UkEO}Vw$AfDv@&H|m;bRIpp%uYC7)~osxmaG`9iv0d2-Dc(rwCbQT1uyPkvgjIwRb^Vr7IVP(52ufR5eer0Hq`b7Gh zvT^DYNgK~KVT|I5Wc&oY)6L~Of&9wGZs03MJI8G)|#}E>zlGXw50KQ)xd%YfhmnmG-r~ z65CX|L1~-w=GjWA%g`i+6S=7PJmr{CaH=h-ZF8-$O*2feO)OY%n_+3W1)EZ|+We@k z%(5NI@38Tijz3R1sy!XHlMDq~Cp0-?ifv*+r|o3RmRoRnidLI{gKfTLJCuK$ZK0)A zdv3FpTUsZyMV2I-zZ(pQ%3a zyw;~T($h+NMf(M`KBe)z6rx`!jpwBh9Z?#uo15rErSZDCiTbXta+JoYZ>G^o<8?Dk6O_j5W|&G1P5SOxbds`hEN9UvO5<40qNPgX zdGKtiRT|HOXVce|#`$cfpwc*>&2*NbNeV3#Q#M|!T8MwkDx-< zHLjJeGc<`MLboX!=QBcgDvk3Qp?j3ZDYVf;O5+sTs7Gl$&!0nwl*aS?IdoWQ*LgqI zqx4Iq-Hz=`lzyYMVg8Tx82yXV3jAb?(O;C-n>WuMr%#pkd|o9q`^01$wNs{{NgK7( zaHVms+i8r_cwX8<6P3pE(iS?=(4_2JX^v=}N~;y^diVXV<@T+#&(P?Bf>qGoF~ZU6 z%rl_Ia zr?8zxe4cWw@OPwWnV7G47$(@NFkkPqv<6SYeyOEZL)&F(ozO0`v`oyx6c-rDbAH{;s7}VNSl*(i%M9v0ra#)zEIRv`%O@T3RM%;hQY2 z!E>GcdzO}onf4Y-tHMlso2AXpzQx{UX*XxyV(+%JMX=p&X)B=ZwzN#lw0kVA3N!7U zme%0eZU3RARYTirX`RsSvb4QG{Q}`)OQ5vW4Q<^23aXxy4 z7APC90gupPW#ckDN-LC&%kU_zRW?2!Jw_Xpjn7Aq(Pm}i^U>qfrfhsZdYn28O>*`G z-KcB_QG-uVm(pHF4L(78m9`G4|BUWcS~F7r89k!3Mx0lA=t-q*#d)QNo>STf*z@($ zD@ywWd%j+JQ)$Z(?n!!AX=ftblk|I~y@YTF=>I6~*9dojJ~K4Q^+76|V$}7X5uMsW zI$3G=kMPn#s!|%CvVKm>l*Xs5pVJzpU4zu0qHiee7Nq_ZZ89`T;c2=`wD;3^-F%vE zRGz$UK26=q#;f5W+N*558Xltk%Eo8IXXp`Sy~|DL1wl#S1n&(rUfjn9Y<$jnjSeas zpW|Mq=ar4maj(;Bh9))f1|3tLTxW04UzI1<*&C#l8YSXA!!IaJw4H9=GyH=5%Esro zUs8dx@j337RHSTtj{6mrC>x*SeoZqCO;Uf8>Xhwbr0^!KQ`(hC;Z15(8t<3hqGqM> ze(5c0R~qk^-X?x>i)S0&FTG7W4NX#bhiDh4e7m0?we4r9vxG*MCJkgefq1iU6!fQ`=rSsY^VFhjNjNlpfu4s-A6Ni3(c== zw`7dfeoF<)_LGda?7yWV(TrWthjgOhDY^cT=7_c(cYgk8{}5%<=sOwzvyfZtKVG8L zP=;(Wku;7in}6Dr&sUefx@T(4{}rMBE8m z73RxY*{H)*Of7Y)oa*!CHUH(F|Ix7jod4iF;4Zty&nvD0{&%$IfB%eRw&qYd;XXDm z&Fj^v3;oST*JgUXcKU0E*Xy93uP~S1UErYQ_;vbp-249qzNh2Y=^*alhwwceck9o= z_jJt99r&J3qj4W%EWVQwW-{~=gek#w3c~Pj&L={ihA`7`osKZmaZRIDIU1gY;NMU3 zfgapvT$SU6jd8AEg4IMq3<`z?&jI3z0pM_)C06B(q%>_+P9aiZzC&9waxzY> zEdP@3D42>n<1CL7#4jm1YjBpBk-wgHAr#UDI_YYhmGS$xcFcDv@T7dkW4`Z-{9W3s z{n~#!-K*_&{fK(CXL4Sp!`is~w`n{L&-oN(zAQgOtI^K)`hYLzGVM>=Wd&okziA6RPQ;Tla*=krAIVv!%|t$f+F|XTf+kJV zZ^63Vp?#cpi58T6rs)ly%e8!cRnARdj(NMZx%!fkd$kJvAHD~H6FrRo@EsJH@!E{H z5KpuO8N|Vn(%dk>u3gIXaH8?UYJ*}M4$8O)e?UV;{Ss)D14C4rxnfyksHLP z0ng!F;0%dp7@pa#PO)~1=XQ~Km*Lg7!*jRu67k#x&vI9nSi2Q+%)4>_ekqX4b%)?y zDcyaL7dd;xvsWSe9}xco;`wvIXW+ly)h|9r6td@0@jNO%?+Jbg&#PU8JAqzZQ^=k+ zjq_l`Z$|rdhhUnyAtBlsgOOli|2OnxkPXmJV&^@#iv_ipWWhfhgkQ*`nK~v z$f!^8=~c*{2gLK|;`xkt_KWq1LiRZ-KJSUohvGxJ)S*K5vFTig4xQ^TP2cZ1#T^i9 zp+fd45}yg;GYLK+cNt{VoA^{HWY0?RtQOB2cwXkN7i&-<`!tA8NPNQZ`LVlGterYr zx5K&!$oaWMa2I@@a(9VOw?g*ZEuOo@XD@u-cJ_$1S0Vcx5T66$^9+3Y-Th)cqL6)# ziqBE;c~9^|iH&ShR|?tFVUt?2?e~1<4hUbUkgY{F&UumeOoGqb&T_FA|FV>(!_Gu8GFswys3E?{xvUL~unzSxqx)n0NTSD!YnD@e`C9OxSy$adq8Svjq zJ0i>x8#6~G)KLlbA*{R8$S$Q;$UZhZ=Q+*3-}8K0K=?w1Y%LP&Bv?^i;VTrfwNk7# zu>LKrUihFwwl;`03~Mp&R&u(X3fa0{tUK%lwAQ&xA*a$MKHUo0bGLZz5uYC6dqwV5 zGW#45pMGJEC}jSq@Z^wED`ej0;8F*KDOAXOk?=(hZozWlD-^P|QmmC?trtG1kgW}3 zZ4hfh_)djv-7ePcV%_D~P7Tgo4la9__;f2|&)wp=TRiuO=N|Fw6}eZ*T%ukF`yUYh z1LA*Bd=83Fzr=Y&A$uMb&!gh`E__~bl2d9%A^X^!JoW>^6e?uC$jLQU1S@Jr_zHz= ztrTmeSnGukDr9SeSR2IJ;Ed6;&PGWkAwHc7*|SUJZiUS37I}~O_lVr9kgfe9A5qB6 zyW&YMDVIX#10okHWM;feW;tOh6f$2ga!?^N36VP$GP6U%b_vt1kog{wdlfQsP(1sE zIiiqxa!U>sGGlj3%?negkoj_vtHfF_a!}-i$X$Zn!t4?35vE`8U12Cq(o)EA7K&V$ z#`5?ysRv;y6f$2ga!?^NjpCUQrc)vFT_SfYWTr>tUWLpYl(7B698t(Tc_eQNnX!AM z9)u}W$b5y!6&{xBMGh)trcpvAgy~ese3!`G3Ypm>o;||!DrCN2?9 z`GClU3Yi(7E_EnOg+k`*MGh)tCLwaCLS}YI*luCE)0ycJxmO`G2gRpfm?H|ArwqxP zLT2n4QhUM_DrCM~~KYFd?`jhvVrIxkvC|j)W4KhD#{Ha>07RgkYCok09lWr(n5Yy&&cD z9w`7^>ZAgey9CQevRpNiTdh&BUzors=KBT9$8enWf?a|=g8hOtR#Fr!7pxad2=)l} z3sOKl1b2_g5`qs zf?a|=g8hOtUOWZM1rvf@f<1!$f;2%q1H1?vS9 zg8hP2B0hrUg7tz4!7jlb!G1xS!v4!~UuFm0f?r1GX)kO14uTW+dR(}-N&jy6tOfztIs7&4ltSQipBQ zj^|6AejR^AY%pO{TZh^_^-FvWQ5pA#~9(!;s)v%C%8d_k>Y}!4vn8UPJ^5UO~V^u z>5#n`Pkfg%6S5y1?qdUWj3*!DT%e9Il?^!$sAF95TR#Or9rwvbKpq9uafdY@GM;6H z9Ds$NGaU(e94s0Y0d?Ge91D2@P^XEoYjgro$FrS9kS76kjME8_OMv`N{Rxn#0(Fel zNsy-jb&S^%$TNUC#_UwcGl4qZedD)|W&?G+88#jA9H5SSwPld!0d?HNn+173P^Sg( z(lAe)1o;$rX_znOLau<9hB@P8$d&NYs0yf4HM}(Z#g9`UFM*dvOMyCOluF2_0d-mi zFAaB@t0Av|mxj4!3FKP5t)k(sat-7<_-gp8LZ?Aq17D5K0P3_BzIeX^sN*fP(;==`#_z#Fn?-zrziq>H}0n6tp=b@ci`ToMt1^r`T^eO(ddUjo%YgJ$aewpE&=X` zYxHBFPIu$(r$#>k>Uhs;8{~U|I_;;6Am0bn@w7`PuorIt>GWs11pHrsI^IgKz0K$zO{U+V>!50CmdLZiSo$#Q4&_57`IA_|m!|X9IQ0(RM=~4#Z!% z(C&ad0;p4-_5;ZIK%EM-y^u!&F}}1PK^_CtX{>fPH;i1CFdgD}2;7+=~?Ax{PBRElSIG&&Ke(=_dI$kTxsUwE1Z;|qxK zrS(Fd4aE4;4nUp*#Q4IqD;Qruj4wQag7F2!_`*{q7+*k)FYP(VUMY4%G3M*e@a10(ClF`!(cMK#VW# zEy$~Z7*pCikk15SOle0Te;tT1r5%O59;nkd@H~M=-vsKkLHhu5J@5p~Fy-`bX#KUC zJ;A@>rG6&k#ad?yaZK~$x6O_{MK^1RbpMAFYz&F`s(^R$;&Lv`Gg(V za~KW$)^JQq)9`*AuIZw;L+ALm%GFNWlzp4BU!?4K-$wi|SN6-5{R(BjQrT}(_M4Rb zd&+(*t`}%cbRnJ`PT)Hiv)0M@F2J+Hr{G(O?-Du&=6tQ4_Gw!ob+8708@}!IhISFI zHq@jG-*kM3nYB89;oJ=yrf--=^H)bZmW1LpEp5%AmQZUv7!OBUtIv&xT4NAmizCgA zq3FVmhVzQ{=H}qW=1~1~s;O>mZwW<}R?)!0Qs{Uj3T;_97RP0Aduv1e3_2s&+#Xup zj)b68g(XNZ+5rW*q4~=rjqS~$g;X02H3Vbv%1CQNG!zfjHV0c-iARGC@mOh94b^qT z;-Qw(nw8WPif^!T9*Qmo6&p;kS7mb;g)<$J+G;F2TR2}EHXs)bRI@4+Zrv1#HiR0N zMVi7OmWN`oU{k0DtYQ`g8_r(Srj(UY)Q=%Yl44Ctt_)+?tYFi-#>j+vhqhV$a%gi^FdnLmhJb_1P!n4d3stnoBX!~P zhA=OQh8xcahqivP$J%gXeDmOVt6R_%gK48tzre`(TpW$G3=US;J_N~)%>%J@u>a}p z!RGL$aD&W~gUy`K>d0W8W2|UwjAAkwY_uwQ2wSqrzs#!+^LG0Xp=EaZB4b_q#Ln_Utp_^wAErh8yr_%OT5i!xuNZqk=PKS5Z%%t4aw++ zwy(yYDjl4OMUlpi!7SH8Rj4_Q{6~;SY0C&wLFYAOseK`W-`g$0@YN7V{MTb?;NB| zY7&$ToAMT8Vx(2*Y2lU-SJ%>DYa>Fa%HzSTm~gBPD-29^!7ZWWaEYysp!khEC5lDL z0J64mlf@;yt--ZAQhjbis99XNR%IrZyctrQXJ*Ma&xj%acmb`l13xcU>@7I_LkP9 zpP4AP`x&7q@3sdUdDj_jk+mk+{DofF9ZS=QUosNeYF8WEdT#z$(qz=K_^%2z2hSBL z#cpPz{tcy>sps+v}w zy{U?4v9nWWYFRbNIE3(&wN~Gi{l~yZMN`%}c<;<1p zmU`YZ(yfscl$;W|VvKkV#X6~}h)owWAwy5L5$}Hu&OFSZA(EsdoK#cNPLf9TiDxXy z8ktJ!hF3CStLRCW7G9&IW6B;{I;J7XIwI%iq{T?U(7*h^-q_qsnB$t&D5GVOU?Z>I zR1?FT5pHVbiCYLxhgS|!conr2wqT#0U<^^zxj+7L5# ze<_sFTUWM8Y8BBY+=gk5^SsO(7lSqOBok`8;nvt_Y?9*0p}DLl8MEeBN2GvU?+|%q zGBU~Y1JxK)j>uJE+@!&d5ygSUSosaJIhigCx1K{*VV7fl4MnlI^BTAmvn&+eMl=UI zLXDN7=H{4@d1b0-ZXQgk%E6Mf1$$TAbCFogIx}fn)E;hbJkHmuM$4;4bpr85X1>Z@ zFjY<&Yp9&oaBQ<7V>2VC1XDBHdU>!F8cBsXqJ(%jpXR&0z(Yw)e_l&+BCnH*}? ziL2@AXi94cO{f>zlf5WUX+f{^iT=qV^c( zlUNMZieYE+!W)n5)ZdF#BmbF9hf*(pBs+z zHez)&h+jsq;$o%>HmcK=Or6F-OCsb2)avLG?Lda}SsRRUEG$;GN0Tz&TvPSN65Eq^ z*2Iva;s#JCYB;G|Y~o?c95{JPjPJ0C`8bLT!oSpTDKMF0S-_7UrjC7uDa%#zi@987 z5dt&nhMbu=-+U83nUYYvsXLBZ9@!FF5yC$p#L@8WIf+9AW>!SD;@=3Wh(?1Q*iD4v z$>Apf_|BaK5WzfyQbj9%2t#PDb#rkRw*iFg0r0C4epkXyhD)y+!dzfFDAKl}`W(LF z8}BgAeG)Bh(nX?7RkySO<;TD=_C@vzd!^ta`wU1cAO~okeW886{S@E=`z(AH*-ryI z(|)pjC9Wsgr`gNwZ!F*6`l;5#3oDiC6peJ(5#)k#&chd zc+#txXnGBvS!jb4!Zn0n{^EERB97-9B9N<5jd5XPiir`Gt;f?F|G_X+@ciF)-yi>^ z{DD35?mTe)-jm55&@{I#K$-)B&&O((h!uis7)NK}@4)HKEIjAqYsnn$-=@2V`x2eH z{~PX%;r_%fO|&ex%VpO`>Hf|58`;_@uWlzz8|856{x;p|K@4LwyGI*?M|^aD;syMV zpjT`D#C0~8rl;YxErU(NpKLWG1Vtz}LA?o#8-_9DPrNnOmFaIAorU1tT2_`namQ$X z;tDsuIw$3COC#IptgI|w;yoXN!0q=4r!F>+mgN*VD=olex0X#zASyHvWKQmmEN6f? zR#XgL(gSmaFYza5Kts;2fX66YTrQhGu~*N+D}AUix-Q8|PVVOVba)W&UZjxaARYP5L^_=uP$~t9vFZ*0eg4kjPQ0KxdJJ)(&iqWg zG$^!hv}ni|JBem@p|s*QAp@zR#)O}MM39Pm-zgg|^1bGn=f3-=9djnV^^K8FXsH~xLs#p-Oj(++wm$R+4*q-JHIclp;>Lt(GDH2ggM>1Gt=oD?hB(6 zIejhow!1|2wQxPB^ps4l1+Db>}F%6Yb1!E5p6IQ@1;Pi9S|d^>AQS zq4N7Z_fv=TO$Ta_J8&jbnJzRcX9o3#UI_t>>T8j%+`?kJi0y8}&DWBq{Cq9LxI3ie z*UOevB1`&TCGkU}7s8Zh zIpz6RvlA}tl;=_!Ey=PU9`7@&0;t z!iAm2`x8BuQ?cb#>~CZzT-d4DpEzh%VY^j@?dUQ7%@_|Ff^mVRBRi(yg-qQs4SzJ5 z5zl9^TN`3SCGEil!{mp?<;TWlpK*E2xbzs8gI1=dWtg=&#h*9?E8;nnhGFJUeA}P6 z))R1OS-KlNN9P`a0Z5S9&A9NWv=yVv6jK(ynXY1^$JmR}Q5f3Y27@jEVL%UHJ=x-> zUpoc}%3X{hjo^tsH$U*mpD`FJv|7(y8x6MMp1gI$$GuA2PuJjwzc_@?0zA!Fx}th@ zWh5G^Xlt9IZaFU4GP@KNwmK`vx{a+40enN)%^?Et7>9}BOShBwR{=C~$SrjI-FzfE z9seEx{=*WYQK={;8-p`v%$`=(Fs*T8*|dfkWwRPinl)=hIXzcUh^38Nin z^9#|d^-LURB3qZYH^;+x!URNGP3va-@{Zf|?6wSl+yCElL)r;R9EIiiOGnbktMO6S z@ff0gd-`tdyDiZ7NZ+G<5BELL_xRz9`}S%4cgd8~6x3(m_xhgbyASrq1I350=zFv@ z(D$>xCk}s$eJ6>ZF%#lxILheze&4>s2?Tib@V8SVnu&+s`flyp*Y{B0e&FMr9H;w4 z-(wsb2s3rgq>69^I#1u7Y#Aa~D(ep)?vw}~K>JbaO%a9t57~G^N+bPgU}H$f zH68o*AHLk`B;1>hYq?U5#t!bB4<~DCV2>KmEmL|Es)>FR`to~c z89)_0APtQgKAc#;s!VipBg6o>KmVoW|AK@3TQP}&#gg>|Pu;7T-ZFCUF#cWJ zGrNf1{ zk{>>28Wzq$5O$p55w=m{HcM3n|CodgKIOyjeiRo*j@Mii+SCti+wI!?#a ztS{$j9Q?V4IsZ{ygD69?#Q%JGty4JO{m_xdGQ{5`v2)$DprT)*PL3FXaqcSk=<69!x4khS$LA>2E zgJz>;%8-+3$k9ef(;&~lbr!BC0cU}2z<(i(hMBm|#eXwlZ-iwIkeS&){>+hnP=U6O r!M_C|n^EHdjI4n@BAE~F7ytYDA5{ZaVb6d9@jprVzn}mAYT*9@7W?vU literal 0 HcmV?d00001 diff --git a/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantDataModels.dll b/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantDataModels.dll new file mode 100644 index 0000000000000000000000000000000000000000..64ea597d4ff27ba9b5b3f259cf4f497c56aba8b9 GIT binary patch literal 7168 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 literal 0 HcmV?d00001 diff --git a/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantFileImplement.dll b/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantFileImplement.dll new file mode 100644 index 0000000000000000000000000000000000000000..814dbefb05bdcbd7b42edb5cfcdd2d8a86e5ae20 GIT binary patch literal 41984 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 literal 0 HcmV?d00001 diff --git a/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantListImplement.dll b/PrecastConcretePlant/ImplementationExtensions/PrecastConcretePlantListImplement.dll new file mode 100644 index 0000000000000000000000000000000000000000..ea478e130adf3b7ec943c44f35dff04dc7d31581 GIT binary patch literal 27136 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 - /// Required designer variable. + /// Обязательная переменная конструктора. /// private System.ComponentModel.IContainer components = null; /// - /// Clean up any resources being used. + /// Освободить все используемые ресурсы. /// - /// true if managed resources should be disposed; otherwise, false. + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. protected override void Dispose(bool disposing) { if (disposing && (components != null)) @@ -20,11 +20,11 @@ base.Dispose(disposing); } - #region Windows Form Designer generated code + #region Код, автоматически созданный конструктором форм Windows /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. /// private void InitializeComponent() { @@ -32,15 +32,21 @@ справочникиToolStripMenuItem = new ToolStripMenuItem(); компонентыToolStripMenuItem = new ToolStripMenuItem(); изделияToolStripMenuItem = new ToolStripMenuItem(); + магазиныToolStripMenuItem = new ToolStripMenuItem(); отчетыToolStripMenuItem = new ToolStripMenuItem(); списокИзделийToolStripMenuItem = new ToolStripMenuItem(); компонентыПоИзделиямToolStripMenuItem = new ToolStripMenuItem(); списокЗаказовToolStripMenuItem = new ToolStripMenuItem(); - dataGridView = new DataGridView(); - buttonCreateOrder = new Button(); - buttonTakeOrderInWork = new Button(); - buttonOrderReady = new Button(); + списокМагазиновToolStripMenuItem = new ToolStripMenuItem(); + загруженностьМагазиновToolStripMenuItem = new ToolStripMenuItem(); + заказыПоДатамToolStripMenuItem = new ToolStripMenuItem(); + пополнениеМагазинаToolStripMenuItem = new ToolStripMenuItem(); + продажаИзделийToolStripMenuItem = new ToolStripMenuItem(); buttonIssuedOrder = new Button(); + buttonOrderReady = new Button(); + buttonTakeOrderInWork = new Button(); + buttonCreateOrder = new Button(); + dataGridView = new DataGridView(); buttonUpd = new Button(); menuStrip.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); @@ -48,25 +54,25 @@ // // menuStrip // - menuStrip.ImageScalingSize = new Size(20, 20); - menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчетыToolStripMenuItem }); + menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчетыToolStripMenuItem, пополнениеМагазинаToolStripMenuItem, продажаИзделийToolStripMenuItem }); menuStrip.Location = new Point(0, 0); menuStrip.Name = "menuStrip"; - menuStrip.Size = new Size(1257, 28); + menuStrip.Padding = new Padding(7, 2, 0, 2); + menuStrip.Size = new Size(1031, 24); menuStrip.TabIndex = 0; menuStrip.Text = "menuStrip1"; // // справочникиToolStripMenuItem // - справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, изделияToolStripMenuItem }); + справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, изделияToolStripMenuItem, магазиныToolStripMenuItem }); справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; - справочникиToolStripMenuItem.Size = new Size(117, 24); + справочникиToolStripMenuItem.Size = new Size(94, 20); справочникиToolStripMenuItem.Text = "Справочники"; // // компонентыToolStripMenuItem // компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; - компонентыToolStripMenuItem.Size = new Size(182, 26); + компонентыToolStripMenuItem.Size = new Size(145, 22); компонентыToolStripMenuItem.Text = "Компоненты"; компонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click; // @@ -77,11 +83,18 @@ изделияToolStripMenuItem.Text = "Изделия"; изделияToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click; // + // магазиныToolStripMenuItem + // + магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem"; + магазиныToolStripMenuItem.Size = new Size(145, 22); + магазиныToolStripMenuItem.Text = "Магазины"; + магазиныToolStripMenuItem.Click += МагазиныToolStripMenuItem_Click; + // // отчетыToolStripMenuItem // - отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { списокИзделийToolStripMenuItem, компонентыПоИзделиямToolStripMenuItem, списокЗаказовToolStripMenuItem }); + отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { списокИзделийToolStripMenuItem, компонентыПоИзделиямToolStripMenuItem, списокЗаказовToolStripMenuItem, списокМагазиновToolStripMenuItem, загруженностьМагазиновToolStripMenuItem, заказыПоДатамToolStripMenuItem }); отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; - отчетыToolStripMenuItem.Size = new Size(73, 24); + отчетыToolStripMenuItem.Size = new Size(60, 20); отчетыToolStripMenuItem.Text = "Отчеты"; // // списокИзделийToolStripMenuItem @@ -101,10 +114,93 @@ // списокЗаказовToolStripMenuItem // списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem"; - списокЗаказовToolStripMenuItem.Size = new Size(276, 26); + списокЗаказовToolStripMenuItem.Size = new Size(235, 22); списокЗаказовToolStripMenuItem.Text = "Список заказов"; списокЗаказовToolStripMenuItem.Click += СписокЗаказовToolStripMenuItem_Click; // + // списокМагазиновToolStripMenuItem + // + списокМагазиновToolStripMenuItem.Name = "списокМагазиновToolStripMenuItem"; + списокМагазиновToolStripMenuItem.Size = new Size(235, 22); + списокМагазиновToolStripMenuItem.Text = "Список магазинов"; + списокМагазиновToolStripMenuItem.Click += СписокМагазиновToolStripMenuItem_Click; + // + // загруженностьМагазиновToolStripMenuItem + // + загруженностьМагазиновToolStripMenuItem.Name = "загруженностьМагазиновToolStripMenuItem"; + загруженностьМагазиновToolStripMenuItem.Size = new Size(235, 22); + загруженностьМагазиновToolStripMenuItem.Text = "Загруженность магазинов"; + загруженностьМагазиновToolStripMenuItem.Click += ЗагруженностьМагазиновToolStripMenuItem_Click; + // + // заказыПоДатамToolStripMenuItem + // + заказыПоДатамToolStripMenuItem.Name = "заказыПоДатамToolStripMenuItem"; + заказыПоДатамToolStripMenuItem.Size = new Size(235, 22); + заказыПоДатамToolStripMenuItem.Text = "Заказы по датам"; + заказыПоДатамToolStripMenuItem.Click += ЗаказыПоДатамToolStripMenuItem_Click; + // + // пополнениеМагазинаToolStripMenuItem + // + пополнениеМагазинаToolStripMenuItem.Name = "пополнениеМагазинаToolStripMenuItem"; + пополнениеМагазинаToolStripMenuItem.Size = new Size(143, 20); + пополнениеМагазинаToolStripMenuItem.Text = "Пополнение магазина"; + пополнениеМагазинаToolStripMenuItem.Click += ПополнениеМагазинаToolStripMenuItem_Click; + // + // продажаИзделийToolStripMenuItem + // + продажаИзделийToolStripMenuItem.Name = "продажаИзделийToolStripMenuItem"; + продажаИзделийToolStripMenuItem.Size = new Size(149, 24); + продажаИзделийToolStripMenuItem.Text = "продажа изделий"; + продажаИзделийToolStripMenuItem.Click += ПродажаИзделийToolStripMenuItem_Click; + // + // buttonIssuedOrder + // + buttonIssuedOrder.Anchor = AnchorStyles.Top | AnchorStyles.Right; + buttonIssuedOrder.Location = new Point(844, 231); + buttonIssuedOrder.Margin = new Padding(4, 3, 4, 3); + buttonIssuedOrder.Name = "buttonIssuedOrder"; + buttonIssuedOrder.Size = new Size(174, 27); + buttonIssuedOrder.TabIndex = 4; + buttonIssuedOrder.Text = "Заказ выдан"; + buttonIssuedOrder.UseVisualStyleBackColor = true; + buttonIssuedOrder.Click += ButtonIssuedOrder_Click; + // + // buttonOrderReady + // + buttonOrderReady.Anchor = AnchorStyles.Top | AnchorStyles.Right; + buttonOrderReady.Location = new Point(844, 171); + buttonOrderReady.Margin = new Padding(4, 3, 4, 3); + buttonOrderReady.Name = "buttonOrderReady"; + buttonOrderReady.Size = new Size(174, 27); + buttonOrderReady.TabIndex = 3; + buttonOrderReady.Text = "Заказ готов"; + buttonOrderReady.UseVisualStyleBackColor = true; + buttonOrderReady.Click += ButtonOrderReady_Click; + // + // buttonTakeOrderInWork + // + buttonTakeOrderInWork.Anchor = AnchorStyles.Top | AnchorStyles.Right; + buttonTakeOrderInWork.Location = new Point(844, 117); + buttonTakeOrderInWork.Margin = new Padding(4, 3, 4, 3); + buttonTakeOrderInWork.Name = "buttonTakeOrderInWork"; + buttonTakeOrderInWork.Size = new Size(174, 27); + buttonTakeOrderInWork.TabIndex = 2; + buttonTakeOrderInWork.Text = "Отдать на выполнение"; + buttonTakeOrderInWork.UseVisualStyleBackColor = true; + buttonTakeOrderInWork.Click += ButtonTakeOrderInWork_Click; + // + // buttonCreateOrder + // + buttonCreateOrder.Anchor = AnchorStyles.Top | AnchorStyles.Right; + buttonCreateOrder.Location = new Point(844, 58); + buttonCreateOrder.Margin = new Padding(4, 3, 4, 3); + buttonCreateOrder.Name = "buttonCreateOrder"; + buttonCreateOrder.Size = new Size(174, 27); + buttonCreateOrder.TabIndex = 1; + buttonCreateOrder.Text = "Создать заказ"; + buttonCreateOrder.UseVisualStyleBackColor = true; + buttonCreateOrder.Click += ButtonCreateOrder_Click; + // // dataGridView // dataGridView.AllowUserToAddRows = false; @@ -112,62 +208,23 @@ dataGridView.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; dataGridView.BackgroundColor = SystemColors.ControlLightLight; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Location = new Point(12, 45); + dataGridView.Location = new Point(0, 28); + dataGridView.Margin = new Padding(4, 3, 4, 3); dataGridView.MultiSelect = false; dataGridView.Name = "dataGridView"; dataGridView.ReadOnly = true; dataGridView.RowHeadersVisible = false; - dataGridView.RowHeadersWidth = 51; - dataGridView.RowTemplate.Height = 29; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dataGridView.Size = new Size(1031, 412); + dataGridView.Size = new Size(826, 320); dataGridView.TabIndex = 0; // - // buttonCreateOrder - // - buttonCreateOrder.Location = new Point(1068, 85); - buttonCreateOrder.Name = "buttonCreateOrder"; - buttonCreateOrder.Size = new Size(177, 40); - buttonCreateOrder.TabIndex = 1; - buttonCreateOrder.Text = "Создать заказ"; - buttonCreateOrder.UseVisualStyleBackColor = true; - buttonCreateOrder.Click += ButtonCreateOrder_Click; - // - // buttonTakeOrderInWork - // - buttonTakeOrderInWork.Location = new Point(1068, 143); - buttonTakeOrderInWork.Name = "buttonTakeOrderInWork"; - buttonTakeOrderInWork.Size = new Size(177, 40); - buttonTakeOrderInWork.TabIndex = 2; - buttonTakeOrderInWork.Text = "Отдать на выполнение"; - buttonTakeOrderInWork.UseVisualStyleBackColor = true; - buttonTakeOrderInWork.Click += ButtonTakeOrderInWork_Click; - // - // buttonOrderReady - // - buttonOrderReady.Location = new Point(1068, 206); - buttonOrderReady.Name = "buttonOrderReady"; - buttonOrderReady.Size = new Size(177, 40); - buttonOrderReady.TabIndex = 3; - buttonOrderReady.Text = "Заказ готов"; - buttonOrderReady.UseVisualStyleBackColor = true; - buttonOrderReady.Click += ButtonOrderReady_Click; - // - // buttonIssuedOrder - // - buttonIssuedOrder.Location = new Point(1068, 265); - buttonIssuedOrder.Name = "buttonIssuedOrder"; - buttonIssuedOrder.Size = new Size(177, 40); - buttonIssuedOrder.TabIndex = 4; - buttonIssuedOrder.Text = "Заказ выдан"; - buttonIssuedOrder.UseVisualStyleBackColor = true; - buttonIssuedOrder.Click += ButtonIssuedOrder_Click; - // // buttonUpd // - buttonUpd.Location = new Point(1068, 324); + buttonUpd.Anchor = AnchorStyles.Top | AnchorStyles.Right; + buttonUpd.Location = new Point(844, 290); + buttonUpd.Margin = new Padding(4, 3, 4, 3); buttonUpd.Name = "buttonUpd"; - buttonUpd.Size = new Size(177, 40); + buttonUpd.Size = new Size(174, 27); buttonUpd.TabIndex = 5; buttonUpd.Text = "Обновить список"; buttonUpd.UseVisualStyleBackColor = true; @@ -175,9 +232,9 @@ // // FormMain // - AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(1257, 469); + ClientSize = new Size(1031, 347); Controls.Add(buttonUpd); Controls.Add(buttonIssuedOrder); Controls.Add(buttonOrderReady); @@ -186,6 +243,7 @@ Controls.Add(dataGridView); Controls.Add(menuStrip); MainMenuStrip = menuStrip; + Margin = new Padding(4, 3, 4, 3); Name = "FormMain"; StartPosition = FormStartPosition.CenterScreen; Text = "Завод"; @@ -199,19 +257,25 @@ #endregion - private MenuStrip menuStrip; - private ToolStripMenuItem справочникиToolStripMenuItem; - private ToolStripMenuItem компонентыToolStripMenuItem; - private ToolStripMenuItem изделияToolStripMenuItem; - private DataGridView dataGridView; - private Button buttonCreateOrder; - private Button buttonTakeOrderInWork; - private Button buttonOrderReady; - private Button buttonIssuedOrder; - private Button buttonUpd; + private System.Windows.Forms.MenuStrip menuStrip; + private System.Windows.Forms.ToolStripMenuItem справочникиToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem компонентыToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem изделияToolStripMenuItem; + private System.Windows.Forms.Button buttonIssuedOrder; + private System.Windows.Forms.Button buttonOrderReady; + private System.Windows.Forms.Button buttonTakeOrderInWork; + private System.Windows.Forms.Button buttonCreateOrder; + private System.Windows.Forms.DataGridView dataGridView; + private System.Windows.Forms.Button buttonUpd; + private ToolStripMenuItem магазиныToolStripMenuItem; + private ToolStripMenuItem пополнениеМагазинаToolStripMenuItem; + private ToolStripMenuItem продажаИзделийToolStripMenuItem; private ToolStripMenuItem отчетыToolStripMenuItem; private ToolStripMenuItem списокИзделийToolStripMenuItem; private ToolStripMenuItem компонентыПоИзделиямToolStripMenuItem; private ToolStripMenuItem списокЗаказовToolStripMenuItem; + private ToolStripMenuItem списокМагазиновToolStripMenuItem; + private ToolStripMenuItem загруженностьМагазиновToolStripMenuItem; + private ToolStripMenuItem заказыПоДатамToolStripMenuItem; } } \ No newline at end of file diff --git a/PrecastConcretePlant/PrecastConcretePlantView/FormMain.cs b/PrecastConcretePlant/PrecastConcretePlantView/FormMain.cs index 902e094..ccaa536 100644 --- a/PrecastConcretePlant/PrecastConcretePlantView/FormMain.cs +++ b/PrecastConcretePlant/PrecastConcretePlantView/FormMain.cs @@ -2,6 +2,7 @@ using PrecastConcretePlantBusinessLogic.BusinessLogics; using PrecastConcretePlantContracts.BindingModels; using PrecastConcretePlantContracts.BusinessLogicsContracts; +using PrecastConcretePlantView; using System; using System.Collections.Generic; using System.ComponentModel; @@ -17,8 +18,11 @@ namespace PrecastConcretePlantView public partial class FormMain : Form { private readonly ILogger _logger; + private readonly IOrderLogic _orderLogic; + private readonly IReportLogic _reportLogic; + public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic) { InitializeComponent(); @@ -26,10 +30,12 @@ namespace PrecastConcretePlantView _orderLogic = orderLogic; _reportLogic = reportLogic; } + private void FormMain_Load(object sender, EventArgs e) { LoadData(); } + private void LoadData() { try @@ -49,15 +55,16 @@ namespace PrecastConcretePlantView MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void КомпонентыToolStripMenuItem_Click(object sender, EventArgs e) { - var service = - Program.ServiceProvider?.GetService(typeof(FormComponents)); + var service = Program.ServiceProvider?.GetService(typeof(FormComponents)); if (service is FormComponents form) { form.ShowDialog(); } } + private void ИзделияToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormReinforceds)); @@ -66,54 +73,110 @@ namespace PrecastConcretePlantView form.ShowDialog(); } } + + private void МагазиныToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(FormShops)); + if (service is FormShops form) + { + form.ShowDialog(); + } + } + + private void ПополнениеМагазинаToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(FormShopReplenishment)); + if (service is FormShopReplenishment form) + { + form.ShowDialog(); + } + } + + private void ПродажаИзделийToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(FormReinforcedSale)); + if (service is FormReinforcedSale form) + { + form.ShowDialog(); + } + } + + private void СписокИзделийToolStripMenuItem_Click(object sender, EventArgs e) + { + using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; + if (dialog.ShowDialog() == DialogResult.OK) + { + _reportLogic.SaveReinforcedsToWordFile(new ReportBindingModel { FileName = dialog.FileName }); + MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + private void КомпонентыПоИзделиямToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(FormReportReinforcedComponents)); + if (service is FormReportReinforcedComponents form) + { + form.ShowDialog(); + } + } + + private void СписокЗаказовToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders)); + if (service is FormReportOrders form) + { + form.ShowDialog(); + } + } + + private void СписокМагазиновToolStripMenuItem_Click(object sender, EventArgs e) + { + /*using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; + if (dialog.ShowDialog() == DialogResult.OK) + { + _reportLogic.SaveShopsToWordFile(new ReportBindingModel { FileName = dialog.FileName }); + MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); + }*/ + } + + private void ЗагруженностьМагазиновToolStripMenuItem_Click(object sender, EventArgs e) + { + /* var service = Program.ServiceProvider?.GetService(typeof(FormReportShopIceCreams)); + if (service is FormReportShopIceCreams form) + { + form.ShowDialog(); + }*/ + } + + private void ЗаказыПоДатамToolStripMenuItem_Click(object sender, EventArgs e) + { + /*var service = Program.ServiceProvider?.GetService(typeof(FormReportGroupedOrders)); + if (service is FormReportGroupedOrders form) + { + form.ShowDialog(); + }*/ + } + private void ButtonCreateOrder_Click(object sender, EventArgs e) { - var service = - Program.ServiceProvider?.GetService(typeof(FormCreateOrder)); + var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder)); if (service is FormCreateOrder form) { form.ShowDialog(); LoadData(); } } + private void ButtonTakeOrderInWork_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 1) { - int id = - Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id); + int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Order №{id}. Status changes to 'В работе'", id); try { var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel { Id = id }); if (!operationResult) - { - throw new Exception("Ошибка при сохранении.Дополнительная информация в логах."); - } - LoadData(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка передачи заказа в работу"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, - MessageBoxIcon.Error); - } - } - } - private void ButtonOrderReady_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - int id = - Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'", - id); - try - { - var operationResult = _orderLogic.FinishOrder(new - OrderBindingModel - { Id = id }); - if (!operationResult) { throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); } @@ -121,39 +184,62 @@ namespace PrecastConcretePlantView } catch (Exception ex) { - _logger.LogError(ex, "Ошибка отметки о готовности заказа"); + _logger.LogError(ex, "Error taking an order to work"); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } + + private void ButtonOrderReady_Click(object sender, EventArgs e) + { + if (dataGridView.SelectedRows.Count == 1) + { + int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Order №{id}. Status changes to 'Готов'", id); + try + { + var operationResult = _orderLogic.FinishOrder(new OrderBindingModel { Id = id }); + if (!operationResult) + { + throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); + } + LoadData(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Order readiness marking error"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } + private void ButtonIssuedOrder_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 1) { - int id = - Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'", id); + int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Order №{id}. Status changes to 'Выдан'", id); try { var operationResult = _orderLogic.DeliveryOrder(new OrderBindingModel { Id = id }); if (!operationResult) { - throw new Exception("Ошибка"); + throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); } - _logger.LogInformation("Заказ №{id} выдан", id); + _logger.LogInformation("Order №{id} issued", id); LoadData(); } catch (Exception ex) { - _logger.LogError(ex, "Ошибка отметки о выдачи заказа"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, - MessageBoxIcon.Error); + _logger.LogError(ex, "Order issue marking error"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } + private void ButtonUpd_Click(object sender, EventArgs e) { LoadData(); } } -} +} \ No newline at end of file diff --git a/PrecastConcretePlant/PrecastConcretePlantView/FormMain.resx b/PrecastConcretePlant/PrecastConcretePlantView/FormMain.resx index e527639..6c82d08 100644 --- a/PrecastConcretePlant/PrecastConcretePlantView/FormMain.resx +++ b/PrecastConcretePlant/PrecastConcretePlantView/FormMain.resx @@ -120,7 +120,4 @@ 17, 17 - - 25 - \ No newline at end of file diff --git a/PrecastConcretePlant/PrecastConcretePlantView/Program.cs b/PrecastConcretePlant/PrecastConcretePlantView/Program.cs index a80adaa..7647cf0 100644 --- a/PrecastConcretePlant/PrecastConcretePlantView/Program.cs +++ b/PrecastConcretePlant/PrecastConcretePlantView/Program.cs @@ -44,6 +44,8 @@ namespace PrecastConcretePlantView services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); @@ -56,6 +58,15 @@ namespace PrecastConcretePlantView services.AddTransient(); services.AddTransient(); services.AddTransient(); + + services.AddTransient(); + services.AddTransient(); + + services.AddTransient(); + services.AddTransient(); + + services.AddTransient(); + services.AddTransient(); } } } \ No newline at end of file