From 276f923b3a736c0aea0ff6e69f297011e19bb4db Mon Sep 17 00:00:00 2001 From: Kaloyan Date: Mon, 8 Jan 2024 17:13:31 +0100 Subject: [PATCH] sort and filter refactor --- .../Archieve/UML&DB/.FitFusionUML.vpp.lck | 0 .../Archieve/UML&DB/FitFusionUML.vpp | Bin 1163264 -> 1331200 bytes .../Archieve/UML&DB/FitFusionUML.vpp.bak_023d | Bin 0 -> 671744 bytes Documentation/FitFusionUML.pdf | Bin 0 -> 15977 bytes Documentation/UML&DB/data.zip | Bin 0 -> 2620 bytes Documentation/UML&DB/project.xml | 3429 +++++++++++++++++ FitFusion/Controllers/Filter/ProductFilter.cs | 91 +- FitFusion/Controllers/Filter/UserFilter.cs | 87 +- FitFusion/Controllers/ProductManager.cs | 51 +- FitFusion/Controllers/Sort/ProductSorter.cs | 64 +- FitFusion/Controllers/Sort/UserSorter.cs | 70 +- FitFusion/Controllers/UserManager.cs | 46 +- FitFusion/DataAcess/OrderDAO.cs | 96 +- FitFusion/DataAcess/ProductDAO.cs | 1 - .../FitFusionDesktop/CRUD/ProductCreate.cs | 2 +- .../FitFusionDesktop/CRUD/ProductUpdate.cs | 2 +- FitFusion/FitFusionDesktop/CRUD/UserCreate.cs | 2 +- FitFusion/FitFusionDesktop/CRUD/UserUpdate.cs | 2 +- FitFusion/FitFusionDesktop/Login.cs | 2 +- .../FitFusionDesktop/ProductSuggestion.cs | 2 +- .../FitFusionDesktop/UserControls/Home.cs | 4 +- .../FitFusionDesktop/UserControls/Products.cs | 36 +- .../FitFusionDesktop/UserControls/Profile.cs | 2 +- .../FitFusionDesktop/UserControls/Users.cs | 53 +- .../FitFusionWeb/Pages/Account.cshtml.cs | 2 +- .../Pages/Authentication/Login.cshtml.cs | 2 +- .../Pages/Authentication/Register.cshtml.cs | 2 +- FitFusion/FitFusionWeb/Pages/Cart.cshtml.cs | 4 +- FitFusion/FitFusionWeb/Pages/Index.cshtml.cs | 2 +- .../FitFusionWeb/Pages/Products/All.cshtml.cs | 42 +- .../Pages/Products/Create.cshtml.cs | 2 +- .../Pages/Products/Product.cshtml.cs | 2 +- .../Pages/Products/Update.cshtml.cs | 2 +- .../Pages/Recommendations.cshtml.cs | 2 +- .../Pages/Stats/Products.cshtml.cs | 2 +- .../FitFusionWeb/Pages/Users/All.cshtml.cs | 39 +- .../Pages/Users/Create/Customer.cshtml.cs | 2 +- .../Pages/Users/Create/Owner.cshtml.cs | 2 +- .../Pages/Users/Create/Staff.cshtml.cs | 2 +- .../Pages/Users/Update/Customer.cshtml.cs | 2 +- .../Pages/Users/Update/Owner.cshtml.cs | 2 +- .../Pages/Users/Update/Staff.cshtml.cs | 2 +- FitFusion/Interfaces/IProduct.cs | 2 +- FitFusion/Interfaces/Strategy/ISort.cs | 1 - FitFusion/Models/Product/Product.cs | 55 +- 45 files changed, 3847 insertions(+), 368 deletions(-) delete mode 100644 Documentation/Archieve/UML&DB/.FitFusionUML.vpp.lck create mode 100644 Documentation/Archieve/UML&DB/FitFusionUML.vpp.bak_023d create mode 100644 Documentation/FitFusionUML.pdf create mode 100644 Documentation/UML&DB/data.zip create mode 100644 Documentation/UML&DB/project.xml diff --git a/Documentation/Archieve/UML&DB/.FitFusionUML.vpp.lck b/Documentation/Archieve/UML&DB/.FitFusionUML.vpp.lck deleted file mode 100644 index e69de29..0000000 diff --git a/Documentation/Archieve/UML&DB/FitFusionUML.vpp b/Documentation/Archieve/UML&DB/FitFusionUML.vpp index 61eecf85bb8188b2640c940d31d10d6407dc932c..9ddc3fcd5536154ad8b0d550482070adfa08cf9e 100644 GIT binary patch delta 56575 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 U8sUV~b4vSu3B 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≺nU>lJ(-l+$a6|tdh?k+kHap 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

%B<=EWaqUcfd+7&M=MiiYnk$ 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%0AR+GvbvfQK15K3lY$_g&eBk z3bo4|lfiO|5d}QD0~@6aNn=WZJ*}^4#FH;OCSAx)kOxRfVB1dKxB+w0MUc-zJ4~am zD3!hR8AAQL#C(#QOaP!VGd-|4GMc2Ix@0LOD51sJth(rpiJ_MqomFKAaR~{y47nlL zUE^+M5TsaYd`0MND(Qho9zk@6fq>C9iEP|}NfVz(bjKp4fxTIc#uP)t^}FqL-W1>> zfmEtAqlXBNAu(%pop)rQ6r~18r6OT<)mdBTO>YcR78nw=gBnP<49So-QUm$2Erv`O zyRg>;0)`r-SqUg^U?_#3CRC%71PnEBa07GFn508XcBq*iQaqLcpE)Cvz=2X7 zsd#NAXxIo;VMb#b zB@fKI99HAR62sUgI87H)0_P+IjFyehOhkztjE^{NVYaO^Y59U{*j+#v*wADMk40XB zfC!*WNsRpD6Uuz}gUk!D(lSQ~*w~<^TvZzx8P@3TuXI$P+hsI#_sdVGMd_1i3JEAb90T=}w+72DJ)8uMF2j z3@k#q2Aa3|X$n+&Z61*+VnrAOm0O%t&U~iW4$nI>g+fXD@wW1gNGhT(Zy5=~xyj(; z9T}9ViY!O83)wiK=37~bmh$5unNX}0nw@YZ6i5h6lp_Zz*^omenHr^r7r{q(qA|xu z1k48IWh)<%FWV4nwnV!OAEhN^pnL?K$?Tbkjz9s1bKdj~& zDNN3VDj2q#JOY>U&QmAQ`o1-0G>y79DXL(K> z2O&^W1-i!?oRlLA0gUG7D?-%35*ln}AvPUAm6p~(2iCHXR4kGi$A#goaw^RX*k%@@UVZ^~Tc$ca!KgUWp_9J#jcNGoG9pLWBu>WEL2$Cea@pTcwCu2YtQ1*R z0Hf&?FxA{Nm}C4x?4i}+TSX?kPBq0rwfQAlZHka^eCEFkq79ks!v7FC=XfVQ))$@s#ZZu{}f38?V}UO%|ergsNL&w#UINpUFbq zdmuqxHdYz1IMIB_rJ#kPb&#Q9OFU%eLYDkclaYEm4wHy zBL+E6Loz3xAk!omZ=n5Q{1KG(kcQBU^iJhMxygR${N8j;(OLmf126~btrgH&kIKwLxst3_i zOk#mJg|!;xr8CJ3##FDejDW&YuZpN?Wb)iH8u~Z5}A}EUCF%NJ)1r09I z-_4fL5Z3U5O^AgGfgOgI5VVy*LXEn?lPwjO3^A{b3UtxllGBq_)7wbq;pone6upLk~a@bio)uJs_C1Ob>~LxhOph zaD*O|&>F_Rhz)Q$+&?hkQyat$O%LSDFMu96*nuKPD*wI0(1R36nD;^uMUENO&yo+( zO7Ad41sVf~t~SdDiAW%1E|qMS4-zQdlG2GpHq!&~GHtgr@3K8qZeeE_I~j{tK4{t4 zfv_f|Jk!KbJ~{AK=mf9<>H7j+89*Vx%$cK6cy7BM%q4Kt&><*Qq}dwI1x;oYwvZZT zqb(wV8V-@|x4iT*k}o?f9H4Mh#8ws@q@<(7@S-!|&65d~y-2}u5=g0(27WR@@QTlW zFIM;>2QReLY!s6RZp_~|$$t;`Wi4)Ft4$*cNP^{>C>$Ck(^yw(P)zh zL*eJj81Z4QaU`A_%-H4}pm?FeroWSRC5aW9C-_99rSx~xg|NmjBWq3jFC!<&Poi=$ zH2$F75Ue?46_D7S*`E9^6@dXpo2`t^C>p9kET~eYEgk=bP*pEiG9C_&4yX`kmRf-{ zTPTWP@<4cqUL+S7+Kyv!X6kQHew#!AyRm#1?HiINPE<2J#PXnII98LQS7lfc{2;dj z{{Oq#9F1($NSM+YBWBR*aXu*E-cTy%P4$36VIhHc=%P($yx>J&QLwns7~=_m#A~xv zFh*9#?B7K6aTbR>X4AzTDgB|{a1s%W56>$mkmk~yeL=3V>Au)aQOi&Gp+`#;dXz#;L6TL>#;_{AR!Uh9CxGP6}+V)tfF0J6M-r10n{gyErLo>1$IO8~}> z<=amRVUVh9$dWUn&c5K@)pTEo>H`7!3haLw8!S7tfRR7|0!Op}YazU3 zq3eE4!yhck$7}zyfTg~HlcmM4qmbQU_hz*g$P8ieg2;X?AcG#YLL&d4p-LMBBh9(c zXGvjDBzTONK?(7)1;NPV_Hv*W+pY=d9g{%6Du4~LkdM$USJ(<=MhF;9z>ySC7Y0`$ zj1q_~OerkS5IA>O7oKQ%Z8Zfu&PIr2`~g#+m;^m(E@Okm3m3m^Fp>%J zMOcXmzqi6SU@gS64$VifU>OI!*kN`R;Mk#jt$dE1lfGF%MY9Q<{}+y($Tzp!7(i(p zullSIf_Tz4XAIy=f}pXUTtNrX8MVNnWwT-@vMXBg(0yl%EC^lE1zR$`ePcv3C|HVLk0IgcJVy6ZTtIdT!Dt{_5P>F#Tj)8V< zS#!Pu0`-z4!yK@5p=zV94KYS3)G73)fY^*nX>nYUaSCB+IMk2m3}sz}q9^C?8D{QT z_?Wwzhns~LpaRzX7rK_!aZW)Wq2@J}Ns_|QeZwG$0Ij~DFd`)f+7{v0B$jf9cuZPK zQFdWMN_LUP(@;M_*sPxPB@ks#U^T3%;|2MrFc}aks04D$rIUd}_2{OF6bnd7epP!G zLI$$ju6fJaUdHG0&PBPT!PON>-c&AE1x(1tEGz4&rz18OD}Frn0n zBK+*o9CX`6EtsLXgS~q;tU%s4ST8n+T`QDgv1Jw%7KzYZL;Vib6DTI^Wm7b z3d;gS>6?m5JcuuNtJQi<0Yna8GFcGqy%j>bg@`#s$NPmLh|Y$vXN0a$^RhQg;#i`T zNi4Ur)JtM~jC7m}v3+vh4LRP-UL=z(|A`fBp=U5O=Up1nni?23rM;e(II-JWudJUOO=(0< zc_(W<+=@V7IJ9j-W!SN28O(4L%Ar55MQq0udLu(mbf7gbLwixb%is$V%=QA@D3EK= zs7pfhjdZ}aho*Hl2{X#$gAVvmC1erJ+JX6~=>}V+8`;|{f9V--L?VolhunC-A6i1HnUM6RTV0%9ZP-MX-J|kGuk9t2&n*!gBqKX?ZBq(APtb_(C|vA6v4p>N zd-b55ObFYCVO~PZF_#$MQgqu;8+mp=^>uxh(+t;n{1@-h)mcz*(K9XcC-u4V(5P@vtm$0 zPG||bS5Sw^lzR=b&wk6pkI1jk!X*YG3#?Kv3TS{W6bUTHnnV2a(S3tfOjZ>Y6zXyu z332%{E7-Gbh0F>|IyNa0-8N{&WK{}LkZ7+2iOtaE=6*JPT4?{;1DbB!{-tZ#g{=Y`8HBQcv z&b^&oYJCHLt^BFPKqUq$F;IztN(@wDph97wof|7}$iG;fWy~AOELDy1YER@1dH3ot z*3YSB_3AD${?Z)d1%)=AOcRRHKzc9?Uo6Pb<{46kV!U-jjkyhyTMal0%ObwR2@5I3O(@L9jMM)$VoH=jrarNa9vTwrZMtJK_ME zJGFl=k34|VAsItMnAEOxNeOuo7ED!Y_l@)7ehe{k!)I9|{jT#Uim1g3^Fa48zKy(IgQ8mME$A?i}Y#|N_Gx;*X zNAP1RR*Byls%OeL5JN9_U23LA1x>50ZQ%4T0hmAsGaeaJ8cXtnLL?N?CG#jp7*bq$ zSWQSB7m0Bkz8Ol#( zr+hs*>*=8_&+eVx_v_)Zpt$@?Rq~rJ|M4&J{*4(QZ25X=&j^n%wrrW;*I-DyhJUud zJ+0qsLmI1JyEG;1;;0U}2ewP&E+)E7=+kWClje^)e^fvC#MP^aLWJZeb{q;t^S*~z^20nJdBvu^v|f+Na3GTTZM;7@=rwNhac?-z+d;= zH{fc-Ft@|2N9?%&eW%T*KV1(y7Bwl#x;o^BXLY?`^VJqt0^sX=t;;0fpL$_eZZG$H zqpweVs=M55JABEc$J-ZONx!{d(d}!~>o@(g>A~HpANB71v~}y5aZkJLUo=cL`)T8X z;ldl2&YgyL8g6)+xi@Cd#p$WJk$1u$ynR6#ma*bcmuufODOi=Hd!XGiZQsR&+u>d{ zHml}e*pM{)i~0pwleV5Yy>M9L?t8ix`p%Brcem+J#i6qj@)y%<@DM0!@cTn?lb?wQuxJdQ(VK;x$EJT?SjoI zKXnFhS{%)pw)Ie#Fu%NR-ygsJT4%Qrb8<5t1aBR@`{K?P3pXm~zac!j`aO8!hOAD( z8=74BsMqeE@aSy)k+%nKTLvE#I~P1rXY2P&-umpTi__;X92S$iTCh0@mY;LM?P$&{ zcsbm^Uhf}>cj~^q;o!xX#~N@>9Oa0tagwJktA6dF?(a1yo zx0nC5zT0d;>7#qsAMd|)LEa_(=ia@4TbRd?|Ch1I@9aouB8*zC#MC?-tolkxjrs!_80em zdXQP#<2~2srKN4|FPwdCV!wX-k2UBp>1NQUxBr|R)OU~GYv;gWi;k^*eC&9BVY{ZQ zAM9v2p~Z&o@6I^2s>ky!8&=&?7e2W6Xv4>~F1A|w+pc?U|9SFeLBA{S{nhJn!Sl7t zpTBYc?6dH`eGZCR40NCS`}ex7?#FHpe(3S(p?v>t|HQZaA$o+kWSDa2@Y1gyT|V=$ z^T?-nvb#6lU2DaiTcV}?b}o1@a>_5C{JsBxe`Bdf#I>`izZFnRotoZ_l<6@crU7P^w({N`F-1I z-KX;!1dPl}sr}vXYdt?aaN@fOpS3^S^hDjn^WUzw&EcjcobIF_e0lVf;Uz@g6G3euwljpVkWLb6Re?D%q+5N8>ryi$1P8+tk;C?|^ zLC)n?RTR~#kDEGb)%tX&sHiI5)m(Qq>wIF~L)Fk{W9L4&{N6o4= zyT8@Yb!fkxNu|}i>nw21XgIaY?2?@WhR*Icxqsd2HJnym_Sy5p=J}y>_UE@sAGg1A z+HJpxF?C%cpN_cN>Rj}o70ZOr|4y0t?d#9x6?l$zzB%cghvTAuaZ8mfZqxLO)Qyun ze70uJ?}yLSP<}h$QOLY&;y?RrnzF}b;NYIW%qm+nvq@ev(KkQ-d}N+{-tW52M}|F6 zjh-5q+H2;3)c9RblP_jH_E;FPNY%0C;3krQuXpA367C!{{mq|4m(Ba}*qR4{RqHRm z)~3F5#?<#ueC7Sy?IUO274&IbeMx6gx2|u$pOPmm>s{m5*Q&K#Ip%%Ax^Dh|pDg<3 z%;Wld57ns^J*?=#Pgfsa|K;KJXSWufjdV%y>^FAsmru{`|MpR%JM*5_t9!A=y#|xF z*ROlw#MWjXs6B{k)T>ay~&*qQp*fLzWzw5Qk z?r8^vtK)8-Z`8ik>mU34I!h9o5fc3O^`nXpq|3ZMTiE^bfkXL)a}N5PP^3)zHM-4| z=^uPDqPKQTkDqJ4cQ59nl;*WB?CJDjv!LUX`e#OcxB7Oe*SER9)a?`Auy5}ZoAlRy zP5kkPnm-jyxHvhe>-O$VclvfafBe?inm4z<@m=x!mW}TB3A!H>&?w;G!T4zhCyg)p zDyl`o;sX~h>9Xs1dfaq5DVzP^9q$cC=1d;bf29BGC-s}$tK1sZ|GaEQwb~a4=5C&Q z`OlwDb$oyJ9>40h$IcXm`@C*VCM+l&+ot_o*$;mzuC(*~c+VWSR-F`I zbl4;OPV6Q0-fcULS9c%%$+Oe}7k{~2{m8zmS;N*&+;im5(P2Zno?0gk{37qr zJ2eJL+}>%ee(I6-w6NilwZGlye(h}4n~%24t3UJjkYn$kt+^?~`y-c@@88K?cu%~( zeaMWNTjst$abMSnqkYeOvS{V}33bM$bb9h*?*p&*OX~RK{Hp1H9NIZy^8CeXw!Qnn z#p~4Bb|dbJhdb@s{lVk&dzTGg;BwhXxwHLI=RFO6Xy6%Hl^~aQx7Szo7`!9mqjx{- zd@3aGwDQ1Nx6&l}ngqXXHNM#R(;w?keKoa5$G=>6Z$2xpci__J^>?lhxH0-%$jlR} zq{xQ@qGwh=JN?)&rKvSov(w(hX6;n_Ef z{e137C&{#dtv&X>U&Z6WpFw}l?D|QU2Vr4nGKSswyIq}zuv{aYL=N)b^d~b-O}P!JG5i_n(qC*uQb{9NC#8v&D-(I?!>=IMv;WQTxv2A6|Q0 zvj3CQvE%Rmvhrb-AFkK)Z`G}7aOdZ>CY}=CZrkL;u!jS#mH9Ur)Vak6TU%?#FAmsP zEu`6%yDbQ=c;{)aS-bj0e!bzurNEEfy#Ba){jO}@-~*SpjywC)scGjskGLD{elTXv z2Q8;Lf8Jr%)v<} zQ_fuZ(l;uqN`0pOTWYW`6hmr3rQ3U!3;jr^iFzJJMnJ{&^>w zKlfL^G2*>rYZi4_UeusP!}VjYE!K5;)_!@BtXabo{oLNXo>-!rn6Y?T4ZmM{%6D~d zG;`hjZ`bHAteE%4Ubkxg!WIMiKKUc2Nmb8J6Ka%Ht2w!UO1+vbrvysF^JRm3{-fVC z%+3AzjZ+UMmF2w^)q1ScfkS8B-4obvo$LGJJrnjn8P<2#)2Bi2dv9AbC8W`X6afeQ)IMZIUSZuIjZd7=pz1H7qf(j+FQj((MwYVT@oVq2Y_cTl?VsmuSh(=1Ub*;(FB7W>E(~v( z@YbMSjXaaRzlm?OP5NVNVXxM1pFFwkw@`9Dq5JT!oZ1%5?wz|zJ>cYL-tzpxEA%V! z+qu;qpE%|@5Xv9D4xH~X?GNeCE{%KlS>4WB zxSH$ujdh5>HYfjDoA~Rzh1Fb(QCK zz8N#7{ZZrRQPZAv{VQw6yMJ{0dDOc*7oQlo^PMkl+<1M^ke-sd*A8^M8>Mb=@MfQP z?w1Vvy_+s!{@J2~;m^y0fAcNUJv>~r-g8@^>!!8+Yq>tE_rcN!j~`x>*AJ2(8Mb7t z{Kne5t9SiYcflX;-gIiU($~f7K-=QcSB__ujNbm$56kptqbB5TxUl@t=O_2QH86T^ zk-N|4&z`8J4L`K{6G`3d^rNfqRH-Ij6E(hp=4RROy?IZ2#Wor^>rB%_jUr<1Ua!%n z(?i9i8q)3by3nO}f1Bl2_sg4pu3jq#=@QmNc6sC3AB{)$=<;k(>Z+d(U)tdF zL%XYOSB~46wWf}=`~KB_5r4^ zs2Yqr^h@35)5=_pg*MplaKX|{skMHO+AI$DJvF?}pCi5mO^q9Fq`ExbDuhxC%z9gdO++JTS z4gR8c_mS@m`2NFV1FnazKiNNF#E8Wule%nN>sqVH!$EV4+E=ZkpQlfr?mHnVzrXiC z+xk~o)-L(M%2wx_zg?|sY4WlybtJ(xuJrik__BI!)*at9X62sUO~yW4+4KCoA=Ubq zCN%3e`K=F0fA*Byq$|=^qgBTnkFMq&&^fec#(TYHc#Ii6y>^>c!xjh^ z4%<3tjqG5zgvp23o%uBJy~XWTXCGO)QQqV8#!2lSynfZS`ly(5QQPK!Qoq%X1+5#8 zj&QDDd)>_%&00>_5%n6a%+tQeJGX7XcO9hz6FPpkqHvHpd;6Fk_xv=1uZq9ESlTr4 zt*@IlYq{6$8X?A?&;8`IxYGw$HupHw*uUrQmWNhG^=dhN#;?yC9X=;))Xyz?>VTs$ z&pX`xF2V0_*XeVYeB`!qq~B{>U4G``=TgF0nTyY+{k&!+fKe(U^f^SeQ> zga5zKz5k30Zfg#88FXY=>9s+>+)b=G_FP$$Cr^5B-kkVYy4kJn&&zeYnzit|wBqK- z1@4c3y|iUs*^?Syx&G;OW68)?+t2=fH}T1s<4;ciF28o<(#2i3?S9hn_3X3J=ezf6yn62LQ76Yt_E@>H z_2pqbpSB(^R!N#%x?Ed6_ejV5(}SGH<}YY->Dh`V2M#Dc{U>PqCUCeWE?nNT&7^ae zqJ30b|LONltkD{_(=p zW53@Q_1?Up>$1F6&o_BK{8HLI<3dh1r=~lWU)_6GU2A1f|HSIkCO3Z^|6{-IEpASJ zKl*;sFPplx|LvEB=ME;{o7nOATWXO}?%sXSf zoSN(yb9K1alH?I1IK?}ByOIlj9YSgXf-8VcI)qa1Ym!SHnlRcu| z3|~9<@zd`&pGnx+e$+>gM!PvJ*tuhNQbi zI<213s>+;)(`HR686ke0@VoksAo}+H4naw;%d5JMuF-gOdhfmNZCaP+cg}0RrBB?w z1@d2dem-aL)Kx1>PEPG{duP`@Uwk&DsJ&?ZTRl{{18+B-U-b6hsVjT`c&GLFYkBX< z{+zPu%(sIEo?g>e>03{=^^FeUv5VZYL;X^V7bUF8a~rPc;g+KaZ0-H^)18fWdCt;I zo7gD(<}AOQE(03Mw@p@T*`sRs%QrPz7Z;L_r_lGIBZ#|^B z9=5npHS(MANyj!N?%K0>MXILkuOY6D&#&`VC%pH@q>Wdq7TyjY@#TkmCT+^pymmy| zJ+S-F%c{Kf&W*#pBYyNcKf)&|>+KWUydGD%s+l)w{^W;K3Uf~_80zGI=YiU3|8JAO zyRdh8(QwgMsYB!M+)X*Lt$)k6*6;oNQPJ?vUzcoL6H!xA@6$m$_Ac63lq2e&no;9U z+o%)U>a~m#K5V?ML09eIvGux+Znf^KYWq^U{5j#xz-p9@{Zp%T&AaIO3{1%G?i6~q z!Tf4RGD8-vi16F?c$4V*-0vTK)w9Rxk>1bFzIjQ|CjH2q(Z{ZSeYL^3jEl#6K6vYK zPQQ>1N%0fUDHC^XY8qY8FtC&N)A7qYS3ePylX4(6R(|C4`p;|Rujnyp@2W>t+yBvR z-?}MddfwlCJfNXuWc4v)Gu>6v#6MHlG=8UP^BvZus>Cf!D>n zsNVxr<05-sO*wY5bsNq7`-}UvAJ_KOc-hIiBeN%N6b{-yveE3ieOk`V_ieI&y!*1u zrWxKBZ+5@xH1;poJwN)jDDHT!aod3#=Dzjz^q(U8=Qi9ur0wqBzYXa1`Jpg>*`E_H zU+~#kZRYV&;kz!Z?7X?Lc5jWFixxi3@6*ZG?W4BsG?zaLxDjxzufnNbmhz7&>E9;) zy*JgnIP2XLBfS6E>w7dJ@l^bcOC`a@SpzmE&#J#})S$d`(+8eAv3^;t<&@R2Ii+xw zZ1ZewujL*^rxv_(?^g2mb@AelQvyF|`BsnE+}20y9R0$lPK}tZgw1iW*Qwp#cU!Y| zrH5O$HM*t8;_G@l_v!pJ_3K%R-E;k%mmd0j<<2)Y%OIANqL8PQEOPT&4L1)pvz;6N zBP(_8Bs#sS>m5)3mV;tyjN2BwY<$}_oA-t`d*iZym#X)@zwp2CY;M8*UsK1vvpR6V z96`?=4+~~VyDz=@Y*vq6qkbG6lCk5bTTKGaYw)?Mpc>miCk2@~i)uMO7 z`l5RO{G3|4xKFJypIxirTD|_bBfY2G_{C#sL7Tq4cNR^rR;Nz;VQr@V96EjUpG(s> zZ@w5k^qcM9u z^x|KKPORM`;qLxhe)qg@szfJBFPxt+Y2M)TQ~h^dpM5BBmGg(A_MH8`@al-v?@RY4 zIr(1FD0D|AeR%%e(`QeA{>*)o)7yh@z8$~l%1q()%aQRLe_Yz^w-ZmaE&adr&a9)` zU8~91k7~DZj)|Q!dS&28@674vIdjyK+HKm7Y`VVdCmp`5`EgX8Qn$R0T|L_$f2&U7 z-=`Y2ygBi!nfK4iH>7@jrCZ*lMi~>n61r|0TRXYmr?uAaxK(4Sckk-cotsV{8n6@jEh(HE^Gp^p$^y zs<(E}^3BQLt?t|U+3>>5TRT^jHvDDKn9pwSyfoy@vRBy((m_={T1sq@`J*!C-!JKWn)O6{U=IQ2Wm}R zw0Q1FLhmJRRlZ$yU~ta|J$4;UOI&m1c&TsTDBrbtLl^h%RA;@gPrqrytpnaj_%Om@bzTKz0YJI0=d-hNHSe*gaZkxsjgj!Y|?KlqJb3I}{$``oSOeSY4s|3T`KBPIS-oVCe^ zOP9uK(W~SC2giB_HoAT5t$`iX>pr{a zRJ8W?x+CvharfKyY}4o0zff-YDy&D7!v5X|2$8EhGAHlQf{%snQ-W*(O zV)38L>u>M>Rb%P-`&T-jmQ3nDF6vs!XZMHx_^9ExO(lsVp4BN@Q^)JG-IqoOb>G|S zMCWN+r~Qw;cMi|2Y5GN@iEV3QJDFtSWMbR4Ik9cq$;7s8V`AI3&pq=z@BYrduCuSb z&%ft4w=b~8#|8pdy}AD5&E0Zo zScE?);Ugf>aOt?y3Vn9&&SX{~&2&zKA~F`VW;eQ+>YM?)9HAf(Sd(|`|q$l@(1u2u|ZXXhg& z#D6r{qIApE?xrzZjdV#@IlkH9KFY{A!I^m0vMLd+X(AllSUJ}XqV(s(3m{6UKDa+i zQ$ig%bjA@j0A)e3i_a^CLM#r8bS@y=ueT*|%#^fEBWEs-GZQt+kXQE3C4_c3V<7Z9 z3n9gvTOOa8mhz9W(>{lXbYAp>YdhNvkDyz@T@>w0=d=I+7U4b@c2KtIXW1BVBzpSA?Hl zGQOSXN<@wv1o%KR^n^)&k_$u6ck&r!OsSsRadwe@@I`%~&~7}qA7l1B@3CAGV*_n( zkJlbMLwt@Lr1&w_%p~n2w_+E7jN(y1cZ@D8tJLnU;+rd_5vpE*iba;1kZgwqzOc?aU-i2fXWL)9TG`qq_QtO_5(F5=2T15YA zW?$5`yO%EUhi|YHu$_%~exKb9P=a>ik9$X#a5&l(keoiXDAbdfqp0A77+|r-#n(d;aMYuujM?OpftUJ-z+L z)h#e3Cey&3*YC6cqs>ZgdV7tF57^QQ@&rnP3C!P*CS)Es2QM~iZW zigDtMp`<7qNW^Oa(SXxKl;hoHIWths74R|E{)C|;-^1V)ND2H(45vP71u*z})cDqFXzj+3JHBFEI`x~<7cJ8}2yHBv! z^%bWMG_GP)EC;rj?zoBhe#}ub#E;i=8z4+BkijvF3oLH=`0cqVD z7exi+{S`yInNs~CR;HE9NYLSBa7Fh}m>N&V|rOP=c@L0K?y z5{6>F?^sMvdM5n;S>l8Q5|FJNPcUVB%g{17sPboL8Lus`)KK^RdGk@^cz;Afduyz`v2g05S-Y*l_a@A*5;@ zj*LhR5lWGFd$2}g_L6xNd1he>x%uTGs^Zag#md2XfB;MZ!eOCmU^L0(saXHW_Z|AJ zJ{EVH{Mw>_mO@a-!;Z;JaBTqt&~!AtfV4pfpPQ_YAsydJ{ZNC^uO8@JYJ?BXyeTcB zxOc8;Us2OOKsL$dgT%;`kuZ%6UDy}(3GHOGV?4xvYQknZNrx(FMLF#V zP&X)W(nHn-GnWF%o(shDA#h8A`6uw8HJ^q#ZaKRoDUiC%a-wdgkAoV`g_s&qlc?4N z8-_48+3OCj{>Ld^NOg>+Oi5I3+$g|JKnM8$840O;sUtup2HTqq8P9pwDV8g;yjX%# z69R|>Lt?1HSQ0y6t1~$ig+uk)mO0VJBEO;!O=S`i?5%#1>@deZq3D<2%O(tecjjL? zqFUL4mf|aIOEg~^fOhs7S#s_+WdQ`PSeF$oZk%~W4x{%LXCyruI4nXI*qy#7hd8Kc z=_9;82+2dRLHA6A+2j22kFDE{@I}LPj3SKER3Ef`Gf2N!5Rx*OujfSZmu0!z| z@y}w$4chkcPoTps=fSc*{P-rWT9BA8lz^LmVuq2V2unIdxhP5#HOKLl*e4gkRJb7e zkgO*qv<@vQjwA^tBR|EIJIJV29BF|wjIKF?F~l*L7>;YxG&o7J%91%pI3Hx0zp^f0LnJnl@O)E$3bo%Tm+>L@Q)QRMkHeI=tGrSg4>vZ4S2Tk-g) zJs_N*?Nj+(=$UAgw;dDoA2D0QZg9@ZuO?Z!B;*zeyWYzS^i0o-9UUxan)zuh3a%v0ZG&3vHK z^G%2}kxHOMj+Zmi7T*zp-W?F_ArO6T58(Lx6OC0H)@f=)O)a;={TcPVIwf^t{5xt? zH~t*9{rt^PwGn-Tb=uH>$C~-1su1zP&RgS4Qhz4sXHGZa9YU^m^Y+$3bkI?DW8fZ= zF!($&=}8Fm?- zj-(dYPx?!q|J7&EmA9SC@4VKLsiS-nRmbllqN{h$ngX+W=G`CjM?(AZ@h4xwk4^>k zfsjG_V8np_4Q!EMEGS_ez(1g2DO{=nrfAC|Dm!*6f2>C4;{}DpZde+yIl`32KRK^M zrip^|`zMi*S>tiuzH7S-rAGd05`DAyVFrLB#|BU>2{N*6`!V(ph#1w=f|86f>RNS? zxIhdMP`isC8G1u{XEDgkFo>o?gdC7LR&Y7+9l0f{ zoNEbxrhl=!5Y5no&^?QhzgTl%2X~~3!2z3eM&huzVA`t;D%-Jjj9=n$ghx27myC5U2bGABQ~6UiGM_FeBy^9{2u%^X{YCJ$Hce&Fh#fb>@N)ci@t}1|RJkFtplzK?!tELW_%-?KTWrG=YYm~y9U%bTc z<&*?Gptw1rg-a`&&A%EqP@<>fVkOB%(ss_by#t=pTN`{v_>4pwPC?a?o=bH{F*TIBuV!TH^38QomF`~| z%4Yb|+G35Dt}&={Fi$LC5w8^D!1Y&GtCtJISXO;f!Ahs>Szg(54>UB8S`<=bqaJ+L z8>`9r1f$vhGgyFrmI}_%mbbuHycU`~)WxOU*Ap`(q@-3HDiaqA`s=Fc(hY;Q|4E5n zZ*>@B(MVtuIop*&SxKgyht$@K0a7esqBxWDNRgV$cr~h0-2*~p8)9D@m|IB7oKOJ+ zn+fqSsvpaFZ2+D!Ld}QoD@YH2cR4bHJHQyHTX5)Xc(mZtJ|TFuPf=Kpj@)oJoZKmZyEXDyo;;RjS-F>2!ecOYJpkQD*VZ0h)sDX4o)8)>tV?+NhYT_^dHGS)yB#x=8F73ZRn&d>|iI*Sqb z*8qkj-=os!r*0;u;B5kRwaNn=U;=!7BSdN(?RMaQ7Ew|)wHVKy{zkKmi!?Mn7y3r< zMPFO-8f%Xl=VH4hX#z$FCI60r)7o^})4;MqGoLSV#Er&lg@9!xAZRkEgjqR0T$Txz ze;?7lAZI8D8Sl&SifFPlgU(f8xKh6EgBl452BBA*)oTdiuH9$2zVSa8=`}ddl#~bR3SzxNqr^nB&!n{7spWV8(hx;^1sscMF~Wx~6t;$0%(WwoJvKw>&@G<79FYYe{@2jd~Y^avR8 z-=`#0*H!*`a*K9!-2OP$sk#P-jkZtj(DUQ`kPNRlqHt-le05S9gt-op&mU;zk2X(@ zS#OkAVX{l6SA^V2sloQCA-S&Xo3lRuXb5$!C~6d?qCD+j_(=!)_ZgvJ?X#^sn|ob8 zzvS~VJ~u>;I>?Nc_0I7RxFfzjX}#VDBZNgK74CDOGp@8%}41xm|HtW1k5q`{bMw1u1&8g%U!_dp}16% zOG9Vdt=4)nenI#S|Ja`OpaE{2&91@m_VCm(X4sYC#g8t#bQC>E{spCp=^s#rGytGnzW)K`eH;J^ z?druO*T&TU0L9DrKcIyC2b7Sc^|I#i_H-=$i(aF2G90`RSmmYBER9J~5awz`I)B^0 zmL_|QL8Y)py^o{`ii#6SC0zQT6E*ah*5GENxHg6=bk|r!{tNGv(GccPle$J<_{l6!S$dxk#NG76)R}H{y_B!>S)G`LT z-+5Yej9hv=Y0xo19$$C=UM1;%|6r9VdBjp{V{!_8hpX!))HHJI!^-)>W})x7`eT4cj(h z4EKF~x5!G|kXej^MJFODijwT=z1n>`r|%Mgpy%-NQWh*INs-efs|k>2^yUyyI}ruW zr$N3YD&L5$6;T3q5Lf6>Y3FJro$)f*hr- zkR&V)I|dBX7Z}@@2IYs3@a*aqw{KxUf8~uolKdDAX~LMco-Na{FRNQ$ik#5gWKx^r|B8K>^D3KVU83L;If!9(zc&3vClPbtM2WR1~8%)!H&73~m& zySZ3o3ygF4+=#>xU=y;x%P7<2kL;m_kqLA7G($rSbJV07tx#f{s2g+Pl&>P|cfLeS zmfEBj3mrRh6O(r+>UmGc#vA5+xeTuUs%LIhZYxC+H)ptRms?K|o^Dc-5jlK`^mP=a zNAi@CQ+5dsO36qbl0v_-oC027T{^IUFcoaK(1NoK(@TMazvPEUQdc352M z_n7sbB_+YAY~e+*xjn%D2O6WJv}mg-2@lr<6_-!Nr3b+%4Yrlb4MbdM3q!wq2j{0A zu|L$Tga+Zi%*;8Bqx~`=uj1+%6gvjr=d^O9+-G$o^@P&M;;!;y_e!GDqa}3a!1TOE& z2XRIv1WDNjks2Puno8repwyMA{Bj<}rX$%o z;|4>S@#kAv?2XHV$X#`aRJXo2V{I9yteITHcY%3+W8p%a>K3iCm2H@c*SUi?FgkN2FcjE@98%mYAtdm z-&iRcB^A)L@99>rDHn37-qUizLN$`MM$4t|GbVT3&@vXWu6UT?9UuLFuVW<@y%ftz z_b%XJq;XO1u+#=fI*F3VX=L2WpHnbRFT(-<(OO8-$~8yC7;0e3)C^K{1Xe^@K9JIq zW=U&c`a`ZVcn6j2*{b$84zAZR`YSv9`e?y2o~Sasb~MxZ4+c^nJGAaZ_%mO}Nm?%y}d_rRjN^Jj#UV)m) zGQSM!8SX6StG3G*KAA|%poz4UEaYwzHTjNnRAStuzpnsKq^2xfPzPVG$H%#u~S<{(zz7UX>qci{ZXziyfJ> zv)ooNrN1mI-bn>XsZg-vYpufX8X~7PgN~+^cT5&fB~hiC1OfX4Cf^9$(c-I=YDrd~ zkX~dttwrGyj}pT#m!%kO67cu5EHdr{m+W)h=dLl<2xG)0+2I~OXZ;uYnf8?K;!5QT zl|WIywKrl#Ia%Do5bGP%gv_&lMHmt0ZT*p)l6cSjPyjJj5Q#_$D8IBl1F!lU1JXH( zsN$}-xbNo{4cvqp6=ONb1dWqc@r` z@&fOpV{>`+9s3wh99z3j*LM22%Y>@2zCn#wcKV32rhxyW^u+z6oF|*ckEB(e*LL83 zHdl7tL(2hM{qQ|drlt}E5MZboK0DFdeu4+BG3kexk4ScTF4#C91@p{A%t z)*ZO0MD^0m=p7)Z8(=U|h zr82Q@J_ZgfT3)m2;5-PgeA}P-gasBrhT0}az{?t>cw*{m5fS4x2t?5?6L=6qC^;C< zds7}M8a;1(gZ!PZe7hl9L5GM5bb}4Vpww4KAx77%#Gv%;k3o&><{>~BzmOMZV%~oA zH>&VV>rTV-AU^S>+i8+G(%QD4W>{CNuWo_1P*VdlwxGpReNcK3A}YA(uLLq)%2~ed zfxF{y%;MJp|BMKb@?P+=kCJ*+@@L>S(ufd47Bx`#K*VHrc?ReEr73!<}Pq+ayZZT7EA1FI-M zfL?*!(zbbto_hITQ2ve3j9~mI;V?hO6;5IC)SI2fP;TOsZ*sFAv~n>%L2k&XBe8b8 z=AK*Fg7K$cYrUufUQ=HbtB{AZ0e|X6n45$BgzCY7pUwW)OR(-_7)`0p4lGUD2N#nvl{u5SJ9!Jd@b}x1A#TH6ZJX(|!#2?Fk?q%(rF;1DJo)HrqpppX_O0RLjA#Q&2ni@C? zhr=3S@Co>DEVS~XS?$ScO@T`WS^ddsR^|AlIW!`zJ+WRw=(1*(&d5zh-ftH?N~0@E z<4avb*4H7cqAD;B>zLIqx403m;D6&S>p>RJ$z}T}GtJ@8$ue&m8;uy;vkBhOcFvoK zxvc=E;*0mfsyFh5l~VJ{A8o<2$XwF6i(F1qDjwEQxh@_Ofn;v=+|u0N0-%Lqo^O|v zS65_oFjU0j#6Ik<-)`^3-_-YC%Z};a{N7&flc+s-rtjUasf*YNOis+6%DUmYj~sa3 z?@|qLzfv)qerbo&7xT51zJLFD`!?t3T!%?(GIovj$;d@f71<0u(jrGX(sN|&G4a`Y zx=Gh1baX#<+{N?8%=`R6PL4NqTf@J+mtENshfPb`^|Ylkq{1sAgHY_TDFngI9U`Xu zP`yM``IM#DS(JEbaNpr#>-2cQV9F{fISfCjm*R?DG}xFGWH-TjVv*7X1$pC*YRY;w zNb0ib{p8pVZsWLu-R?y67R?>P9fYI98m^-{_N+l=F`Mt_n=sY6Z74 zR7?eYAcaCU0zcTpc+DamX~hkFG4U* zTXueqp|YhBxc!m97{8sONKEQCWJ7}J&SCljc4R; zn$4dkx5CArI^Q2JKOMAtAD6{8@H^!u1jmb;)I{)9J>de7LOqGf23t44?I$@;Y;tHB zqQo)1n?Ky{HG7`kmPdxlxg*pRo!0Dj#+V1>kT3OfQrrYpGMzf$_R^ewZ}R=@!!#j{ z@b06Z!5-|&st>jkH&sIK+ySBJ14zf8%1*6gqG<#A?Ev?lZ4w=_h%{j2X-H=g@gu%5 zh#|^W$%d5ih6E}?p)uT7{*1bFURTQow8a?jo_!h}vkrMMdotO?0y7`p%T9Aq6Z6#% zLqFxrm;~8m<&Yw}H zS(FUfbiD5mH62YEJEiF|@;Y)JesPW%prof}5x1gFk^ch*4c+$9Eve3^>ip7;l0?fo0Cx6F2pK9@#Igk9KqIG*c5(tPZ8H{6j; z#qyDkk016E+$VMgw7S|x4_+#_T_AQ5 zqaQj4n*q&_e><_tphb)lhx~N>SY4h%sf;F{(x#X8dY5sB+*RjcdSLs^gIXWqy8*N3 zT`H}sZ1UBti+aI1vc}AJQnrcvs13SKzJ(t#Ls!D*zE*Y(stq{TCro-7!&+2bT;;1& z6M2WL|1wxMzESl#M#b>a;fab>RDS|vv{AYsR+I4S(pMJs)lbF$=X>N{nkzs#G<@1e z&)=u^c{kp7Wwx=pIJjQ}hAMnBa@Ds&T*sP(9mzo%_arVCzb!6uRAPyAMAm)jEsNO5 z?(+UHfYW;safdX}bhVZ2K)VvU&wJhg7w_ONn{4SEv>WI6E2;MW^~U=vi?$#~Rzr}j ze0qZXp2cXQFc;R4hLo27pCOQ9^Lv#;1E_s;UF%>B+D8on$fNZMdhyhp1H;UQK6JSBS}LSH<5v-OO%Si>!ZaJm$<^JXIFxiIN}O^ z@VXH9)bi8}(}r{Dn&GGa&%~s@@NDWO&*v(5;1Kmx`5h~5w1GCvA&tSNf7oOPz|(f! zHaawLS;$*){d$t;57Set?GtD_JC#0*JB(AGR(@(lXhZ1CGrdlsO}d+v`PSyQvv^)N zdfyan+*zHtV+pa_-%N161n8OPMlqO8?>`M{YdoTqZ9N7fJoej2dhEwzH=kJG+I%|& z-+aLyV%%ige*D;7i`-PgwtjgYqVkHq4A-$qjF!^8XO{MR`!y7Y7qMH_K6}scbN6Rr zU?0IJLdCT^X9u|#3hupsS?6G=Ct5c9)50Q0)N>`yPKt-aEViEcRlbifcAURr zR#xBoHWn~1kecaGQ}B2@*`U6zCe%Y!W`W-v7P9@(?GIf2L(uie9n*%Qe){YUMcK8D zuhwC`>18WmDmI|54$A3&8?vss^-ZIo>qIJAKO&#M3Xf0az(0JKshTp0*Tk(Um{eEy z`1}MuHu4C2`vwkV@b`E}QkgM<0JbyhPfyEA-4-UB9fp?9tzFvZ0S0*(OG321=?)sR_E^dt=|} zLHcb&b4(g>)o+yAJ2MXAY=z!6A#mz+wRX9h(UYUKyEI7dz>4=+tr&s32qZo3OJ?PmlW>#lm(Y_IOxKAXxY{M_+j)lk?=&MV z32NO@)V0rgT-nTGioNl8;DOsTiIg{F2-V&ZTy< z`#hb~I5B#e&piUjDGF^1stcdrbtcDdyC~at?fioV^`%I_4fz>q<0bdzDP>RP)fc%A zJ<#R9i9qboC!~tSI?7yNFMVrBL??C>^}5|v+hx|91glvCmM_RE({<{7_{r1PL@8m~ z`P1k|2U5nU<3myM{t1#kw{2qAqDcwQOMka4p88YPBY=tq<`b)LL;CTp>7~!93Xb_( z@yQS>&6{^MAozjZe-o+4O4q=g+pw>Tjd|lhr9;{lX`Wi~sv0s)*Bv#zyj%Ai6WNjc z*srW1u3tt&%JE})R7C<`v20fgaz*WPJ)$O+z&uu|3U$gz!OhrV1G~9RRlJFKr3}rP z>n`k8>?&%|e4o{Yh#}^KK=JNaZXTg6zS+I=;=OcNYGP?Y3K;kVmS?7L z{#cNPyIP5*L!4e|MBlR2jJgvAuo4re8~I# z0~!UBoE~J<7E*b)ohFh-(?=b27``55SEF6e5a!xj1lgLe;ygH4H$y}?@LkQ@BuuoR z^P5V3&HouF7VL{I$$ikkFYrP}Bkd*QG-%ZViC14i^{w*Z$bFK8qUhq}gg2qR%S&WV zNsxaP?Zfj|N-0A0IBS${PWd%Xl>i&O*A=#Q$;g%ZQP#uvmbG}lN~P=7J3p1fy{+qG z_sdsxp<`JCOh`$Hu2>^~%bc(t1{T^i4b^4e8c4VCqnquwWXNZ*6TfM~mU=AYHLZ7= zCSl2W4l4to@K`ZUCFPBR+!{f_;Y#!*6tbgpb>ui3vLyv@e|t?X8*EyV!FTS%=Sx{o zO@q#`fpOxKNZ0qCXpyd~DgKswExQJkS!ewFAvIG{oFUoB@Bz3RD)ckhfplE6b&Ov% zGR*qKlW{C7K?$LzaRZ@OLJ!~qMO!~-@dNM4tW4BKVc5v|+>skL`cwNCa5=}kgRwQ6 zbiVsIJ;QB|VP`|x3un1E9Pu_AD~b$>7ECTGp%|ELQgv2BY~6YF2EkLB8s#Po=J6o= zLj}coQEuegClok};*+EVmIko-BgV_`rP1D&WvB>ak8i4Ne;rb#C(qpuiBTrf(@9il zYmDMd z(FK$NWuP6z6l1K~((1>w^#{3)GVbB28;~@V)X39;OmL-oZAD%F@&XpsqLrURi={Km zoW197$LTb}#dst*51@({!hf;nmr4B3EucttzCgG!s|xb1q4*J(An}CG`ihgpqtW24@WGjgdLB z(l_K@K-borq5_{!3njD9ndj(3!j`2=N3gM3lu*r$XLEH9#Sw@u zVDUV@4hCrME!kFoXr91;nE`TbDC5PWhsJN(nt!Zs<|efb907v7jZHcp_r`=GwrFWQ zqCRk;o~4asNT4i64be>wfW%^}DuIY*U+6@F#J+iL?x+2JYkTX%lK%oH?(OB+&9M0# z#sPK!ZNxbuB7$#o(D107A0Bs&lD*^rLudsr4}Hm(T&rTg{ptx1}oT$J#ASmdEEh}+DHD=P6K=y3Io*j9T1k_wo za#sKYFt@SuT1WGh7owIKmeSVWoTziHca-ht_Gry%*TnOx%(yXZel=!yB(8mTrOw1x z$Wury1O$AgSe>v$iH<%syYw(J?Y*RbH>C<8p*Tv|-hU@=|WRj`TlKRE+MInsk z3r31%^)EAIfV8(}sy}m8+9cqDH<9GloJ3yDdtj1M(Zt2fzdy6+uw@sQBO}?u2SXeX z9nD|J3!eWhPHX{d!a+>Ia7zXM*f~*n#k0PhIR^(j2-JR5u5wPsHt!OQ+@s^KkOQ9T z-hF&v)_FPU*n}7RL8c78>O9v8-SC>Pe1N=W&8Mr~Tw!H6&Hp?QFgP+c*n3gN>t;6= zy#4A{X?@mZf83&T;Su#&j=(=b;*cJV-*yZFZ~MAEEIXOd6HQI9`MF0W6&~mbX-@JJ z3h*X$v!|RFNc7sOPD`b?*WBi-=uSf zZg0rmzUgdH-4SMYZ8~y&|6J)*$*20UBoJEdsnuUywoj-qV)0T%-AM9@C%b!EG|V3w}IPxTybLnKWV1q!^#G##wt% zA&%VK5mW&VO)mglhp)f1I;ji^CBQ{Y(lvnn;}UM6iP%(n16#O7cr@%TIeYK)n?F7% zM_21H3~<1p092A%-7$%nSx=HHVCtc3Wd9*AaOTrJyQ3W8bbX&mv}*rVjB;e6i0#Ix z5ET8Z&XfwG665zEpl@flnIwnxr`UmyX`TB?HBBVvDB ziIK$*7#uvi)0`~6q{>}haQ_{_m~|<6r7k%I#!^{p#3+zSY6CVJ3qtL! z4+ao9D_+;r#SV_sp=gV&$(pj-ur?iUjOADFCK4uL*iq8SY{=MT)+6W$8m{g=z7W>q zUQOxWq!)?0O||_N;^M|=Jo}H>+*gah_*cWj0ZB|p*(4=QsWnvo=J=K?QENj>L7XIA z^XvS%I{ad$&e7FQOiHkr(Zke*?Y`3hbXB$^eje@*l0O$9a_|4PngM>; zzewiiD_2#W7zvxbyM2->mTqGyGLG z=bH|^+H*QL{p~p26GmB5gH>(m%!Tp~4 z1<(w3>@WXIiLq;PF@asXI02~4X~&FI{8@B#2L8$M^F=>enm@$QgL*Frj3TGL$F8}N zK~<^ml_cBaZvn);V&k|Ef`oj+2Hf=qEp3AO1L~Ql$DndwFz;6Nnz5yOFz|Ca{gDx&Gw>J+- z^Bk*FKJkHlN%=+jR~Z&yuuCwZ)t7fvEWP}t%%8qgtCM=@EZTjzgMlT10l?=k--)8Y zCy_(z1EW@q8<+3qaVG7(5PB<32<%t1x?j#r1@pj-HR=N$IX4j#n1gCumeTBlYMhY* zcsiCS$>TH8c#v%|0ETIBa&r5i+e(5izUl>PDN01wb|lq|a=mn?fT}fw{Lvs_Y|av+ zw0?G}S`QpEEeuiU`6a|NykIB4n=CtZVMKM^-dS-bhAlDL}j`gU%3ZF+kN9)qN2=qXE7@l%Ug4odSYa`N;_UfN$@xZ@xRl=cAe8mpba9=vfzHjaifooX%C8jdjzN`RNQz` zc(HQkFz&mHUx&JJieZGd!6D+l-NBO6L#GE#@>GY+ri2-{LZ5fEj}Q6vXBA{fV>jx0 z$Dd5Un6R`^rGTzqo?`h;BQ6lY|Nm3}9}0922yPr^2u2)w1o{W062uFb0^rhrzy2G6 z|3={d0|;0_fq(VoLqGtOR<_l%HllN}vLpzH{8zBLnyTRmISL6{s>$)GIwhvx%(C*L z6B3g$BjXZHO3-k2a}Bb!O}n+%2sdz|;}Q+KJM~cFUnpgqCdFvz=tOBorXj>n`}Tk% z6X-W&0c{#M`356ELRk4lav&f$+Zvkbnb_-DIhg7JYFE<(s*eBPj)Zizq;s})pf@yf z1e{dw@ISM4?s@)mm96&i@vv&TW@9Jo@7{R&OKw%ZBg0{rRe9S*RdQenVf}& zwwPG@$323!XebFGOaU--LJ=CSKR(Lccr>$rD)801_otmF>r2`c#@zD69H=8MUc^oM z*s`J9?eTF>aJWkJod4&?$EW8bu})NxO88}$d)FRsmUiZbM@A&s^Nu}Fht{ahyKP+t zUDeGmXY!}Iy6|IEY_XO%o{*ZR%J&erSYhjI%!!B)}Y zVV#&4AQ>3Hy#F^%==yvI^i{mS&NK6%>r=P+p=)mB=5`L$PgP#~WpU2G`0e8}?9#g` z*7I|H=k|&1(0iWzyDLvyC;q0S_LPZ^wMep&iN~v}TMI`z-IGf&(kB7l&W^Xe=;d3s zZQ2t<%kF220-=|Ta|-&WNic=E7n2uWu3$g~Z^$P&%9J=fQiaEkV1jA3>PHA(-tU*b zy(&aT0q2nX(O?INbRN-<1cv~1?~o@nFYgcc3>mTgK6ty8gT6f*qhONScU%2yYDR*L z96>*70(()@bcEP0G=jMP7nCs_q;A5qn1VzZXVLsuuP3Re3JT7Gr5FFbBM|w7{48aj zYa*$OxBj>YyxBW10D@ff=A3HBS=Ipq)0;k=b#o$W;|PQyPmE5NKV zzZurwgd(WfN6XOI^unu|zw6zofcao97R&AT&694t@y7+>7XE$_?5|?*O=01Yj2{iQ zc)6QIh&No;LtpmdsChyIPKL!ZZoVN3#&UWmx|zJzOH%dLf2Ia8#NryC9TiDwJDMC6 z;~)xaeh;q>4%%}NHNdj7z?%87yTB-ZVQR-eB&DC=W?J6d#nOm$n0y6g9_jF7<;_@d zVCq?iw7lW=$M5&Azz!tsklT{KvAvzQX@>^^wQ%VXjn|z}9upris(^cYHF_flvyrVOZ(8_$In@``>xm>tT6P@21w1{kNQY7pQAzPJboM)nS_*8lV1`#-e_ zc5u*@pg_4aX&WqmEr7o@IJjCcECPZppm9KPYd~G=zXuNhDs2Od0N_YD zYe&F|PCo#4!RV)ry~TeSqY6binO+7&uSXRcPvrn%TQXP_M$CApLvMF>jIDg$FLQ*}V0R5~I{=&U&5Zl0ySdg>nC`%$n#dFw5lZLZ z@Ea{dX4}?<=4FCoK%+PLHp)c{#9|Q-G(U5vtJGtT$TxVEc@JAfp573i-l+z}4JMk% z4{o@8><(}Dd;~`e#D4wny+4yWzczFGQ&BkB|Jnw&h*whF)QgV5ab*s3!Cn{AOe;;p zGoN3^R^7!hUQvD}x;I7p6-pafWmuprX($$XPvj&eho~;rZYAlZGD}@Tuo4L#3GtIC zJ_(%%?F{)jvcWt==! zL4cYf%$Ozr>YO(ifCHNUB?ro~N>Y-F_C`iBwttVl_tGOz!icy|2Nd-js8&oFWM9FtJWC|h(VXHs7Y1sOOaF!7<~1lL>h_fvovOO z)DXr!71xCB!*s4MD;$pTYzVSML~j!jhuNSr&ov5X_z{W42Av*lTd)c!_{@E)PT$N zC0sj-%b}R2<de;7-^1rstP-$KiPL<5JDHWRXV~& z1e^;m0ai5SRvh00o@e}biSTeszv+AN7zriJyK5TBIgO~hSwe9!Xb)57$n>p20V>+zAIdDGraShX|jEPlT`dTf(gQVWXT>}j;y$YZ8`_dW7viZWFO^6k&? z)cji^;u39F2`#tD8u41Wc#}J1(WObjABBr8vBG#~Q$KA<$J>zoG9G~9CDR>7Y{p^OG3mO-?(sJipn}9t}m3BnARmQKkHGYCEFk`w*v)ttY6eKymF8gV^Y-H01?*)Qkb?d4K=2!4?u>? zng~~2?fvHN8SWRli-TTiUPD!u`AviWapy%yWvS%HY=)oTTB8iSPS%L{tF1T zYd&pz%R&yH>`(iuKE4^J80GlNs|8wUhrYDo z?N#XNoc68=2za;e}q_>cb&4Dt>H`26qJeTkuB5=^y&;Y>T#6*SU0YB>jU#^hgfbTJF zFseX6xSnD{{E9Bx=UPy<8bhwe%vMEnVyA^-WF_$|(yMk%(r*2g>CKTSi?O>)B?cN{ zBw?sf$nD*)aj5uFyA*aAOVaup!D8aXq;jY>u{%rMIM5Tce7NXRPg2_y~D@d*zO zhI3m4Vhc~@r2%Kw?wK|seBIQ5XJF2p^~X@f%)bfGwr&uWWMVAYxlIW}5WkY-W-n(v z-qVboDO8GHJ&f9n-4ieytqpZ`#Q-uwTDk2(`#%nzEYazse|6r_za72-GeVGC<2*hh z8OR|p;#J2K&+5e)@(45i;ISvXX%8qwi(Fp7ff^%Y z&JLJMN0VEVSUn>F1e(jEVv}|`I=4Bj$_x}gyjn8%!SL1HF5O8=T*LZjtuYUyi#~23 z{_;5=Y(uU9LY^uU|MUW7Y+oQpdybsDcxlRsBsVLQHyR|$;d$j!EJ6Bv>$0&8)BR2B zsWa+x3_p84(<(IHW#ck7e% zg2%Vfl2;mKv27amnRTXN*G*q-ztK7~@XYqN#@2(x_sPWf&$jvm8U#YaHP!06r@y(n zc*YHS&f~BC7!7%T%dc;ZpBVVk@_PMzeji}=IcRQM{&fAL6(djO?W()}*Gcc5M(s=c zzgv?rY)X%eCfg?^j2L8`->J>RKX2#1qWZbyl*T&t?t+%DS6nl8SoF`(=9y9ZOWz6o z;N-~al!YJfu6`1i-gv4ZtJ$Dp+xeH(5B9&ac+mU(E|zS*9n?6u>h;p@yQXX{AK2%U(dmXu6YHg4 z+A&wBAM?2Blj+qdFYRI%+vZN)5OZLXX7A>&KR@EP<JmNFKwvM`u(%L<%y6xTc5qQ$#SPKHMnDNM{}2sg>}=$w=wPf z?zMgUAGbdF$@bSCHu|?o!#_r)&un{n%Zw$3;U(!!!)@$EbHt%NQ=*y=J|26fNqhZ; z7fbJr+V$Gn8N+9MoqS-0-}-u$U+t^-X!VM)WBxND+JEN%+N{oZwpFySzt_KP(v%6S zt|S!f|Dx-@w*%9T#Z=Av>Bl}HwrkCrr$s4pzUgND`d+#scGz-{~Bk1yZ^sV*?+MM^yjXf z8_=s&V(?4#ZvQi3Q0G}+y>%!*zE9JWwjp=+J{)ww@1v7TI`#YK`0O1s2M!rre@Wrk zr5DEjQ6jq?G>m&7$8P>0TlN-L3msQ7S zhelbOPdQxv_fcrgXmoU1_$S(pkJ)Yi{j}}km8IL~y!=Y>sk_B(-`;#+y|&BlnV0j! z4INW#ledj*GCuHwB}exr`dsUn+~Ll9LoYTulRGBr!)Z_VJt|pKG2@NP+XnyqTiOp( zihI{xKVaCE2K)ApAMICFdbQP7Q`AN%q<(*3;NkiPLq^@|>Tf?&XDy!f^AA&xzgwwF zI~%?w<-8(!@F080i&0&MfB)0o8QX5&7=HWo*+!F1myA8fP06Wv@8NP? z)jHMGqg6#STQyo8oxktxg-uY8=$1_nCkCx%%DVe3To>GN){a*Ws};BAd{8%{ui=e| zeJzS#ll6bJZ|Y^=cUD}fYfZY@+7Ni_*ZAT8v5)WnS66X=?H`l6wUJF8JLQGuX@LpN z^E&&fCZ1mO)48#cy*?bRN>ZQgGkQ|Mk+KM@`n!I6syYR4nGj$1PKULFua(ySY+?EN zUyd@P%DQaInKruq`(1C||M`uZX$tM4%#4VAYLb_07wS3ulb)FPX zhMlJ9=|xwW554x3(`SdcVgK#xPwNmb9r%;>bI^NjvmZ?1T2$F_eORt~xwW!T)T`9Sk2bA4uI zRLhy_ctz3r;He$*=5NSO-}$P~wY|Z28g5V+B8ShNZ(jCe#?cQ(9v`hb`um8biyAAk zmjBnh@@(Fxg9rEh$a-bvi`Rp)&+jYo`Qz7H!CRl4|8Y=%gFgDm&<3Bkr@sGTpl0Uu z>GAhIX__qyd9l1xxbLJD>rUz`7azYG^lZ-BzI{L3$3D2%qTY$~7bXp%x(>cLSr2ZtXU#^zz|NM*FS%ckJuO6L$yCd9mux zS>2ELZjHG#;qOmpMt{`cRtH<%AD*;~U-GzW^vjEF|^2>TM*uGVzM%+_;{6pUbZ zt4I7i@=7k##kDBz&x07Ffcxu(v9#t2Xe9-KR(q^;6Ig(~qYrhFO{Fs$B!azbvnJy*wB>ReKIsZrmB%HM{Hbzq($2 zVP@NuwVPjAT<^yvwWB2h^%A0wys+}> zfe{sdR(G~Hc!%@I(XM+i!<|r<3E3 zHw!Pw|CRZ3&oSBBW;tIDYLLBka>Sb6VbM1?x2^Naf!{uheHt~VVpqaf&}Mz?x+(Ac zsfz7uR{5`AH*@9JF9q~Hu=ergvMj$ZO;^VZn>G8t)QFJ%-PO}aHyQis>OTX&d40>& z(SF~_j$NFf%j*^w-RAz?bMo^$%pVmuX`Jw1!}-&``(Rn>>)ZCdFm3J9S!dT=XuPlS zYY$qkT)lj3xz8tcjwZ|db@xD!Ghkq^u5l7bIkEQ34kyY;m$QJDG))J-jNI zfj_a9SVpH|qgf~>T5RZ@l`7htLt7#>9v@GmGqmu2ON)}xvvDkAQyWX^$nJq2$H&lm z%5Jg|Zy8n_*djIY5?o@fbjrd&H9qB zyX!nk#%iM&TPj@$6(J!9pUt0@8r6p5SPQYoBz=s9%FU&9+`E2-vx{?X!;L@1@QQ(0 zUK|-O9u_vmF$GUp*A2PNA*$E4B>)B{1uSZx+Nl0~^57z#t-t*BPX1Av1v7Q)ssp%6g@P^>POPN$8z z2AjkQ#HPk58691mOxa*nMqR>a<#rouhK*<`lS%6E(yX-F1~QQd=xeAP33{c{L+wTj z_nu!u(eT3Oy1O)`AkA?mwkSy-TL_F{b$Oo22MMX39I3>C zi>VAj>On7SL8E!WwDA_Iz+lu`4K^ zhM*iQ6R22+ijWW|sIr^Ec=V@Bc#)#Of@9{6lzG-HVykLst$_i1mRrKHp%-L9N1;&1 z@~^Z;1t;zx3MiY_kjO^%_ROntlQEY8fq)ah1>{;DA)$V}MHb74!@W`4N=$U5>;-~I z#4#q?&A|RzaDb3b;`FME#UzFzB?9AOfO!!|s_lBcu~>@u7!x#Ul3s1k!F(twV~XS$ z4;yGeY=Bcx=pbU5T(H)Ha^WzvP>j`xl(dSr8CadQmK2Ys3Mk&}c)=KM4pU#y%5dTa zQHFkwk|5BaUrn5%jg-|Vw&x}~oZhioS*?-Njj5~&G&F6YSsPHcw);z^t*qVRl_!A@ z0%M~9mowMG+8G_^2ZGnfd4eMUcku?@_988iadzf;`)ZCRDik$^b zl#-y-fdMhmJX^e5GohI#vQ@@a$8kTfZ!RTFiXRt!c-1rby-$nVzv2zrx8(5;m5E>^!KkMbP|Qj? z&{z^ZyCz8Z6d-)MjHJ|f@Z*Z85*2012QJ|@0Oaw!Pm=gW&;v&f^*~7!eem%ysVhNw zp-@BMIwB3?MksI#5GyNV_`Ksa+wGR|C**3)fSd>}DKYk`R>ky}&Q9J|$q@>N38PN`*?+V}*D}C=!n8yLIF2a5Z3Mi9JyD5uyBY1;(Rhs;sAjqITw&Jf&UJXiIjgU#-1n_ z8yMs{dtjl8kgFhP7?w{pfcan`n1y^^t_kvXCP+{?VkcySkW#XnO#@KxH?k~2{>7e6 zI%ZcQ9pX*i6_FA++(LN_6+LLxRH5~e);t&X5IpX7a?c|vma}ntNKCGU1cRvC4#o?m z-U&9~Za_dy!jhgLdF3<1TMq$I2t_KTaVU40>)7vx2@Lhz_-unst< z%#oCj_az<>WKmj)NXRIj0I{vZ`GR){GL+43aq;HeHVM8RBrX{~iNk_O!TpMo8d+HCZz;7LKtPA&2h;m7#)xTqZTJ8*K$)jfFrH-3Wj%hSs87H@H$U zaWRp+zGp2)NK8;B5H$7&FU9DDN=N`9cN!XEC-7|@!Cfu)>dbO@ zu~md0HX6zp3H;DFr!?bpL2Q8oPtJWMpMQ?^$edWsyeE2yB~}}4Rsac&lCmHBcNVMAeS8lV?{2Z(Cq05D&Bx%7LJVouRhC z{Sg0uB~tJQw&Kz?kTQc>EU0FiRVurNS0y$iGeS8ym$tkU81SxV@6X`@q|-SH3tI%r zpDT}WjzeNvLV`!P6yjU#bmCYX1uk5zEC+1|>i$N(9#Xzg^Z;*N@+icFA{nU)%I*aR z;KUGFcmx%LOdZQ`8XeNG5)2e;k;sdACY%_~aOM!!AcxQkvorWI}Y2U?WG&m_X&wCKtC~LSDoe zKgn)`v+%}ri9JoE4?%wc)~q8r%7w2aGN^)vRKB3aaSIJ%CUEP(zs)plFJ8m{eSkxK%WX1A1KI2;7)L1GRIP4Y=7Xz8Awav!sEBE|dY_pgQdHNNPNU zt5At?Avj)50$(x?*Fu4q{3SJId|GotgqRZ<{T9yqj5&Qq0zI}_u^>y z9G(~UPmc3#dSfoynUVqRhx{Ie-DZQ{DR6us=tclRoIIoD@V=C_%Df1Q9`!#E4y9B< zUWB6rp+u!N36U2zf2)sNb zNriAjO+m;kc{qHL37;;??SLUf`E-c`CCEZJo@9(GUYv5Yj^f%SDur^LbkD`eZs#B- zeCR7kw9uF7jn5!I7y6q;#se{AJM*4MvH~DkRG)JuGn^x z`4xvYASH^hT4@DP%SXvW=;a}YxRDqW%Q2gi7a{)tT9T#kqmHy$3?yFpw3}3+4k;!6 zoV zSeltlQ_miWz^BgM7(`=~y&|1JlF>bw zFeH0?b=hgZYi@5ui^aqNtAm~u+$hN35*E`@OzD7?Cn%j2Au_uJ>^)YjbhNNV`O^ z4_{_+DTKPRwcEM438>E1n8~dUMM$2lxMIM5hfDXmi*E41fr1mIv6MukzGreJacntv z$PuS0;MReJq=<M`fifFiZ0n)5 zS_jIaU>y1v@pkv__@l2c^22@0e6^^)81CC4fcw|SR}ZdPcRiQ#3-<+nfRrBwTET+~ z_YDjxDE2MKvvlvyPaV;NTN$Ilq1D5IR|Hx~z_0*+@b!fjU|-H4`0DsfDJ*UAg_t!C z?rpJ*FAxRgc+q5lc@O@Uzd*Y;&kfNq2u4be5-_qG z&5$55h0E{#ejc1JlsQ z$4nJNhP@QBA4r{}e|W~o2(UaZ->Vvh2jrmcb73LjDk6H4zm$kR1%?JXf9V+(#LxUL zo`A<8Gct(FnZfY#ax{SdGw>|B95nzHj?0K&!ezuSvT))Terx6BXm&IcnkQNG#;KTo zbNYnfwMZvwL88#t&br0ooQ8GieixU5yb?ng9%T&H<1FtV$)IHe`X3N;h~tec6=7|J ziXEy>rP5qMN=xe;C~)jg7-u)M#fTtyg=l6mr^{^$q$nM}J6aBW459tkn+_E07~oks z2g$pFi-^MJqEi}0qrA5N-!@*`vv>MvE{;kWG-{ywpq9=CZ6S1`6Hw6D5RW?DHl&=u zFXWsSRPF&hP+Thmy+ZpU_2ii;aD?kP_8MGmF0%-B*m1efi*xquISVW(;ed$onQMN< zV}AxAE2N9$3^2X%(@=7}pWR#_eZ`ZPM4=BEE)pij;Kym~5nA;A- zxq!c~LL3Ppco6^BAbo3%G&n55{f0%5Q_O=Ad zImr~4g^)TdaSbiT?7|f!F9c2OaX}{&c)85PxdmKOz*geC6&7uvwfPb*FFs7{DT6oV zsrg;%{K$S$ae5FzeC>((-0ed*G$q0Sum&#Qw;Lyp9J4=rKm`({{@tk6P3hVlaMZWZ%3SlQ=3paIYXAE*)^4A)dO5#AAMhFE$2%K_Yx3 zB=7S`G7WkN=U(9EIF5=PE*8uKcTgbl0clCIFddj5S>L97q=a90&y^&g?-%d{A*xKwx~VF(a)%Ezf77xR^I0 z$ra3sg9|X&?mBv?IM^Z%wqh{tI*CmjY!?R?Vz9sKBt_!jVsUT@1`lwV#FUG{F|J^N zCV8%4VLKXEuz*RaE4UQT?FJ6Q-~`vvVHn)k1#FJSV8#_3i@}Ai;AC+yg~6FgBtw{m zLkn;P3#78Tf(5*Lxq=0}?RIi*YY1M_-xchS!CIOeZBt?};|f*_qy1e*YcN>h3Qoh| zey-pF7@Xw_PRC%AD>ws#b*|t{3|1;!Ffm}Tzrh9E6NCHZYsq9r00x&9Y6x(t3WL>Y zx&BUZ4d{o#Lj#ftaG-E#nt)yk=jb3|bgG;!c7j6$nb&1!kzhdp^FlNGIY;+Q!Ar_Z zN&}tXUilbo)#`Fp4tF4Bu>z53V9X*ju!}P91uo;`w9xrXhqntZ~eKzdL2*2@8jPRSA|MFZenD<|@ O;x#s>l*jeOi~JvTT;ELq literal 0 HcmV?d00001 diff --git a/Documentation/FitFusionUML.pdf b/Documentation/FitFusionUML.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ebc1e03315e862bf9261c120b85eab33473b3780 GIT binary patch literal 15977 zcmb8W1yEc;(>59d0wfUJJxGEqvbY6;1ef3h2+ktAxJ!T#EIK6uHiQ@%17wZCruJr(Y@DpDyh1{D_O{0QR%p(Ndmgj4ue-w6`J2

