From 5280e70feb606fc84cf2d896063a3c5d38ad5813 Mon Sep 17 00:00:00 2001 From: shinichi Date: Fri, 16 Oct 2020 10:13:59 +0200 Subject: [PATCH 1/2] wip --- ClientApp/ClientApp.csproj | 34 +++++++-------- ClientApp/Images/Icons/CheckMark.png | Bin 0 -> 14115 bytes ClientApp/Images/Icons/CrossMark.png | Bin 0 -> 18404 bytes .../ValueConverters/BoolToMarkConverter.cs | 39 ++++++++++++++++++ ClientApp/ViewModels/LoginViewModel.cs | 10 ++--- ClientApp/ViewModels/MainWindowViewModel.cs | 2 +- ClientApp/Views/MainView.xaml | 9 +++- 7 files changed, 69 insertions(+), 25 deletions(-) create mode 100644 ClientApp/Images/Icons/CheckMark.png create mode 100644 ClientApp/Images/Icons/CrossMark.png create mode 100644 ClientApp/ValueConverters/BoolToMarkConverter.cs diff --git a/ClientApp/ClientApp.csproj b/ClientApp/ClientApp.csproj index d8da9bf..4194162 100644 --- a/ClientApp/ClientApp.csproj +++ b/ClientApp/ClientApp.csproj @@ -8,25 +8,25 @@ - - - - + + + + - - Always - - - Always - - - Always - - - Always - + + Always + + + Always + + + Always + + + Always + @@ -42,7 +42,7 @@ - + diff --git a/ClientApp/Images/Icons/CheckMark.png b/ClientApp/Images/Icons/CheckMark.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb2ed35cb48bbe68c90fd99a1ccc481a4a1fd99 GIT binary patch literal 14115 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 literal 0 HcmV?d00001 diff --git a/ClientApp/Images/Icons/CrossMark.png b/ClientApp/Images/Icons/CrossMark.png new file mode 100644 index 0000000000000000000000000000000000000000..4a30bac5dbc33745cd6482645223df25d937b009 GIT binary patch literal 18404 zcmV)CK*GO?P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DM|nv^K~#8N?VSm< zWmS3SzdPS|U(NFX6o|}26{1m$Y13Jzb*YHa;EaYOD>03&2#5$036K^LZ~!$95hKnf zc7~O#boc6R+r$ZwS!SrYD5~ncS8urUaQgrI_SyH{_o|qx3JTZiuj;&W&OZC>{q1l5 z_Sxs$Op+w_|KZmgeyy4K*d-Sx*;do6)iUd}E!*i>UggPp{8G{8ELmbl zUUS2*4O3sxOx$$wM-!VIGZWLYjh1EVH7m5Gajk|luVuMJDwcFz;{t=kA~Y_Ocjk#F zmf_C;P|ns<^$eP+eOpyJIvkR)6Z#FIc9&;F$Q}$1YBW z>(aETDa+NztUEPsnNCk8QcUY~tss1zdDgRBmcL?FRtJK%v=7MXAHdk0xf#_;#~FBy zhW2zE?n8SsY7FMLrNv%XW;V&>tgWpf<~D{a)}FV(va46yi!Z-| zTD75C!}3!#>rPI{zll*0Th}w%yJmT9m?%2y9F2N*z`Zap?w`D!L~06k5;@wI9)gt82a}z+iA6)@hbc@{RxI0yqTz=8=5gQr-a*0kd1vBd z=bf7@mf6hg+G)+P5i5yt1(~ay$kG!d0VkOD;C8T>2(#oJ9hYoR_^5zr7BgJPB@#9T zNJ?+;zny%+#`8tnUaVMm&0)6ghA%y@SU+z}yzioml0}L%^P|$dv0XBk9V;pl>?v4D zBu&5C{6l8h2}5d*@Brw0u( zN-uz{Oun-XCJ`mWOfjn4?pnU6;76L;(zr-bD95VwG`?ClXJe(jEqKW(w&IFUJ!i~( z&Y1Y{`R64|rl1_xz>xcjlhk!wY?I731zL|o7os5VjCQ3y`jDyKU^_@Co ztV5DT_fpLhPOg0#M@Nx#FOO5tnhuGEJhBFFgrKSN?cJs&M;&cP|J6616GlEKOx*CH zbCUVhDQj=pVr6L`!2nxMjLhjUFoy9Ez`(%Z2Lqsqp%R*UaA8`w05noDO<%CwRWb&K zg4NJ2WJO^-Jy{cUxS;bfad>Re0z2Uc|8l??c|e(X|D_*K<}2c?NCWFzw%R;Ahys`{ zgB2kl0tCpVng;_BcE>=24#WurgD?lvCk{e4MFR%85QbA9S7aangCj7mmV7_jT2ykG zFBNS}Bi&vu+e!cMzhV;y1P&Mz@BP?C$+Gb=%WU6j$@r+vV;ZXy7{Y*3%M=)vLM#(2 zQw9Rzo&X1ziP6kQoTjY>5U$OzB-*03Iw-pC>KrD!&y@eHN+av}vMv6NSK5Nht~?;j zJRnrM|DzWr%b9I?Vw)AGCTy-mHY-0620zW9pn38ga*S*M(ml<<0D&wAAEJ-}9HVt% z3nnx$(62fJ!=Ax}t=m>0Cx3}I#n=`V&@Gl`u52}I$G`oE8xIKVw)e~=EE0D*z`{Rcx*x6IJM#6T>3VW2^jWOjpueEuQe)J>U&c?ZAX z_fkli=e*OOD3sK1J8iRy#1*`CbqzWYohx|j4OQ&%ddC+2=BsS+l~?W8DECX?AGr9U zWa-3&wKhIxrP`Dgi7LCw0ePgu6qTe;!%G<#q?Ho*P! z3c)=v4e&_;A8#0UE?2NZpFrU=kQbEDFRy6EOI=`_zh(9`2jzgAN`H=Bp7^ zaEr(B8u$ajcoK~(1rc3}$`!k!bF1)x113@4{*&y_N*$hpZEij=@WMFK9s$oiw8sQ#B=k-;WzWtgi!X#g9kmETB z`K0QIJ{?7?2sxIhn9Ezc)wLapT95pfAI-w_nL#?5X9r8F?J2wOEx!x(o;5J)X9XM2 zKQFNzk6UhPT!^ud0Rn}=0n;WFiPXTghnV;a2p5>39oIzwz|WD)JoA!WYjs;H3-hM{ z#0xb;+o3Cn3L!$@Y=N1vKdRm(jED~K*h zeOI*T;p^2H3{E7FZgSJ6fPQ}*Yb&TGljrE^kS?sK)$M_IpZR3iJSjXYCO&e(N0Q>m zPD{qdq(gzoVNe57D#Syx3SH7vB9n+gl1A4iUC)UGIcw`!o5ZsxUs~6_lVWODfk3H@ zA(DpoSe?c?7?tNlHrn>~(Ynx!%d!~6##zkMqG^WUKG~q!nD@MHC$K7r$VF{=G)Z`6 zdj-`ATUQ#zJsAQt;o3{URpS+*eHKP$kyUcte9=1cZ|$6zEgCRASI~V05hCl)Lq!*r z`<$?jp^szj{mJ^Ygioey4UM@jyyvufHh23@`_=j9J}X8t@@EA1eB{DpiOgqybeH9u zO(zyag?RuH=9-tD2ZYgtfHV+-fuKQ8HJp=%g7Z?|| z(3eBnNfaPlFzpA^8p;9M=-;C@&{*G8#irqcOdF;I9a)bzFr3IdcZ z1T#xOpn!$+p-b?hF%?-7$;|_J`>+MU&ua4pUAi}0qEu~WY>`fT_um^TK0^TeX9P=Y zlh)m~$%^#}*>GVmhaLT%uY>X9lo*0(0%@QsLR!1oU}9V|FmY<8B$HC^^sLnE*j#DD za8glwMK#03I4!AtH65nAg1MxRtou?OrFCG~phmhc7Eq_Ce$YUlVAqzU)a;3fY!PSI zblnTyIW$GY%?c00lE@+yHSQs?xguT`YrD+UZd6N^CnH-e~QX-G= zq*6`;PRwvR1EN`j_z;H#1ha&extT0gtjbJ(v23lnbgjS@AW2%RO8nCiUZ0{m#F)wGIe zF`Z|ACdO8l@Ahm2{C8j^t~WOAOj%^5-oa8 zWEMdeCQ7bFthWAUt&yE;qs5ZVJ?TVS@v7f4TYac%>kdreqYvATfBWAy_1J?puhq68 zCec&VNkBwT9&JJd-?$S3!3a(y6lp0dVFEtWQ8W;>12fM(!RH1BQa@bPHEG_Yx~$1E zl-8`V<)@uy*%OWz$11v6Hg#;&CU3jdw%>A#l}5*Hk%(RrQ#wf#S@vKlv_|{TfqjUm z-D-%AMC7DrymnBKFcb?pYbZK5`P7!iy>szWJLWro&&Zw>o|1`=U3^he+_2s%BRgcb zo6-#-E@178n++l5Xo;wflu95%i3C?5w8AV-x2^$ot)%;Q%g1bAyuyxu_gQAY{VFp_ zowaqdG}8eS)0i^*>A%^%e{-|V8y&HQqHeB>0Ca3f%YrFfG}Q}Z^!@V z51PIDHD;BC*31uEYp7z~Qo$N*s%P^T`t=h(e7=n=USgB#GgHi4TX-~@b)Sz!djbYd z35RJDE;EX?m~lN^qXZM``00$qn|w7`7U3_Vi!D}_+1#S^;ixm;Zgb!BKC^{OEh$&5 zBmdn%dx}HW&P(uyhs|Dmj2-rY|6;|XkFhb`PwK&p6>X6N!Z22tyYE#0i4uMo1Ypg; z)2)Lxw=g~qBH+Y^CAfFL?M-Rzy+f$I7kKFW4<6s8*4ZiNU0`Di z7TTzy*M;R_4JvC*X;4=hj_<_;u?K=AYZDQI3_%=X#c8bs@PP;c8rW+p&>EJv*8qCb z7Kq<24%;T>Z!bFQkIc?|hlEYINWe0}FW;_ONem~?E#QkW#lvN@RjX{pJKt_Q7S6Yc zuJT3Ryi$8PbxH=}{YqF6G*myi@7nKLy7h{I_lrYG3iGV+nZ^kz&Exs{JN((JU~6xT}DWMJH< z8>#2BH|d6X?&`jtq~1~^ThsF!m^j!`&u3a-Ye)gYhLi;pM_o3;`Hmbm$uOzI5`uz-^N6QCx`QTQ zAg?4wiecJwBhMm{Q}-vBtXI6kjy?CoHoAD3?T{%d zNHbNA(+6pmFLcvX!qpPnqkB8b(Oj+YFUlcp-AnA)Kl^}9tv<|ClP1IoXw3iwDMXuW z(_O^nuw-lA{`;1DtD?|?d|*!P zllQe%Pqn+kA3sPBXkN-!X_UGX{+YZ44Vx;aRq|zPRa>@WWZWiXs$&Mw6IZ%KzS?@) z@TV{i+}v^uYyfC8NuHOL%F6<=0B!44A5E`L!yZg5S0^n~uS$!E(IBiOo(RerIRNei z0t7Usp^psaN79G%mSm2qBfAhS)ldMTzZyCtgUTGa3*n$24C_)xjQ5vo@I@7w;&rFm zIx%u&!6KW&#HkW(5ioevtP?`?AXJpovcLr_0L&!e#}Bs3CEFw>9DnASHXjqJ;K}=< zy4uP~Yt)j^4rbmvqnzQZj*JZGOKU_gX=HELZtGO*R*`?LDskUAK5nBERn^H`QDrc_ zr2%3E+*(Bjrwk2D4Um^r;x&h^7|5jhQuS4P?9ue05W43^Q zN-Xb719TeE%=89A5VEO3cSY!y5SgQVXZ(@%W>boGr6rvhyDCSF=GyHQ0R|S8&S0vV z%;1)C*zRR3ZHIhnLj+{%j=|$g+|8!L^S}(@0DrNG z2enlZc$>`TvF|v`DsRGs%6t}-U+NnE+WXPgZpo79kd`p)h;kpL6p~)3V_UY^LqGnp z;)t&Npr|M$a!l1}Y&*xsouQ7O2+Iau2v>+;X;h*D4g_nW9hM0?P=yEO`BvA;O10Ks zehEc=n8Aqz2~tGrCQc*q4)zhaw<4+Q)!J@Whvm2yRmW_@&0jOyK4#gLkYhvQ1v!?& zBREK@n--)|2&&9|BB-*%1W3zmjx_Srm)QvyUSw0tmfI*qkhUwTQ0`e&el_G%T1^OC z#K&f>!zw)W(=O#~gB;G`?|GLQGcou;r5bQ2qgWuP_VN6pv@dF6v2#YI60Y_jJX8~I zo-%8X@3*OzZTi~Rt^4q!wt#1hZ6^AKsx|_ddb?%2cJH?F+LZjY+90^W+`vqfg24(% zMVKI9thfrtV*toe#~<66o&}h}#9X6c`L2jAq!cEkrTYdTk1)W3o{(kQZN3OycznBU zxZ(3=8#fDaNtgva<_(oHG>A2&zv-@ruw53lU8l04b>qM zXIylH&t;DWf;UWt7BMJtkT6y7lf)JSz z^Ke^v&pmh8uCIK-Z0lw?C@hq?sA^k-goc=_95J8<;Fzc#egASo!dX$X@Ml^=TMdo1%-X<;!9V$^IN+aW0Z`e|4IqzB$j1)y|@Wcu^W7Jk&Cc7bF z8X2FkNu?i&#^AXy{iS{jhT~Ou&D@uLY6D;<8y}vSC$sEd7D=Jc#L`sVip`d%1H6Yf zpa}Z};M7uBo=BpCPl6PZBuOWe#G|+V%pU&gjb=Nx%E8ObiAV(nC{WM+h1!TF2B`)m zm5R_gv^AZ!_8vA3GX_~=8*?7M=L_Z zIL}E1voWp`qg;Mx?xSv&@1no2uH~pZT=i@xAZZp>h``jRQQX-*(3uh!5T{ zllGuNQ;gg_Ic3#a!ShK79u>3IPWiPj5&p+RGFIs4$(rVsDvX(-b{2beAB|GXpe`NM1 z(ujhu>w&lc!3T2TXY6$e+Dq<2T)>9Lz#-vM5aUg0#D>p(&K~&IH*JM{Z>L$;{cQ=1 za$-GkJygfu(3 zTPFc1wns1dcv8}!lV(lYAcQ0-{a|80AUuW&HXgGP^CQY+?CkJT)@pa%Y7c(#b7oI$ zb7ZjqXae+N0RHsIDXFs{-03x{$~5!BKh&4Tx8#rPxZ~}_51nh(m8)#0Lh{z|BHNTN z**fMzPd~$KNd8at37t?g7)86Z88y(Er*o$O1pr+2O~=)m-FM>+_KR=aY-?bU1g%h{ zwpxWrvJTJ?K_*~hyqptMp>_1fzSd~jWVPyy zHdKe`kl2g~FNh&DwP8xUT@8v>c|ny#ihB57N4X@^dg4p%s1IFayOtkn56VQph-a7N zfkTQ`86*r-yM1P<$lC=$L6+!O*R$a4m2^r)jurep_Sw(a-Cw`SR!QKQLiD^;b-I!` zp8E3v3CUD{tZ0$HDvrNR8A1=dW!z9SOvGAi)cq;H*VT2^glK*bnhay(f-HqpVr0Ya zzVt#Nlrk|dV)}Q|#CCE!_2MMlUx<M!38a% zZLE$j)6j{R`##k1d{KMW+q!90pi}1ov(9;K9Mg+WM_@fz(&o!zWOnJ3x2}8RV~(dY zG1pO~)NDA%@nJChfIzB!@o@{JW(!kfc`I~Smy%NuV79a*jlA<#+kWF`q>)dEx+-jA zOT}nOGvPYEL(1J}r2ad&>(Eem5Uh|iT(2mPJnfZAhtO)aaB4igfD(zsQ zsKC=4mxz>soFX(B?dpVtyk;9deZAfPwVQ0U$`dDesOvYzq>)WD47xTOdX7T`;&%6a zVsuNvRkc=A`cd~GgkUG&7MMr{*$`k{jZ5gE%OzU8e+>{E?8oJpp5VK-? z5fJQ9hLnkk%+iZVc}e4;vTOBw@3seT_^jFX?VezVdE#_1!qyqb29?!Tzj;g*Qtp!m z0rNy@MOVR8UG)frTt{%SP{}K?rycdp`VG^eT5WK#aNDgp6Tbi-+#Rt6m18AT}R3c0e3g|A$)8<5mc|x8kH{5nz!nA-W?cO_W z>lc-NYvKj+GR#ealveBWMy&TYLgTXSt-{c{LkDb>28PF`ueW zcN$&PCO5Cbm*Y4Yz~KD4YIcNkoq$Ka7t;xPF@~Ui4!;Xy38x!1bw>Mwj8xfY%o&#| zLY#=pzJe1P?Qp=n&{#@5N}!L3f%ztCV-W0_cRW-B-F?eXY{OT-X!iIf4YDIuE;Y77dqea>IJ-Zro^<6OWgV8x~TEL@{Gv%DNmFqXE$t zK?C%1Aw9lDA{StDzVgXY|1u${sz0_o8PiS3&S$& zi8Tv75x8kQ;)Om0B{UqFLq7lvcEanTU-3V}j_b}X{s&ypt}L46H&aJf#8|cN0>`*` z42u9`O`xT`rD&G5anWnpS%3T&O0MLfm3t5!xZ0-vhvWSPw<_L@5ES$de$UHNVvDyzOvR{^@g+2{YKai$;S6lP%u zybgY!BP2=xsU7bStM#uJQleVb9{bXl>=v2OLuDO!_oO4K$5ME%r*Syrz*9tz1Enl( zu7&AwtUr76phn}4zK*g8FtVY38?B}_rIDD~cu%O1n9^+9_=yV?w8|d)=a+eMtwJVu zkrB^H_8TB&U>n3_MYarxp99c~`9WB2-D8px7)@q-=JV;lW3*P zkq4zQ&f`Y9z&Cn{_S%7c9D&yZkapE&2l(0`?E{A4oIG&-XFg?jeETL}pp=nSAh2Mb zG~eu6sUyNm(4h|rI`1L!>@<~D;UKMwW}5SqF`R*yGuQV(dY=nGxS#73VK$3}LK?NU zd@>6yg*zQ-B<-@Y-DEk01wn;V!5e3DXR4A^Dfb*a z6>$)xw!;3Bh_Xs$wY%=L2W8%D<0hpEiV(SP2CKr|kikK1I^ojI&!UeG1<=G@XLwOm zdONyXdEkw9%lE!(%Ve2~>K|OO8f=(Hi0t&y776d|;;%$lAD5()x`UR-wMhH84FcCf zdjTUj64p4WW-uQ%?}jd+R;E?F0XSUUfu^} z?@QLT`P)Jw0C^*t8nhKD*Oo2H59A3pZKWdA%I&w?*cZQGwt1`4BHic_ry9q^pk5G? zjzw@5s35lr*R+KJdp(GvGX9Zs!3d9X6|S$p@do?V*S~HnMWixoY}5jA0bQ^`KoV{^ z%VRWObEK}6D5(M(s5`u)AiNPGO{e$MnnxLjk!iE*`U7HN+?2J%w6?S-bmBS;7C9x1 zVj$}8rYzkK6hsX~n%z{Xdp4I=9no*xB6u~<#Z+D^!(Z?&U`c*qnXYcR?H0T3roZ;c zk>;jJm4X@&OML4CjmFI(;Ngr1Ir++e|LRxlM?d(!9g;6f14TBOQC~$aV!^yYrbO@* zLXAcyct9n{@LsnwdRi%F?}5Eti(5R0A25rF2WU~3x%c-sQwH|17DPXOgAmazKBfTE zgxzNlGf0Gk#!2$kct_bgZzs{s^!tGU@GUUi-{D8gFcqpxT9GJ3t18gREL~tntUJMM zxacT?_aK9O4pSG%2|X{2;|Rlah=z?@{E?A@l~Yc8rOjWq+^Wh8SrNbl1gQk%>6=X# zc<$u7+D?TJv+U*CU}R4REUUmGP-BoOaUYK(%s5wL$XCBidvHRSc!4cYArSkL0t=QpB8^o^-qw7YnsLd|={Cx(xDm;DAFI7#P5ZXDJyzd9A(WvMa2)e1(lEph{q*a0uZOY-3JSn&&21 zG}FesE*ldWIn{;P!GEH?p~FGO4ekMs;}*{c_W;Mx%q^sjJ>XM7(~w5?B(dcAzGzbVYJA`72Lc7WZg>h%*_*Du%DO98 z*_80$>4-B(HCf_FFa;xh#hgNUjHwU_G?Ncz1-d&)+SXX7nc`F!*aya8g4v?x_4gcd zU46!%eZVg|Po#ESV-ldLkQI#-E!~K6)o+>!X^Z;`4A!{?s4ZU=r9QL|U4?9YgHaJtXIog5jdoVB_JKYFwz>)hzJAgE-p|V`LqCUk@ z9D917!*rCoCj!p~U|vLM8iGIK3}s#D)?&p@de8f;^!n39 zwIP|jLX)MH4@>adLSCX0Fj-dPp&y(W|V7l zD3q-$-ep_*10ykNK(H=-PqNS8Qkf1U1`_dW8$QD!$Vu}G*^)ISM{Nb0%!k5+c7E8l z<%aFWXT8ttjc<~6%u!`A(3v3;YGfUvK-DfNY6aV-{-Aq(%z3!oli5~2>53wNSC}9; znjOEeW1ahRoIp zjMmboi_QR(pal$xdlx3J;@~mDz&0BYc7_n?>2)-i9?L+AMav$0*Zw~Q*(sO*WsrwN zp*zy;$8M&k_xl61$VODf7QSTzwE{vgf_D=NEwj1Bx&990k7%$f_uY=ej)tEyh6E-tBUeE|3X#-9g1GV zcJ8tqtHYFAp}%fgoofL@*C8FpA)}GJ#uldLbgmmZ_~W(f>~$Zz)EX-evC+25c#V$d zk0NLwuG$FHbcXu4Qci~Jp@Y5AcJ{T|b^JVS&!32>S@_i}OMnF4Z3e08YoheSJ7);{ z58)$vp)KAYjPD0RXv@~6oo$;cD3KQfk30Jh&0ha{F|Z=;@aAy157gXDsx5!&Arr~s zAugv)t1bLt;;+(qxIHpycYX4D`=<|HV7B22sV2`VRXO3&8+(`(-g|JGr5nLtQ3ZT% z1tICFEqs!j^p~GzuldAZSbN1`Hlb3+l_fuv;6P|rq?2Ay-jmg#EN+04SYwD~SP=Jb zePA$gKtd6T_wrj+)!8DZobtZ2 zt?*iAVu(Uvpnzx*jb$7ft;nT4GZyScRGLZA#5mJF=9GoK4}9^j?13Nttu=4I!+vzd zm1gTV8P866^cIN{2G22m8q2^=f0$l_aoXo)4HyO*>FLMGC)@8{`sdbMxyovCL*c<4 zW0VC5%?7&rpAoc|ahiGH2M^@p0rA%u|#jzeteb zHXld_I*rG(g7EZ0W=BLT%lYt}H%eTb5&}h3?vfcT)cHCL=fp1V6kx$=F^1ef` zKuQ3hH-titvIgKSpemSK(S@iwLjY52*!t_Pw)?(yldVxQw_KV&@$;YB&#t~k8o5Oc zsUm{m%|aF(FbSaoe^Z$O=91-B>k^)2m8}Xx zpCSwzNE+Y_p&yv34HiW0bM5Am_rZ8|pZ@xNTo4dwQd!kqsSqaurVd};C{^q~TpxZ| z%!ji2zh0ZE@kXwQo|km7x(sgbD+42dU_p^4CW%L0%v16cLv?La`I3T|xpvIE&bH#~ z#6Xt4Yx6E$Q?v=iPA3eG0Z1kxl{7IhIQ%>x*HxGGCiSM>e(iO3```Y+R*4U+lCB5` zmf3Iq$xrP6D1o;Ptl3eRqiaD1kZgoa<`&JTYovnZWT`cRr;d^8b$JxUYjwvTWv{yU zVg);g*qF%J%SlXizkg##8tjYCXove@#sI|g!SdP1u5)61v|6;y$Ka8(PQGYO=#_#q z5vY}zVp1g}NmA+4Mj$t{|7Q$tN!lT*VnGx>3q}-kCFOxb_C#@x9r<4Qz&E~G=6qO@ zqL5Nwt_|!}9}`(%xdA+D(H43mLV=SA?CU}a(^{&~?AXJf{)|2HgTJ#C8X$ydYYc4> zlDDG{8=hmGpa0B${_%@tS~n_S6|u#5{3tA98jB;AMKD$9>=O>ewc)GD-ld3`l8kTH zy!2H2tt+pzDVf$07IMKzq0ie+d?k|m!DCO&i+dP^UmeigcwHOMT>a}M@I%&zfRHCZ zHN_B}`SZOV&}U+1@ltDvV7}5?(#EGB_mzPWV4(X}S)i`8u%!maBu%@9=GzJHc#q{? zuSA|Vn&fw!O!^;YO+t|3WoRX1MICgC7NL_qSOOTb_h!rPxc+*(<=fx3RT^ZrSy#D; zqjux-$U>)KE7Vr?uDenn`G^yjH<&vz!?2BR&>-Z$#fvcv!imZiBEz7djLbi{#JdwG zo@B57*vGB9Is`j>r;YxcA>IH@1VZj@ACG~-a*Q`Z@2{#eb^+6oq%e~bxZJW8UIt_a z1DK6x{C2XeUQ@WPXjRDg!%ZK+z5!7#1mc~8HpG#(ZPj+fJI}HqUa{u=z@YE~^@Af9 zIs`2~vFoN%B=v!)5&{MwY+_~(Up6^u_h0i#yZi5dXe%Y5CH2ReAzrukP)AHu=Am0V z8f@1}bLQIP)tW7N`OEE;OD{89bA*&xLaTcrVGyAJAz0!}`Jnn^el^fJ(nL66e_3pH z&t3NO%l_QvKe640WFh$a)RQqN0#8H$%4T0@c8g_+KH)8z@dj~GdFZ6_(k;V_?G^v@ zul2Bmv2dd+raHgKNuF?f2nfW!iJ3seX`_(`Ey{!>JioDK7&?M$F_yhscDdx8%pPyHB zNshTf1v_s2nf>@LuaHJQs+eV6ZiEXsHp?=t$|GO# zM}KUi8W)oqS)Rl=!UK#M*v~El29G0zGLHmgO8H@GDF)xZ8-N*{DlJ}VHEcdaQ~o1V z_ZdR2qz)wED0EjR^@U4p=nZca1DW$9kP^|<59YRq$&mT$O6&OOE3d8bFM|6&w`Fqp zOajy!_JB0-q3?y2+2J>dd01MrQf0{BF!Em-W%$Z1@yj(`_jy_cI?F4=*1PoWNyv{c2nMs#n;qUPD$# z8cqF_F@t+>@@=qe#&PHi`ty>mugire!jC6A#Z{}lZiE?3JoHO{ld0iHB(==eJBIrO z3M$$%3u?34Zrh=!oNA^Z04-FqA!!xjz7|x+V506IJbsA)CWJ8o#UTCEkwlD7+MU;5 zXLtSJ`*x@XSX6?K_0`1n8?lF416vWdHXX+OFCT1Bm_ zYn6s$vOW5RsOnp$J)}8^6q*>WILRaRAQReHso1JhPxX(x$CqISAuHuWrw^j z3x(&bSnAq_c@3sY;zcA!QxFf(abE4~icb)*kP9?nfICVBF%N%+cO!1LLv(AN85*pH z?5}IFqRt@^krmtY;U3PTM44OhhUb=~6=2X&oAV{v?O*)V?z}=8`PgIX17{*;^~r=u z$1=6tE zz|Z?+Y=QCKxyG311Ms@v#~_Hbdb0iAfNOqT^Z;*IJ0&g5`B$1}!X8XK=K32lO9>zbiCccEvE)9^n-%85ba=HgAZb21$pJm`&cjXo@RM5o-0EdHz+8 zJFdDaObC#Bf&&gu^?iL1xT`5v9Vmcz!AuhY@7G_RY|4adr<%ITaA<_f>G{AuXkEBI z2$8;sBsAg|3)+cX(t^cy(pA@m1_odcCIW>Ot8J3zW%_6=L}Wn(UA*_S0*mk?Zl1O`i|Ngt}GN z=3h$G{b(OeLk1ENKad-mxc6?WkB`f81v(8vJl|V++y)^$j8K`Bs+KERa_Hgdm6@R4 z_k=ZH{YGYlF9mAQgQj$laWM9&0a7v(qLe{F(vZUXkvnfQdwi>#2&_C}!BYfsv*2}v zxNzoc`>av**&0Qg4_i|pYp{LPfFY;1R4!8$C;%|+&@T9FHbja_1pD_XPUd!enVRLimUh3LSU~<1iCAi zTXmKO0@19-^QQzM(P%e(8UGwHpuBt3c76Z5GL4f~Q4WXM!Sw?gQfOO!^87Ey+8b%@ zFRzgg{JX#NG$JpJJKcH4EIGTXY*vW==0$x|7#+>C!F4F1SUAZJ6Jy6%&S{U85oTYq`0%_9fa zSRzvfH(>UDHh8%@V3a&v8dW;hT|G0c7=%E6i%N&@ysG zUn0?H*a{t2@4UsTU;DDz?lB&}t0K!Mf@Z1%UoA%ZXghY>#;dNi4d4G;TOp!&l&Ua} zWf8+eb3`>vNhe)*kmy1(XIZ@ke9 z3^FVVoEl2EP#)_bb0IW?F~U=ab~|)Mc5JtNy)F%q zWQcKXX(mrOFtPrjAwjwmM8-<4)p%h~3RM8|@5-w>dF)#G+*%I{) zaRO>0Nz_{I=_9N$sm(U&2tvs{Sb|(&JiqHPqWii>9%(1O>CHCpcV8b~b|no_f8N;U zjke>T|Jfe;pZ{u$t5usP+*~kR=mMW(@($2-Tz|s~fLI=ZbANh4|LS8~scfSspKQPR z$s1=@9Dt`}B5>d7uT2h-Uzj7?Pp&6-W|iWwHJYr!1W7SUG{Y|`2Gt#6pd>jw(T9jI zR^*faAS&coVTu1_!B!2pHE-CK9Cd`vTei$5M#gRHgO6JE;VqV(9Jd7}1w4^^q^K zd3?uQuw~N*8`-widOJsKp2jv`w-(TD9n&65`PsW~^E+rdtH3N+xNfOuEd_4{2{_l8 z&)_?BdGZ*QO)1yhxqOAK{q_$7a!&$J%fv@6JTEEUaf>ZyIiZ3R&l6iY^`W#t5|1>2 zbXf6R^z$UgR|F{wNj1_4z(m&snI--AA1B#7F>0G9Cv2k8^pD?_tzg5QoXv3!Z0p_u zDUO7mMSM;N>-6jO8JZ#>7_0}w0cV_G@EQ#FcIEU4l9*v?shqLUJ9Oj4Q$E^PQb5EH zxA=P+exGQd>(S*5GLc8f{J57ok$^~?X=mnBb5b~S@#kIeKHo8ld)hUsx5aIRbGLq)E2V~K@{vsij^Br)Q2F_ILV*#-*V za=b}nV2Btdg86++C3blQT=eiyOiQ>uog%f6utV2rybvaAYw(l!Y)rRD%Id*sC8eO4 z`}nrb7WKF5=ws}aH{LXjA#aKhp4p)D^=!MN19U>3d}e`jwqoaeAif_ z)}_tI^4J^s9j|%gkNEJ;xctfEPwXHJ@!zLtvL1$LF@+h#b)p0Y0()vw=p`~SmIL89 zy+1`}`o5WUnTU7#Fc!|$5AXC7NU^#OGuV~p_&sPW|6n{71mVd?Xg9bO%)O3e!LTMQ zKgKQP%6zO{KD#aYDkq#O%oM`V0T4b5aZ6#8GDA`CSUuoyK4O?Bq$Bg}Cyt1w$2EwREW>PiY`;Lj||tFi2$I zd&EHBdtQsc`RuX?dn=z&CIUPC$s@%N|A4!Q&lua1N*)LCG^Cp8Sl!1XKC6rufB=}y zbOwUV7Rk)2IDf}qjg#N9-gX`n^=h-#YsmVjZPDm)DM{nS$N4?a1VZc20FJ-*)0x`* z#WpSk{85ek6@W%XfN^06VUJXXpUDeb1lLF*%hw?aVw!7?&KD_Qm_K)}Bv`c-ks_^; zxO>~rE&~RSfxXoS;`w0t?0uZ%05bC5m{i8$E9K?O`28v-35XSl)O{76G&1@^=;7^a zcs`b_qHNW{Avt|GrVr(tkg={hV+x>ZtJm0RS3b2L9E4|VP9xm)mNz788e{&8DMXpr z`4DvmO>|T0O)3xwV(8}#B(jn^&TvUMi>Tb}vVsj<8KHP?j<={vMRSF3$aFeI8b`XUw5@ zX|EuBX}@h1?MEae+m;<>FTMGx(}}%7ivF{M!ilHaj?7SyQ002eRibq)U!!Nkys?2J``AW&bd?caK0Bma-7rWHVIU9~82Sm{UemaAiO-nf7a0pK zhfzTfSnqz3R}K{ImnFozCGnFBmhBS*fqi1)QP`o&`y5 zt1GJHEBLvl1|muHZ@%n>dE}CVz(5(g4^0RD!~h_-(*4Yrj!#Tkt=W*~ke9JQmpp5l zV8FC53}cE~2h1S6u16v}anozSV7=H5C9$o+`koK#7&FJu66I-Ae~OVkMc!$0FZ#S(2S|=Gy47 z$J=jx@|uB`_6-gQ6M$!61T|lo&dn%|w9fKpagUqcoEB zL!};sG<@T1a;jzx|4)ANGxn+d8T4Nf!tt~)#4EJLd0_lB6XU&c z&-MP~yaYM?z>0!7X&~P(osci*MVzU_USu!3X73MqpDi3PCIa`I^ZsOL)1$Ubc~6e7 z;u4h!&B&xd7$pAQuEW5{PF7xbbjo74T!G(|=-TM`ZsW%%fhY{XAW`AzjPsOvea)wA z;5y8U$80bmF0>Ah1*BgTd*Ho0P@z3j`+ZYJiL!gIz%VB?>ho!GW5 zR+9g!=sc$s!G9!6s>IY9Gygst;!kEEj)*r->NHi6>-E&z6CBay41SV zOB?-jC1{c)n2Ce_Lub{D+K9FgW`J=k6Av+qAg74M6qPM<}9$r>O<|7H-vZTpD%dcnFwtD z_(zh-`|q{kYTbrJaDJV$Bto=hKD$ZF-?4G?#luLCZWZM@S(s`A>68&N!5sS(oJx3% z)sn{4<$IeAUUYH2^LzSCgbBLG+t4{Cl;ddza?HbOaA5MCKqX9W(;gGw{N^Fg5B*g$ z`NT1@)?Rajz5McL{v7Z?!9ihSgu6d_VUpRj$%dqv3wvT_(w6B8Pe5Qyh8J>R zfEeVl1UwNq(FH7T=(1Kc)evSwSl`08K&uLN5@}}tCnB_q^&&*g^zxK(Ff+Zy-&f4? z9*G(*re!RcY8J{?9V**cY1pQe>a><0Vz0UC>a@o54+oWr5jI|WNz&N(h$Xw8usLF4 zMG~LojVEc*0L^Cr+9Y0CUjEg;Or>#PLOEuZgfwGvs^LuZF-n^Q6T_yvy-wH%4WvKU z#1x`Wi< zVn{)hEfcZon1Bc^^%Z8Sk9I6=Ow*eyDTSPS8UWRQ?FWC49qL4 zCGg;D|0U^KQB2`!0czIGiY+puEQ@T3;kXIv8kc=CIUmGUQhI=phNWza(X2j5>(NJ>Mw2VwG%*=~v_(qlphJ>9w z()>LVf*(F9lAwh{73(O^>sBh(8?IQpQnHSYU-z-gUhs^Y2DASMd%{TVycY$w00000 LNkvXXu0mjfQ?6+c literal 0 HcmV?d00001 diff --git a/ClientApp/ValueConverters/BoolToMarkConverter.cs b/ClientApp/ValueConverters/BoolToMarkConverter.cs new file mode 100644 index 0000000..ea03634 --- /dev/null +++ b/ClientApp/ValueConverters/BoolToMarkConverter.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Data; +using System.Windows.Media.Imaging; + +namespace ClientApp.ValueConverters +{ + //[ValueConversion(typeof(bool), typeof(BitmapImage))] + + class BoolToMarkConverter : IValueConverter + { + public BitmapImage TrueImage { get; set; } = new BitmapImage(new Uri("pack://application:,,,/Images/Icons/CheckMark.png")); + public BitmapImage FalseImage { get; set; } = new BitmapImage(new Uri("pack://application:,,,/Images/Icons/CrossMark.png")); + + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + if (!(value is bool)) + { + return null; + } + + bool b = (bool)value; + if (b) + { + return this.TrueImage; + } + else + { + return this.FalseImage; + } + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/ClientApp/ViewModels/LoginViewModel.cs b/ClientApp/ViewModels/LoginViewModel.cs index 1179ec2..7b9bfcf 100644 --- a/ClientApp/ViewModels/LoginViewModel.cs +++ b/ClientApp/ViewModels/LoginViewModel.cs @@ -20,14 +20,14 @@ namespace ClientApp.ViewModels public bool InvertedLoginStatus { get; set; } - private MainWindowViewModel mainWindowViewModel; + private MainWindowViewModel MainWindowViewModel; public LoginViewModel(MainWindowViewModel mainWindowViewModel) { - this.mainWindowViewModel = mainWindowViewModel; + this.MainWindowViewModel = mainWindowViewModel; LoginCommand = new RelayCommand((parameter) => { //TODO send username and password to server - this.mainWindowViewModel.client.tryLogin(Username, ((PasswordBox)parameter).Password); + this.MainWindowViewModel.client.tryLogin(Username, ((PasswordBox)parameter).Password); }); } @@ -35,11 +35,11 @@ namespace ClientApp.ViewModels internal void setLoginStatus(bool status) { - this.mainWindowViewModel.InfoModel.ConnectedToServer = status; + this.MainWindowViewModel.InfoModel.ConnectedToServer = status; this.InvertedLoginStatus = !status; if (status) { - this.mainWindowViewModel.SelectedViewModel = new MainViewModel(mainWindowViewModel); + this.MainWindowViewModel.SelectedViewModel = new MainViewModel(MainWindowViewModel); } } } diff --git a/ClientApp/ViewModels/MainWindowViewModel.cs b/ClientApp/ViewModels/MainWindowViewModel.cs index b5caccc..5bcc936 100644 --- a/ClientApp/ViewModels/MainWindowViewModel.cs +++ b/ClientApp/ViewModels/MainWindowViewModel.cs @@ -89,7 +89,7 @@ namespace ClientApp.ViewModels public int TitleHeight { get; set; } = 42; - public GridLength TitleHeightGridLegth { get { return new GridLength(TitleHeight + ResizeBorder); } } + public GridLength TitleHeightGridLength { get { return new GridLength(TitleHeight + ResizeBorder); } } #endregion diff --git a/ClientApp/Views/MainView.xaml b/ClientApp/Views/MainView.xaml index 4633a01..cb486f4 100644 --- a/ClientApp/Views/MainView.xaml +++ b/ClientApp/Views/MainView.xaml @@ -4,9 +4,13 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:ClientApp.Views" + xmlns:converter="clr-namespace:ClientApp.ValueConverters" ShowsNavigationUI="False" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> + + + @@ -21,8 +25,9 @@ - From 29037f177468f2c86cca59bf850b628a74f43c98 Mon Sep 17 00:00:00 2001 From: shinichi Date: Fri, 16 Oct 2020 10:41:38 +0200 Subject: [PATCH 2/2] status is now shown by image --- ClientApp/ClientApp.csproj | 8 ++++++++ ClientApp/Views/MainView.xaml | 30 +++++++++--------------------- ProftaakRH/BikeSimulator.cs | 14 ++++++++++++-- RH-Engine/JSONParser.cs | 1 + 4 files changed, 30 insertions(+), 23 deletions(-) diff --git a/ClientApp/ClientApp.csproj b/ClientApp/ClientApp.csproj index 4194162..637f86c 100644 --- a/ClientApp/ClientApp.csproj +++ b/ClientApp/ClientApp.csproj @@ -9,6 +9,8 @@ + + @@ -18,6 +20,12 @@ Always + + Always + + + Always + Always diff --git a/ClientApp/Views/MainView.xaml b/ClientApp/Views/MainView.xaml index cb486f4..06a6882 100644 --- a/ClientApp/Views/MainView.xaml +++ b/ClientApp/Views/MainView.xaml @@ -19,33 +19,21 @@ - - - - - - diff --git a/ProftaakRH/BikeSimulator.cs b/ProftaakRH/BikeSimulator.cs index faa8517..d1c3ae7 100644 --- a/ProftaakRH/BikeSimulator.cs +++ b/ProftaakRH/BikeSimulator.cs @@ -2,6 +2,7 @@ using ProftaakRH; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; @@ -92,8 +93,17 @@ namespace Hardware.Simulators //Generate an ANT message for page 0x10 private byte[] GenerateBike0x10() { - byte[] bikeByte = { 0x10, Convert.ToByte(equipmentType), Convert.ToByte(elapsedTime * 4 % 64), Convert.ToByte(distanceTraveled), speedArray[0], speedArray[1], Convert.ToByte(BPM), 0xFF }; - return bikeByte; + //SOMEONE FIX THIS!!!!!!!!! + try + { + byte[] bikeByte = { 0x10, Convert.ToByte(equipmentType), Convert.ToByte(elapsedTime * 4 % 64), Convert.ToByte(distanceTraveled), speedArray[0], speedArray[1], Convert.ToByte(BPM), 0xFF }; + return bikeByte; + } + catch (OverflowException e) + { + Debug.WriteLine(e); + return GenerateBike0x10(); + } } //Generate an ANT message for BPM diff --git a/RH-Engine/JSONParser.cs b/RH-Engine/JSONParser.cs index 30d750a..1244940 100644 --- a/RH-Engine/JSONParser.cs +++ b/RH-Engine/JSONParser.cs @@ -74,6 +74,7 @@ namespace RH_Engine public static string GetID(string json) { + //TODO fix null dynamic d = JsonConvert.DeserializeObject(json); return d.id; }