jt9_%%u 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⁣ujnd{>Vh{nqax&U^#uK1jiowP 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 Y+3VZd|IrW|Cl@y>8ZE83f&|+C1zLAL3IG5A literal 0 HcmV?d00001 diff --git a/Documentation/UML&DB/data.zip b/Documentation/UML&DB/data.zip new file mode 100644 index 0000000000000000000000000000000000000000..9e46b7e15f893087ec242a8d6e674b71803c18c5 GIT binary patch literal 2620 zcmbtW2{aVy7oS0l!82v8L8(z>>`TH}Cyg1)WDAjX4CYN^i=>)tH7`Y!J)UHLg&~bZ z8fAS*LuGlG#z@v^C>iCA)9KW!^WHiC^Z$M4JKu8d`R+O2@80{nSPZ{_Bml%4R{+Yc zfbW3d?L)#y!8pGN`;dqr(ur^lq)&v8Q*;RK>)FQV1pcHC9{2TLo%F>}9Y^%_517mx zC-rMW+Q&bt7S4sni3uwv4BHX)T|F6*OQYJvU9d4Y zxp(Q~!b5y%6xBMh?gD%Y{eGTC>LrT!7x}7Rdx#LJI!>Y744f z_o;}I#Ga1K{W=RW&f3#lKvs!Mf85-7EqZVw*cJYHZNhNLXvB+o1?atSZ^=-7$Rnu{CDo$CV?rgYe z^b6|T#UqU%)hq*1F&s<94IYG6YvxC4>A{+t6U6d@UeY^zRxc$4Dr}CQEN8b|8_K&1V%){{Gizrx z4H0)V_z=c}c$1Cts*d|Zj-weHtpsQOq(N}iWlxmaz=q))dAMd3lz-q;TOpUjoIcn* z8Qqzn=YKF|hP|^#eoh}&>2;TJ*fl|J&MJ~J`+{C;y#jJF>u-&sbW@4K!S)pyu?FUM zAB^Cqf+H9m9QLbgABx8wAm=uc1Eum)j;c%<#4(rTa~`Zzz_Rel~#7;i@2tm9Wy!N-pgH%jn8 zPQCq5e*w+SzUtx1LZ0}03b%S#hoqn?fNoc?G)u$YM+>iIDZ9S)tB!=(c=z41S&`#5 z2s=Qgv_OS*83o(uUCZ*N=YAVM4|kGAUIj@~-j72e?FwKP{l*oG-IKD7SN(?%ez4Lx zrnyhsumH(YQE!0lNKNe1z#dzO3LG%oa<(O{EZ!ql(kWA`l3_ob@k^>pwckdOC>z43 z?rq*kW|uq9!rv*g1?%nS4QYvXB7Gfr=~j=jT5YvQVfr#K9uauc_SM3)$YkYt`J%amo4Qj)L?vyM9$;=@?iR)k#$h>E5;6kw>+b{NvMAF4wS5 zGGa~%c_wP$nHS>|lqej-NA4LtJm<WFFw++S;BlAf{`BJ3mm`xFyWgV=SGQH8z3dm=wGPC} z#fWJHqb;-Kgfg!@aob{~Y?usqe!F4uWUGfFl(GXRcg+59?%?6(bzfh4u%}YWv>cET za$n-k1HphW#p+=%#)aqUCTwGY7Huf5$*n=Q;cy|P;>?W^aPJ$!iydMu6|mdw3~9|79YQ)e>*1*g{T|I==vPXj-Ma# zyjP~pFH(5qCb~}Wg<|jF0h>VQt%mwX?nj9pfU>4DvL(3W%~Vts+4FC?QbiwZ10ojzJEo4J0$}~o z!^JI7+~XJNtoG)eu$=307ifsoEE92CQ-vkLsk1Y3=KjKXljyUdzwyIap)L1JKDyif z9^>Cfeis+oQHzw0H@ROlS^IYMTsBA6VV^9QjqrFjmuW!AdEK|t8MV-`0G*D>>lzG* z$R=6P_jG7m(l4V8o+T;Dhvf$c(v;TBw+Fr{Q8Fw^Q`a|zSljklg7_jkh^vRx=LImG zi4XaRAB&4D?2;cX3*Q~BKW`0*pTvPQ0Sgu+(fjElwd)CJ9;;e4Ery zDVf$x>(ojuIa=XV7G5)OhY7!U*^}$1oGqhjL0j`7jw-MInPl9eJGsvmSTF1;k zR#DK_;T>H@Nwt4fkV{vNGSoV|`T}Yq4N}k4Eu&n85ou0_DKJ9z0p|0r+{WWq8i7^% z3J*q4vr^ZaTK4F9>l&fA4$E}c6X2b^BTXDK*ZdPmnHXQ zuE>nJ6*%XQ&t{CE)rt+FP4*qc3O=O+0f4Qd|HVG9N&|3V;n645PZ59pQh;lzRUJJ? zlrd`id%K_3I%^N;U>#6Bm|pwNZVb&CEEd{dhpnMa)P#zGE4w*8_SQYmX#BidF9f;? z&l%I_J*dl@SPYO)67a2~`Cb<`JDPvu|LSjkboG7QZwk#f4Df{MUu5UUN522Q%@p|t rFTtPsvHvAuesuKxr){$F4W6K%xWQt!@Vo;60=(hEBe#!d0s#CCIR0l@ literal 0 HcmV?d00001 diff --git a/Documentation/UML&DB/project.xml b/Documentation/UML&DB/project.xml new file mode 100644 index 0000000..66fce21 --- /dev/null +++ b/Documentation/UML&DB/project.xml @@ -0,0 +1,3429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + +
+ + + + + + + + + +
+ + + + + +
+
+
+
+ + + +
+ + + + + +
+
+
+ + + + +
+ + + +
+ + + + + +
+
+
+ + + + +
+ + + +
+ + + + + + + + + +
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + +
+
+
+ + + + +
+ + + +
+ + + + + + + + + +
+
+
+ + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + + +
+ + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + +
+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + +
+
+
+ + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FitFusion/Controllers/Filter/ProductFilter.cs b/FitFusion/Controllers/Filter/ProductFilter.cs index e32825a..a7393a4 100644 --- a/FitFusion/Controllers/Filter/ProductFilter.cs +++ b/FitFusion/Controllers/Filter/ProductFilter.cs @@ -64,55 +64,54 @@ public List Filter(List products, object param) } } - public class ProductFilter - { - public List Filter(List products, Dictionary filters) - { - if (filters == null || filters.Count == 0) - { - return products; - } - - List<(IFilter FilterStrategy, object FilterValue)> filterStrategies = new List<(IFilter, object)>(); + //public class ProductFilter + //{ + // public List Filter(List products, Dictionary filters) + // { + // if (filters == null || filters.Count == 0) + // { + // return products; + // } - foreach (var filterEntry in filters) - { - if (filterEntry.Key is FilterParameter filterKey) - { - switch (filterKey) - { - case FilterParameter.Keyword: - filterStrategies.Add((new ProductKeywordFilterStrategy(), filterEntry.Value)); - break; - case FilterParameter.Category: - filterStrategies.Add((new CategoryFilterStrategy(), filterEntry.Value)); - break; - case FilterParameter.Price: - filterStrategies.Add((new PriceFilterStrategy(), filterEntry.Value)); - break; - } - } - } + // List<(IFilter FilterStrategy, object FilterValue)> filterStrategies = new List<(IFilter, object)>(); - if (filterStrategies.Count == 0) - { - return products; - } + // foreach (var filterEntry in filters) + // { + // if (filterEntry.Key is FilterParameter filterKey) + // { + // switch (filterKey) + // { + // case FilterParameter.Keyword: + // filterStrategies.Add((new ProductKeywordFilterStrategy(), filterEntry.Value)); + // break; + // case FilterParameter.Category: + // filterStrategies.Add((new CategoryFilterStrategy(), filterEntry.Value)); + // break; + // case FilterParameter.Price: + // filterStrategies.Add((new PriceFilterStrategy(), filterEntry.Value)); + // break; + // } + // } + // } - foreach (var (filterStrategy, filterValue) in filterStrategies) - { - try - { - products = filterStrategy.Filter(products, filterValue); - } - catch - { - throw new ArgumentException("Invalid filtering parameter."); - } - } + // if (filterStrategies.Count == 0) + // { + // return products; + // } - return products; - } + // foreach (var (filterStrategy, filterValue) in filterStrategies) + // { + // try + // { + // products = filterStrategy.Filter(products, filterValue); + // } + // catch + // { + // throw new ArgumentException("Invalid filtering parameter."); + // } + // } - } + // return products; + // } + // } } diff --git a/FitFusion/Controllers/Filter/UserFilter.cs b/FitFusion/Controllers/Filter/UserFilter.cs index a79e18e..75eb3d7 100644 --- a/FitFusion/Controllers/Filter/UserFilter.cs +++ b/FitFusion/Controllers/Filter/UserFilter.cs @@ -42,53 +42,52 @@ public List Filter(List users, object param) } } - public class UserFilter - { - public List Filter(List users, Dictionary filters) - { - if (filters == null || filters.Count == 0) - { - return users; - } + //public class UserFilter + //{ + // public List Filter(List users, Dictionary filters) + // { + // if (filters == null || filters.Count == 0) + // { + // return users; + // } - List<(IFilter FilterStrategy, object FilterValue)> filterStrategies = new List<(IFilter, object)>(); - - foreach (var filterEntry in filters) - { - if (filterEntry.Key is FilterParameter filterKey) - { - switch (filterKey) - { - case FilterParameter.Keyword: - filterStrategies.Add((new KeywordFilterStrategy(), filterEntry.Value)); - break; - case FilterParameter.Role: - filterStrategies.Add((new RoleFilterStrategy(), filterEntry.Value)); - break; - // TODO Add more cases for additional filters - } - } - } + // List<(IFilter FilterStrategy, object FilterValue)> filterStrategies = new List<(IFilter, object)>(); - if (filterStrategies.Count == 0) - { - return users; - } + // foreach (var filterEntry in filters) + // { + // if (filterEntry.Key is FilterParameter filterKey) + // { + // switch (filterKey) + // { + // case FilterParameter.Keyword: + // filterStrategies.Add((new KeywordFilterStrategy(), filterEntry.Value)); + // break; + // case FilterParameter.Role: + // filterStrategies.Add((new RoleFilterStrategy(), filterEntry.Value)); + // break; + // // TODO Add more cases for additional filters + // } + // } + // } - foreach (var (filterStrategy, filterValue) in filterStrategies) - { - try - { - users = filterStrategy.Filter(users, filterValue); - } - catch - { - throw new ArgumentException("Invalid filtering parameter."); - } - } + // if (filterStrategies.Count == 0) + // { + // return users; + // } - return users; - } + // foreach (var (filterStrategy, filterValue) in filterStrategies) + // { + // try + // { + // users = filterStrategy.Filter(users, filterValue); + // } + // catch + // { + // throw new ArgumentException("Invalid filtering parameter."); + // } + // } - } + // return users; + // } + // } } diff --git a/FitFusion/Controllers/ProductManager.cs b/FitFusion/Controllers/ProductManager.cs index 9326f49..707c7f7 100644 --- a/FitFusion/Controllers/ProductManager.cs +++ b/FitFusion/Controllers/ProductManager.cs @@ -12,14 +12,10 @@ namespace Services public class ProductManager : IProduct { private readonly IProduct _dao; - private readonly ProductSorter _sorter; - private readonly ProductFilter _filter; - public ProductManager(IProduct dao, ProductFilter filter, ProductSorter sorter) + public ProductManager(IProduct dao) { _dao = dao; - _filter = filter; - _sorter = sorter; } public bool CreateProduct(Product product) @@ -58,18 +54,6 @@ public bool DeleteProduct(int productId) } } - public bool DeleteProduct(Product product) - { - try - { - return _dao.DeleteProduct(product.Id); - } - catch - { - throw; - } - } - public Product GetProductById(int id) { try @@ -94,27 +78,11 @@ public List GetProducts() } } - //public List Search(List products, string searchQuery) - //{ - // if (!string.IsNullOrEmpty(searchQuery)) - // { - // searchQuery = searchQuery.ToLower(); - // products = products.FindAll(p => - // p.Title.ToLower().Contains(searchQuery, StringComparison.OrdinalIgnoreCase) || - // (p.Description ?? "").ToLower().Contains(searchQuery, StringComparison.OrdinalIgnoreCase) || - // p.Category.ToString().ToLower().Contains(searchQuery, StringComparison.OrdinalIgnoreCase) || - // p.Price.ToString().ToLower().Contains(searchQuery, StringComparison.OrdinalIgnoreCase) //might be used in cases like EUR/Eur - // ); - // } - - // return products; - //} - - public List Sort(List products, Enum param) + public List Sort(List products, ISort sortStrategy) { try { - return _sorter.Sort(products, param); + return sortStrategy.Sort(products); } catch { @@ -122,11 +90,20 @@ public List Sort(List products, Enum param) } } - public List Filter(List products, Dictionary filters) + + public List Filter(List products, Dictionary, object> filterStrategies) { try { - return _filter.Filter(products, filters); + foreach (var kvp in filterStrategies) + { + var filterStrategy = kvp.Key; + var filterValue = kvp.Value; + + products = filterStrategy.Filter(products, filterValue); + } + + return products; } catch { diff --git a/FitFusion/Controllers/Sort/ProductSorter.cs b/FitFusion/Controllers/Sort/ProductSorter.cs index 80526e9..5904e83 100644 --- a/FitFusion/Controllers/Sort/ProductSorter.cs +++ b/FitFusion/Controllers/Sort/ProductSorter.cs @@ -39,38 +39,38 @@ public List Sort(List products) } } - public class ProductSorter - { - public List Sort(List products, Enum sortParam) - { - ISort sortStrategy; + //public class ProductSorter + //{ + // public List Sort(List products, Enum sortParam) + // { + // ISort sortStrategy; - switch (sortParam) - { - case SortParameter.TitleAsc: - sortStrategy = new TitleAscSortStrategy(); - break; - case SortParameter.TitleDesc: - sortStrategy = new TitleDescSortStrategy(); - break; - case SortParameter.PriceAsc: - sortStrategy = new PriceAscSortStrategy(); - break; - case SortParameter.PriceDesc: - sortStrategy = new PriceDescSortStrategy(); - break; - default: - return products; - } + // switch (sortParam) + // { + // case SortParameter.TitleAsc: + // sortStrategy = new TitleAscSortStrategy(); + // break; + // case SortParameter.TitleDesc: + // sortStrategy = new TitleDescSortStrategy(); + // break; + // case SortParameter.PriceAsc: + // sortStrategy = new PriceAscSortStrategy(); + // break; + // case SortParameter.PriceDesc: + // sortStrategy = new PriceDescSortStrategy(); + // break; + // default: + // return products; + // } - try - { - return sortStrategy.Sort(products); - } - catch - { - throw new ArgumentException("Error during the sorting process."); - } - } - } + // try + // { + // return sortStrategy.Sort(products); + // } + // catch + // { + // throw new ArgumentException("Error during the sorting process."); + // } + // } + //} } diff --git a/FitFusion/Controllers/Sort/UserSorter.cs b/FitFusion/Controllers/Sort/UserSorter.cs index 89ff58e..534836e 100644 --- a/FitFusion/Controllers/Sort/UserSorter.cs +++ b/FitFusion/Controllers/Sort/UserSorter.cs @@ -44,41 +44,41 @@ public List Sort(List users) } } - public class UserSorter - { - public List Sort(List users, Enum param) - { - ISort sortStrategy; + //public class UserSorter + //{ + // public List Sort(List users, Enum param) + // { + // ISort sortStrategy; - switch (param) - { - case SortParameter.FirstNameAscending: - sortStrategy = new FirstNameAscending(); - break; - case SortParameter.FirstNameDescending: - sortStrategy = new FirstNameDescending(); - break; - case SortParameter.LastNameAscending: - sortStrategy = new LastNameAscending(); - break; - case SortParameter.LastNameDescending: - sortStrategy = new LastNameDescending(); - break; - case SortParameter.Role: - sortStrategy = new RoleAscending(); - break; - default: - return users; - } + // switch (param) + // { + // case SortParameter.FirstNameAscending: + // sortStrategy = new FirstNameAscending(); + // break; + // case SortParameter.FirstNameDescending: + // sortStrategy = new FirstNameDescending(); + // break; + // case SortParameter.LastNameAscending: + // sortStrategy = new LastNameAscending(); + // break; + // case SortParameter.LastNameDescending: + // sortStrategy = new LastNameDescending(); + // break; + // case SortParameter.Role: + // sortStrategy = new RoleAscending(); + // break; + // default: + // return users; + // } - try - { - return sortStrategy.Sort(users); - } - catch - { - throw new ArgumentException("Error during the sorting process."); - } - } - } + // try + // { + // return sortStrategy.Sort(users); + // } + // catch + // { + // throw new ArgumentException("Error during the sorting process."); + // } + // } + //} } diff --git a/FitFusion/Controllers/UserManager.cs b/FitFusion/Controllers/UserManager.cs index 27150a8..71891a1 100644 --- a/FitFusion/Controllers/UserManager.cs +++ b/FitFusion/Controllers/UserManager.cs @@ -11,14 +11,10 @@ namespace Services public class UserManager : IUser { private readonly IUser dao; - private readonly UserSorter _sorter; - private readonly UserFilter _filter; - public UserManager(IUser userDao, UserFilter filter, UserSorter sorter) + public UserManager(IUser userDao) { dao = userDao; - _filter = filter; - _sorter = sorter; } public bool CreateUser(UserModel user) @@ -113,25 +109,25 @@ public List GetAllUsers() } - public List Search(List users, string param) - { - if (!string.IsNullOrEmpty(param)) - { - users = users.FindAll(u => - u.FirstName.Contains(param, StringComparison.OrdinalIgnoreCase) || - u.LastName.Contains(param, StringComparison.OrdinalIgnoreCase) || - u.Address.Contains(param, StringComparison.OrdinalIgnoreCase) - ); - } + //public List Search(List users, string param) + //{ + // if (!string.IsNullOrEmpty(param)) + // { + // users = users.FindAll(u => + // u.FirstName.Contains(param, StringComparison.OrdinalIgnoreCase) || + // u.LastName.Contains(param, StringComparison.OrdinalIgnoreCase) || + // u.Address.Contains(param, StringComparison.OrdinalIgnoreCase) + // ); + // } - return users; - } + // return users; + //} - public List Sort(List users, Enum param) + public List Sort(List users, ISort sortStrategy) { try { - return _sorter.Sort(users, param); + return sortStrategy.Sort(users); } catch { @@ -139,11 +135,19 @@ public List Sort(List users, Enum param) } } - public List Filter(List users, Dictionary filters) + public List Filter(List users, Dictionary, object> filterStrategies) { try { - return _filter.Filter(users, filters); + foreach(var kvp in filterStrategies) + { + var filterStrategy = kvp.Key; + var filterValue = kvp.Value; + + users = filterStrategy.Filter(users, filterValue); + } + + return users; } catch { diff --git a/FitFusion/DataAcess/OrderDAO.cs b/FitFusion/DataAcess/OrderDAO.cs index f71fceb..829939b 100644 --- a/FitFusion/DataAcess/OrderDAO.cs +++ b/FitFusion/DataAcess/OrderDAO.cs @@ -15,23 +15,23 @@ namespace DataAcess { public class OrderDAO : IOrder { - private readonly string ConnectionString; + private readonly string _connectionString; public OrderDAO() { - ConnectionString = Connection.DbConnection.ConnectionString; + _connectionString = Connection.DbConnection.ConnectionString; } public OrderDAO(string connectionString) { - ConnectionString = connectionString; + _connectionString = connectionString; } public bool CreateOrder(Order order) { try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); @@ -78,11 +78,11 @@ public bool CreateOrder(Order order) } } - public bool AddNutriPointsToCustomer(int customerId, int pointsToAdd) + private bool AddNutriPointsToCustomer(int customerId, int pointsToAdd) { try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); @@ -105,13 +105,13 @@ public bool AddNutriPointsToCustomer(int customerId, int pointsToAdd) } } - public ShoppingCart GetShoppingCart(int id) + private ShoppingCart GetShoppingCart(int id) { ShoppingCart cart = new(); try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); @@ -159,7 +159,7 @@ public Order GetOrderById(int id) try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); @@ -203,7 +203,7 @@ public List GetOrders() try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); @@ -239,39 +239,39 @@ public List GetOrders() return orders; } - public int GetCustomerNutriPoints(int customerId) - { - int nutriPoints = 0; - - try - { - using (SqlConnection connection = new SqlConnection(ConnectionString)) - { - connection.Open(); - - string query = $"SELECT * FROM Customer WHERE Id=@Id"; - - using (SqlCommand command = new SqlCommand(query, connection)) - { - command.Parameters.AddWithValue("@Id", customerId); - - using (SqlDataReader reader = command.ExecuteReader()) - { - if (reader.Read()) - { - nutriPoints = reader.GetInt32(reader.GetOrdinal("NutriPoints")); - } - } - } - } - } - catch (SqlException) - { - throw new DataAccessException("An error occurred in the database operation."); - } - - return nutriPoints; - } + //public int GetCustomerNutriPoints(int customerId) + //{ + // int nutriPoints = 0; + + // try + // { + // using (SqlConnection connection = new SqlConnection(_connectionString)) + // { + // connection.Open(); + + // string query = $"SELECT * FROM Customer WHERE Id=@Id"; + + // using (SqlCommand command = new SqlCommand(query, connection)) + // { + // command.Parameters.AddWithValue("@Id", customerId); + + // using (SqlDataReader reader = command.ExecuteReader()) + // { + // if (reader.Read()) + // { + // nutriPoints = reader.GetInt32(reader.GetOrdinal("NutriPoints")); + // } + // } + // } + // } + // } + // catch (SqlException) + // { + // throw new DataAccessException("An error occurred in the database operation."); + // } + + // return nutriPoints; + //} public Dictionary> GetRecommendations(int customerId) { @@ -279,7 +279,7 @@ public Dictionary> GetRecommendations(int customer try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); string query = $@" @@ -341,13 +341,13 @@ FROM ShoppingCart sc return data; } - public Customer GetCustomerById(int id) + private Customer GetCustomerById(int id) { Customer user; try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); @@ -401,7 +401,7 @@ public Product GetMerchantRecommendation(int customerId) try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); @@ -445,7 +445,7 @@ public bool CreateMerchantRecommendation(int customerId, Product newProduct) { try { - using (SqlConnection connection = new SqlConnection(ConnectionString)) + using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); diff --git a/FitFusion/DataAcess/ProductDAO.cs b/FitFusion/DataAcess/ProductDAO.cs index c80b354..69d8e4c 100644 --- a/FitFusion/DataAcess/ProductDAO.cs +++ b/FitFusion/DataAcess/ProductDAO.cs @@ -258,7 +258,6 @@ public Dictionary GetTrendyProducts() return products; } - } } diff --git a/FitFusion/FitFusionDesktop/CRUD/ProductCreate.cs b/FitFusion/FitFusionDesktop/CRUD/ProductCreate.cs index ec3bae9..9f6eede 100644 --- a/FitFusion/FitFusionDesktop/CRUD/ProductCreate.cs +++ b/FitFusion/FitFusionDesktop/CRUD/ProductCreate.cs @@ -18,7 +18,7 @@ namespace FitFusionDesktop.CRUD { public partial class ProductCreate : Form { - private readonly ProductManager _productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManager = new(new ProductDAO()); public ProductCreate() { diff --git a/FitFusion/FitFusionDesktop/CRUD/ProductUpdate.cs b/FitFusion/FitFusionDesktop/CRUD/ProductUpdate.cs index 33004b5..81523bd 100644 --- a/FitFusion/FitFusionDesktop/CRUD/ProductUpdate.cs +++ b/FitFusion/FitFusionDesktop/CRUD/ProductUpdate.cs @@ -18,7 +18,7 @@ namespace FitFusionDesktop.CRUD { public partial class ProductUpdate : Form { - private readonly ProductManager _productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManager = new(new ProductDAO()); private Product _product; public ProductUpdate(Product product) diff --git a/FitFusion/FitFusionDesktop/CRUD/UserCreate.cs b/FitFusion/FitFusionDesktop/CRUD/UserCreate.cs index f3f8cd2..d5d7e2a 100644 --- a/FitFusion/FitFusionDesktop/CRUD/UserCreate.cs +++ b/FitFusion/FitFusionDesktop/CRUD/UserCreate.cs @@ -18,7 +18,7 @@ namespace FitFusionDesktop.CRUD { public partial class UserCreate : Form { - private readonly UserManager _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _userManager = new(new UserDAO()); public UserCreate() { diff --git a/FitFusion/FitFusionDesktop/CRUD/UserUpdate.cs b/FitFusion/FitFusionDesktop/CRUD/UserUpdate.cs index 9cd0234..3059ca1 100644 --- a/FitFusion/FitFusionDesktop/CRUD/UserUpdate.cs +++ b/FitFusion/FitFusionDesktop/CRUD/UserUpdate.cs @@ -17,7 +17,7 @@ namespace FitFusionDesktop.CRUD { public partial class UserUpdate : Form { - private readonly UserManager _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _userManager = new(new UserDAO()); private User User { get; set; } public UserUpdate(User user) diff --git a/FitFusion/FitFusionDesktop/Login.cs b/FitFusion/FitFusionDesktop/Login.cs index 465109c..125cb71 100644 --- a/FitFusion/FitFusionDesktop/Login.cs +++ b/FitFusion/FitFusionDesktop/Login.cs @@ -23,7 +23,7 @@ public partial class Login : Form public Login() { InitializeComponent(); - _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); + _userManager = new(new UserDAO()); } private void btnLogin_Click(object sender, EventArgs e) diff --git a/FitFusion/FitFusionDesktop/ProductSuggestion.cs b/FitFusion/FitFusionDesktop/ProductSuggestion.cs index 1946274..535afe8 100644 --- a/FitFusion/FitFusionDesktop/ProductSuggestion.cs +++ b/FitFusion/FitFusionDesktop/ProductSuggestion.cs @@ -17,7 +17,7 @@ namespace FitFusionDesktop { public partial class ProductSuggestion : Form { - private readonly ProductManager _productManger = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManger = new(new ProductDAO()); private readonly OrderManager _orderManger = new(new OrderDAO()); private readonly int _customerId; diff --git a/FitFusion/FitFusionDesktop/UserControls/Home.cs b/FitFusion/FitFusionDesktop/UserControls/Home.cs index e6673c9..74653cf 100644 --- a/FitFusion/FitFusionDesktop/UserControls/Home.cs +++ b/FitFusion/FitFusionDesktop/UserControls/Home.cs @@ -17,8 +17,8 @@ namespace FitFusionDesktop.UserControls { public partial class Home : UserControl { - private readonly UserManager _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); - private readonly ProductManager _productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly UserManager _userManager = new(new UserDAO()); + private readonly ProductManager _productManager = new(new ProductDAO()); public Home(User user) { diff --git a/FitFusion/FitFusionDesktop/UserControls/Products.cs b/FitFusion/FitFusionDesktop/UserControls/Products.cs index 501506a..dd2f5ef 100644 --- a/FitFusion/FitFusionDesktop/UserControls/Products.cs +++ b/FitFusion/FitFusionDesktop/UserControls/Products.cs @@ -14,12 +14,13 @@ using Services.Filter; using Services.Sort; using Models.Product.Enums; +using Interfaces.Strategy; namespace FitFusionDesktop.UserControls { public partial class Products : UserControl { - private readonly ProductManager _productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManager = new(new ProductDAO()); public Products() { @@ -69,17 +70,38 @@ private void btnSearch_Click(object sender, EventArgs e) { List products = _productManager.GetProducts(); - Dictionary filter = new() + Dictionary, object> filters = new() { - { FilterParameter.Keyword, txtSearchQuery.Text }, - { FilterParameter.Category, Enum.TryParse(categoryCmbBox.SelectedItem?.ToString(), true, out Category result) ? result : Category.All } + { new ProductKeywordFilterStrategy(), txtSearchQuery.Text }, + { new CategoryFilterStrategy(), Enum.TryParse(categoryCmbBox.SelectedItem?.ToString(), true, out Category result) ? result : Category.All } }; - products = _productManager.Filter(products, filter); + products = _productManager.Filter(products, filters); if (sortCmbBox.SelectedItem is SortParameter selectedSort) { - products = _productManager.Sort(products, selectedSort); + ISort sorter; + + switch (selectedSort) + { + case SortParameter.TitleAsc: + sorter = new TitleAscSortStrategy(); + break; + case SortParameter.TitleDesc: + sorter = new TitleDescSortStrategy(); + break; + case SortParameter.PriceAsc: + sorter = new PriceAscSortStrategy(); + break; + case SortParameter.PriceDesc: + sorter = new PriceDescSortStrategy(); + break; + default: + sorter = new TitleAscSortStrategy(); + break; + } + + products = _productManager.Sort(products, sorter); } ProductsDataGrid.DataSource = products; @@ -97,7 +119,7 @@ private void btnDelete_Click(object sender, EventArgs e) { int selectedId = Convert.ToInt16(ProductsDataGrid.SelectedRows[0].Cells[0].Value); - _productManager.DeleteProduct(_productManager.GetProductById(selectedId)); + _productManager.DeleteProduct(_productManager.GetProductById(selectedId).Id); } catch (DataAccessException) { diff --git a/FitFusion/FitFusionDesktop/UserControls/Profile.cs b/FitFusion/FitFusionDesktop/UserControls/Profile.cs index 3084b6e..56c54c3 100644 --- a/FitFusion/FitFusionDesktop/UserControls/Profile.cs +++ b/FitFusion/FitFusionDesktop/UserControls/Profile.cs @@ -19,7 +19,7 @@ namespace FitFusionDesktop.UserControls { public partial class Profile : UserControl { - private readonly UserManager _userManager = new(new UserDAO(), new UserFilter(),new UserSorter()); + private readonly UserManager _userManager = new(new UserDAO()); private UserModel CurrentUser; public Profile(UserModel user) diff --git a/FitFusion/FitFusionDesktop/UserControls/Users.cs b/FitFusion/FitFusionDesktop/UserControls/Users.cs index ffaf6a4..7cd9d8c 100644 --- a/FitFusion/FitFusionDesktop/UserControls/Users.cs +++ b/FitFusion/FitFusionDesktop/UserControls/Users.cs @@ -14,6 +14,9 @@ using Services.Sort; using Models.User.Enums; using Services.Filter; +using Interfaces.Strategy; +using Models.Product; +using Interfaces; namespace FitFusionDesktop.UserControls { @@ -25,7 +28,7 @@ public partial class Users : UserControl public Users() { InitializeComponent(); - _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); + _userManager = new(new UserDAO()); roleCmbBox.DataSource = Enum.GetValues(typeof(Role)); sortCmbBox.DataSource = Enum.GetValues(typeof(SortParameter)); btnSearch_Click(this, EventArgs.Empty); @@ -33,32 +36,40 @@ public Users() private void btnSearch_Click(object sender, EventArgs e) { - List users = new(); + List users = _userManager.GetAllUsers(); - Role role = Enum.TryParse(roleCmbBox.SelectedItem?.ToString(), true, out Role result) ? result : Role.All; - - if (role == Role.Owner) - { - users = _userManager.GetUsers(new Owner()); - } - else if (role == Role.Staff) - { - users = _userManager.GetUsers(new Staff()); - } - else if (role == Role.Customer) - { - users = _userManager.GetUsers(new Customer()); - } - else + Dictionary, object> filters = new() { - users = _userManager.GetAllUsers(); - } + { new KeywordFilterStrategy(), txtSearchQuery.Text }, + { new RoleFilterStrategy(), Enum.TryParse(roleCmbBox.SelectedItem?.ToString(), true, out Role result) ? result : Role.All } + }; - users = _userManager.Search(users, txtSearchQuery.Text); + users = _userManager.Filter(users, filters); if (sortCmbBox.SelectedItem is SortParameter selectedSort) { - users = _userManager.Sort(users, selectedSort); + ISort sorter; + + switch (selectedSort) + { + case SortParameter.FirstNameAscending: + sorter = new FirstNameAscending(); + break; + case SortParameter.FirstNameDescending: + sorter = new FirstNameDescending(); + break; + case SortParameter.LastNameAscending: + sorter = new LastNameAscending(); + break; + case SortParameter.LastNameDescending: + sorter = new LastNameDescending(); + break; + default: + sorter = new FirstNameAscending(); + break; + } + + users = _userManager.Sort(users, sorter); } UsersDataGrid.DataSource = users; diff --git a/FitFusion/FitFusionWeb/Pages/Account.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Account.cshtml.cs index f6a28cd..68f97a1 100644 --- a/FitFusion/FitFusionWeb/Pages/Account.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Account.cshtml.cs @@ -16,7 +16,7 @@ public class AccountModel : PageModel { [BindProperty] public User? CurrentUser { get; set; } - private UserManager _userManager = new(new DataAcess.UserDAO(), new UserFilter(), new UserSorter()); + private UserManager _userManager = new(new DataAcess.UserDAO()); public IActionResult OnGet() { diff --git a/FitFusion/FitFusionWeb/Pages/Authentication/Login.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Authentication/Login.cshtml.cs index fc8a11e..f876f98 100644 --- a/FitFusion/FitFusionWeb/Pages/Authentication/Login.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Authentication/Login.cshtml.cs @@ -28,7 +28,7 @@ public class LoginModel : PageModel [BindProperty] public bool RememberMe { get; set; } - private readonly UserManager _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _userManager = new(new UserDAO()); private readonly ILogger _logger; diff --git a/FitFusion/FitFusionWeb/Pages/Authentication/Register.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Authentication/Register.cshtml.cs index 70e1c9d..6428029 100644 --- a/FitFusion/FitFusionWeb/Pages/Authentication/Register.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Authentication/Register.cshtml.cs @@ -15,7 +15,7 @@ public class RegisterModel : PageModel { [BindProperty] public CustomerView Customer { get; set; } = new(); - private readonly UserManager _userManager = new UserManager(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _userManager = new UserManager(new UserDAO()); private readonly UserConverter _converter = new(); private readonly ILogger _logger; diff --git a/FitFusion/FitFusionWeb/Pages/Cart.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Cart.cshtml.cs index ae17a6a..0af2536 100644 --- a/FitFusion/FitFusionWeb/Pages/Cart.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Cart.cshtml.cs @@ -20,8 +20,8 @@ namespace FitFusionWeb.Pages [Authorize(Roles = "Customer")] public class CartModel : PageModel { - public readonly ProductManager _productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); - private readonly UserManager _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); + public readonly ProductManager _productManager = new(new ProductDAO()); + private readonly UserManager _userManager = new(new UserDAO()); private readonly OrderManager _orderManager = new(new OrderDAO()); [BindProperty] diff --git a/FitFusion/FitFusionWeb/Pages/Index.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Index.cshtml.cs index 4766a2d..1d2165c 100644 --- a/FitFusion/FitFusionWeb/Pages/Index.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Index.cshtml.cs @@ -15,7 +15,7 @@ public class IndexModel : PageModel { [BindProperty] public List Products { get; set; } = new(); - private readonly ProductManager _productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManager = new(new ProductDAO()); private readonly ILogger _logger; public IndexModel(ILogger logger) diff --git a/FitFusion/FitFusionWeb/Pages/Products/All.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Products/All.cshtml.cs index 285f1c0..3d908a9 100644 --- a/FitFusion/FitFusionWeb/Pages/Products/All.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Products/All.cshtml.cs @@ -10,6 +10,8 @@ using Models.Product.Enums; using FitFusionWeb.Converters; using FitFusionWeb.Views; +using Interfaces.Strategy; +using Models.User; namespace FitFusionWeb.Pages.Products { @@ -29,7 +31,7 @@ public class AllModel : PageModel public double MaxPrice { get; set; } public List Products { get; set; } = new(); - private readonly ProductManager productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager productManager = new(new ProductDAO()); private readonly ProductConverter _converter = new(); public IActionResult OnGet() @@ -54,20 +56,36 @@ public IActionResult OnPost() { try { - var filter = new Dictionary + Dictionary, object> filter = new Dictionary, object> { - { FilterParameter.Keyword, SearchQuery }, - { FilterParameter.Category, FilterByCategory }, - { FilterParameter.Price, new List{ MinPrice, MaxPrice } } + { new ProductKeywordFilterStrategy(), SearchQuery }, + { new CategoryFilterStrategy(), FilterByCategory }, + { new PriceFilterStrategy(), new List{ MinPrice, MaxPrice } } }; - List products = productManager - .Sort( - productManager - .Filter( - productManager.GetProducts(), filter - ), - Sort); + ISort sorter; + switch (Sort) + { + case SortParameter.TitleAsc: + sorter = new TitleAscSortStrategy(); + break; + case SortParameter.TitleDesc: + sorter = new TitleDescSortStrategy(); + break; + case SortParameter.PriceAsc: + sorter = new PriceAscSortStrategy(); + break; + case SortParameter.PriceDesc: + sorter = new PriceDescSortStrategy(); + break; + default: + sorter = new TitleAscSortStrategy(); + break; + } + + List products = productManager.GetProducts(); + products = productManager.Filter(products, filter); + products = productManager.Sort(products, sorter); Products = _converter.ToProductViews(products); } diff --git a/FitFusion/FitFusionWeb/Pages/Products/Create.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Products/Create.cshtml.cs index 5c90ff3..1483ebd 100644 --- a/FitFusion/FitFusionWeb/Pages/Products/Create.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Products/Create.cshtml.cs @@ -17,7 +17,7 @@ public class CreateModel : PageModel { [BindProperty] public ProductView ProductView { get; set; } = new(); - private readonly ProductManager _productManager = new(new DataAcess.ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManager = new(new DataAcess.ProductDAO()); private readonly ProductConverter _converter = new(); public void OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Products/Product.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Products/Product.cshtml.cs index 7a88b3f..79971d5 100644 --- a/FitFusion/FitFusionWeb/Pages/Products/Product.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Products/Product.cshtml.cs @@ -16,7 +16,7 @@ public class ProductModel : PageModel public int Id { get; set; } [BindProperty] public ProductView ProductView { get; set; } = new(); - private readonly ProductManager _productManager = new ProductManager(new DataAcess.ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManager = new ProductManager(new DataAcess.ProductDAO()); private readonly ProductConverter _converter = new(); public IActionResult OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Products/Update.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Products/Update.cshtml.cs index 4ee6b53..7973aa2 100644 --- a/FitFusion/FitFusionWeb/Pages/Products/Update.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Products/Update.cshtml.cs @@ -17,7 +17,7 @@ public class UpdateModel : PageModel public ProductView ProductView { get; set; } = new(); [BindProperty(SupportsGet = true)] public int Id { get; set; } - private readonly ProductManager _productManager = new (new DataAcess.ProductDAO(), new ProductFilter(), new ProductSorter()); + private readonly ProductManager _productManager = new (new DataAcess.ProductDAO()); private readonly ProductConverter _converter = new(); public IActionResult OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Recommendations.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Recommendations.cshtml.cs index a0903b9..fd40b6b 100644 --- a/FitFusion/FitFusionWeb/Pages/Recommendations.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Recommendations.cshtml.cs @@ -14,7 +14,7 @@ public class RecommendationsModel : PageModel { private readonly OrderManager _orderManager = new(new OrderDAO()); private User? CurrentUser { get; set; } - private UserManager _userManager = new(new DataAcess.UserDAO(), new UserFilter(), new UserSorter()); + private UserManager _userManager = new(new DataAcess.UserDAO()); [BindProperty] public Product SystemRecommendation { get; set; } = new(); [BindProperty] diff --git a/FitFusion/FitFusionWeb/Pages/Stats/Products.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Stats/Products.cshtml.cs index b665541..73ad776 100644 --- a/FitFusion/FitFusionWeb/Pages/Stats/Products.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Stats/Products.cshtml.cs @@ -23,7 +23,7 @@ public class ProductsModel : PageModel public ProductsModel() { - _productManager = new(new ProductDAO(), new ProductFilter(), new ProductSorter()); + _productManager = new(new ProductDAO()); } public void OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Users/All.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Users/All.cshtml.cs index 86ded62..1955da8 100644 --- a/FitFusion/FitFusionWeb/Pages/Users/All.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Users/All.cshtml.cs @@ -1,10 +1,12 @@ using DataAcess; using FitFusionWeb.Converters; using FitFusionWeb.Views; +using Interfaces.Strategy; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using Models.Product; using Models.User; using Models.User.Enums; using Services; @@ -22,7 +24,7 @@ public class AllModel : PageModel public SortParameter Sort { get; set; } public List Users { get; set; } = new(); - private readonly UserManager _userManager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _userManager = new(new UserDAO()); private readonly UserConverter _converter = new(); public IActionResult OnGet() @@ -44,11 +46,36 @@ public IActionResult OnPost() { try { - List users = _userManager - .Sort( - _userManager - .Search(_userManager.GetAllUsers(), SearchQuery), - Sort); + Dictionary, object> filters = new() + { + { new KeywordFilterStrategy(), SearchQuery }, + // TODO add the role filter + //{ new RoleFilterStrategy(), Enum.TryParse(roleCmbBox.SelectedItem?.ToString(), true, out Role result) ? result : Role.All } + }; + + ISort sorter; + switch (Sort) + { + case SortParameter.FirstNameAscending: + sorter = new FirstNameAscending(); + break; + case SortParameter.FirstNameDescending: + sorter = new FirstNameDescending(); + break; + case SortParameter.LastNameAscending: + sorter = new LastNameAscending(); + break; + case SortParameter.LastNameDescending: + sorter = new LastNameDescending(); + break; + default: + sorter = new FirstNameAscending(); + break; + } + + List users = _userManager.GetAllUsers(); + users = _userManager.Filter(users, filters); + users = _userManager.Sort(users, sorter); Users = _converter.ToUserViews(users); } diff --git a/FitFusion/FitFusionWeb/Pages/Users/Create/Customer.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Users/Create/Customer.cshtml.cs index ba3345d..b025841 100644 --- a/FitFusion/FitFusionWeb/Pages/Users/Create/Customer.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Users/Create/Customer.cshtml.cs @@ -17,7 +17,7 @@ public class CustomerModel : PageModel { [BindProperty] public CustomerView Customer { get; set; } = new(); - private readonly UserManager _usermanager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _usermanager = new(new UserDAO()); private readonly UserConverter _converter = new(); public void OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Users/Create/Owner.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Users/Create/Owner.cshtml.cs index 3f9da91..7f14e1a 100644 --- a/FitFusion/FitFusionWeb/Pages/Users/Create/Owner.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Users/Create/Owner.cshtml.cs @@ -17,7 +17,7 @@ public class OwnerModel : PageModel { [BindProperty] public OwnerView Owner { get; set; } = new(); - private readonly UserManager _usermanager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _usermanager = new(new UserDAO()); private readonly UserConverter _converter = new(); public void OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Users/Create/Staff.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Users/Create/Staff.cshtml.cs index f0a3692..18f9fee 100644 --- a/FitFusion/FitFusionWeb/Pages/Users/Create/Staff.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Users/Create/Staff.cshtml.cs @@ -17,7 +17,7 @@ public class StaffModel : PageModel { [BindProperty] public StaffView Staff { get; set; } = new(); - private readonly UserManager _usermanager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _usermanager = new(new UserDAO()); private readonly UserConverter _converter = new(); public void OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Users/Update/Customer.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Users/Update/Customer.cshtml.cs index bf9ef7c..900893a 100644 --- a/FitFusion/FitFusionWeb/Pages/Users/Update/Customer.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Users/Update/Customer.cshtml.cs @@ -19,7 +19,7 @@ public class CustomerModel : PageModel public int Id { get; set; } [BindProperty] public CustomerView Customer { get; set; } = new(); - private readonly UserManager _usermanager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _usermanager = new(new UserDAO()); private readonly UserConverter _converter = new(); public void OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Users/Update/Owner.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Users/Update/Owner.cshtml.cs index d3f0055..7bdf967 100644 --- a/FitFusion/FitFusionWeb/Pages/Users/Update/Owner.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Users/Update/Owner.cshtml.cs @@ -19,7 +19,7 @@ public class OwnerModel : PageModel public int Id { get; set; } [BindProperty] public OwnerView Owner { get; set; } = new(); - private readonly UserManager _usermanager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _usermanager = new(new UserDAO()); private readonly UserConverter _converter = new(); public void OnGet() diff --git a/FitFusion/FitFusionWeb/Pages/Users/Update/Staff.cshtml.cs b/FitFusion/FitFusionWeb/Pages/Users/Update/Staff.cshtml.cs index 49081b7..619dfd3 100644 --- a/FitFusion/FitFusionWeb/Pages/Users/Update/Staff.cshtml.cs +++ b/FitFusion/FitFusionWeb/Pages/Users/Update/Staff.cshtml.cs @@ -19,7 +19,7 @@ public class StaffModel : PageModel public int Id { get; set; } [BindProperty] public StaffView Staff { get; set; } = new(); - private readonly UserManager _usermanager = new(new UserDAO(), new UserFilter(), new UserSorter()); + private readonly UserManager _usermanager = new(new UserDAO()); private readonly UserConverter _converter = new(); public void OnGet() diff --git a/FitFusion/Interfaces/IProduct.cs b/FitFusion/Interfaces/IProduct.cs index 6e54acb..b5b1d7a 100644 --- a/FitFusion/Interfaces/IProduct.cs +++ b/FitFusion/Interfaces/IProduct.cs @@ -10,7 +10,7 @@ namespace Interfaces public interface IProduct { bool CreateProduct(Product product); - bool UpdateProduct(Product updatedProduct); + bool UpdateProduct(Product product); bool DeleteProduct(int productId); Product GetProductById(int productId); List GetProducts(); diff --git a/FitFusion/Interfaces/Strategy/ISort.cs b/FitFusion/Interfaces/Strategy/ISort.cs index 7944034..cfbbdba 100644 --- a/FitFusion/Interfaces/Strategy/ISort.cs +++ b/FitFusion/Interfaces/Strategy/ISort.cs @@ -9,6 +9,5 @@ namespace Interfaces.Strategy public interface ISort { List Sort(List elements); - // List Sort(List elements, Enum param); } } diff --git a/FitFusion/Models/Product/Product.cs b/FitFusion/Models/Product/Product.cs index 17d9f28..18b976b 100644 --- a/FitFusion/Models/Product/Product.cs +++ b/FitFusion/Models/Product/Product.cs @@ -8,64 +8,59 @@ namespace Models.Product { public class Product { - private int id; - private string title = string.Empty; - private string? description = string.Empty; - private double price; - private Category category; - private string? imageUrl; + private int _id; + private string _title = string.Empty; + private string? _description = string.Empty; + private double _price; + private Category _category; + private string? _imageUrl; - [Key] public int Id { - get { return id; } - private set { id = value; } + get { return _id; } + // private set { _id = value; } } - [Required(ErrorMessage = "Title is required")] public string Title { - get { return title; } - private set { title = value; } + get { return _title; } + //bprivate set { _title = value; } } public string? Description { - get { return description; } - private set { description = value; } + get { return _description; } + //private set { _description = value; } } - [Required(ErrorMessage = "Price is required")] public double Price { - get { return price; } - private set { price = value; } + get { return _price; } + //private set { _price = value; } } - [Required(ErrorMessage = "Category is required")] public Category Category { - get { return category; } - private set { category = value; } + get { return _category; } + //private set { _category = value; } } public string? ImageUrl { - get { return imageUrl; } - private set { imageUrl = value; } + get { return _imageUrl; } + //private set { _imageUrl = value; } } - public Product() - { } + public Product() { } public Product(int id, string title, string? description, double price, Category category, string? imageUrl) { - Id = id; - Title = title; - Description = description; - Price = price; - Category = category; - ImageUrl = imageUrl; + _id = id; + _title = title; + _description = description; + _price = price; + _category = category; + _imageUrl = imageUrl; } public override string ToString()