From 22233f8c6e66b2fa9151272ba13dc1d30bb96a4a Mon Sep 17 00:00:00 2001 From: Michele Scandura Date: Thu, 19 Nov 2020 16:04:26 +0000 Subject: [PATCH] updates and bugfixes --- .../Controllers/SessionController.cs | 12 ++- Sledgemapper.Api/LocalDatabase.db | Bin 20480 -> 20480 bytes Sledgemapper.Api/Sledgemapper.Api.csproj | 14 +-- Sledgemapper.Api/sledgemapper.db | Bin 188416 -> 233472 bytes Sledgemapper/Sledgemapper.cs | 81 +++++++++++++++--- Sledgemapper/Sledgemapper.csproj | 4 +- .../UI/LoginRegisterWindow.Generated.cs | 4 +- Sledgemapper/UI/loginwindow.xml | 2 +- 8 files changed, 85 insertions(+), 32 deletions(-) diff --git a/Sledgemapper.Api/Controllers/SessionController.cs b/Sledgemapper.Api/Controllers/SessionController.cs index d27d699..b644773 100644 --- a/Sledgemapper.Api/Controllers/SessionController.cs +++ b/Sledgemapper.Api/Controllers/SessionController.cs @@ -49,37 +49,35 @@ namespace Sledgemapper.Api.Controllers public async Task Post(string sessionName, [FromBody] Overlay overlay) { var userId = int.Parse(HttpContext.User.Identity.Name); - await _mediator.Publish(new NewOverlayCommand(sessionName, overlay, userId)); + await _mediator.Send(new NewOverlayCommand(sessionName, overlay, userId)); } [HttpPost("wall")] public async Task Post(string sessionName, [FromBody] Wall wall) { var userId = int.Parse(HttpContext.User.Identity.Name); - await _mediator.Publish(new NewWallCommand(sessionName, wall, userId)); + await _mediator.Send(new NewWallCommand(sessionName, wall, userId)); } [HttpDelete("tile")] public async Task Delete(string sessionName, [FromBody] Tile tile) { var userId = int.Parse(HttpContext.User.Identity.Name); - await _mediator.Publish(new DeleteTileCommand(sessionName, tile, userId)); + await _mediator.Send(new DeleteTileCommand(sessionName, tile, userId)); } [HttpDelete("overlay")] public async Task Delete(string sessionName, [FromBody] Overlay overlay) { var userId = int.Parse(HttpContext.User.Identity.Name); - await _mediator.Publish(new DeleteOverlayCommand(sessionName, overlay, userId)); + await _mediator.Send(new DeleteOverlayCommand(sessionName, overlay, userId)); } [HttpDelete("wall")] public async Task Delete(string sessionName, [FromBody] Wall wall) { var userId = int.Parse(HttpContext.User.Identity.Name); - await _mediator.Publish(new DeleteWallCommand(sessionName, wall, userId)); + await _mediator.Send(new DeleteWallCommand(sessionName, wall, userId)); } - - } } \ No newline at end of file diff --git a/Sledgemapper.Api/LocalDatabase.db b/Sledgemapper.Api/LocalDatabase.db index 89c527fa1c12f5726c95beca6d058ce5c5e25c07..e8db70209a59fc3a4f1b06c3ee273568cd0fd203 100644 GIT binary patch delta 1743 zcmYM!{XY|WAIEWGV|JsRA-9_d)4?KlIdT(oa+_?&DMOBt+nBq#J(kl;A1)&}b3{WlZyGqdfJ^GaJA-@KT73zACoacH(F&ZW~q-m!gZ&V~e-gz`0f`O&997|d1|hmFbnr417? zzYALzJ0gv<87nDyj|U_=GF<4P{N<_Ct|lFkg6 zb>orwgX~#Hs;7*M7((QKBPAse|NlIpZ(M0+Q>!inB z>v%=4+6~v&ZJf;d*agedq8s};1+DYa5#N^k>{|c>jlfdMg~-pV_2XDH$|@aqCws7X zw#SG$SXIyoj_XzxE~z*q%p#v{emSb3b1~)E#(F$)xn1|3)r*}SW9K$d^@0&-)NGUE zK8(cJuY76Rzg5M~kiae3n+&erf$FqnS@(S0l_(pT51BN1;%;pE{ieWcJK3C%S8?uA zkufTfEKU;LALwwcKoLt>r>-Fc$9I(k3O#TVXa*Ls-X=2C0T%vS72_!iensCdH70OU zGLn=Q8#{;{+o4qs-kN_jE-PkPw(gV>_W!D7Eu%~MdV{QpyYabIQuU~T;qAgLe1S6L zWdoqO#^+rPSQx$0<+?VPYf7LrX0~H2(Aj&QfIxnn1s}G0F*|2yk@i*RnC#446-&tn z`!z7p@VXW&Q5ZB%*0NdzjYssoyA2;(0928Ht2_?xv6S4jc+F<75K@Hof)bHbH|fKo z0FkqW6}B$uync2X$YA;2BlT>%mSu+=ZDg?H2AEPaWfyI8Lcrv7Pu% zrd*8s$_v}M_5A9@Md^L{wY~5(?JkG!4KtaFb9!$xYTEK_G+ym8wTK>J)wV1DlpUDS z|VR-J}kah$305?AS*1 zz2`i=3+%x8=b3sSB}a{{Yk@j_{>YErer7%8KQ~yS&?tWDUw95*>33AU>4 z+_}Wg2FVX~{U>BeR{bWFQZ7Egy`s)uQKJ=RcTRA9u<5Dv7#+cese5);mMQ_+ven3M z2R_OAP(MBW_J_uhQe=|du}UlZxumU?BUszYhAUJz;J-zbfB!vykx!?qPvsBANfrmF z@uz=+XAfC{jEkf1-St26T-~n;5n@v6V7kyD&PB!x^LH z1CtZ!t)Z$68xxhuh)3tWG-jv@AupGPOQQR-BOlsQMm7V3XEgtS@66Oc}Ng< zI_>{88O%-EcJj_p-wq`p7dt5?t@dZ2)*U2{NuEorxmuP{-jreKc$SXzy1~R+w2*SK z>-(*%NGUuiE*MCD%kp&_Ro0>bGlwQ>;YY@sET$>`a7GgV-&V~}>=G1OjE=dcZ%A`a z7-{(RcZU13=VETVT2%kJ>a(Uh?Epvr d?u3IaWsT765XPPuE1nkG=kt_gNk@o7{tND^DT)99 delta 33 ocmZozz}T>WaRZA14+~EL1HTBLKCd57!N$e}p3Ma|{lbha0G2NZjsO4v diff --git a/Sledgemapper.Api/Sledgemapper.Api.csproj b/Sledgemapper.Api/Sledgemapper.Api.csproj index bf9b406..be04316 100644 --- a/Sledgemapper.Api/Sledgemapper.Api.csproj +++ b/Sledgemapper.Api/Sledgemapper.Api.csproj @@ -5,18 +5,18 @@ - - + + - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all - - - + + + diff --git a/Sledgemapper.Api/sledgemapper.db b/Sledgemapper.Api/sledgemapper.db index fbb3f89cb68ccb93b8a7d524cfa459278f38a3af..5531a3990de09d4f94961e1348f66280a89f64ac 100644 GIT binary patch delta 4321 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 diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 0ac6e41..0651f2e 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -293,7 +293,14 @@ namespace Sledgemapper _spriteBatch.End(); - _desktop?.Render(); + try + { + _desktop?.Render(); + } + catch + { + System.Console.WriteLine("Desktop render error"); + } base.Draw(gameTime); } @@ -556,7 +563,8 @@ namespace Sledgemapper private async void OnButtonLoginClick(object sender, EventArgs e) { - Container container = ((TextButton)sender).Parent; + var button = ((TextButton)sender); + Container container = button.Parent; while (!(container is Window)) { container = container.Parent; @@ -564,23 +572,30 @@ namespace Sledgemapper var localWindow = (Window)container; var localContent = localWindow.Content as LoginRegisterWindow; + + if (!button.Enabled) + { + return; + } + var isValid = true; isValid &= ValidateTextbox(localContent.TxtEmail); isValid &= ValidateTextbox(localContent.TxtPassword); if (!isValid) { - localContent.LblLoginError.Text="Username or password is not valid"; - localContent.LblLoginError.Visible=true; - + localContent.LblLoginError.Text = "Username or password is not valid"; + localContent.LblLoginError.Visible = true; + return; } var successful = false; try { - localContent.LblLoginError.Text=""; - localContent.LblLoginError.Visible=false; + button.Text = "Wait..."; + localContent.LblLoginError.Text = ""; + localContent.LblLoginError.Visible = false; _authResponse = await _communicationManager.Login(new AuthenticateModel { Username = localContent.TxtEmail.Text, @@ -588,11 +603,20 @@ namespace Sledgemapper }); successful = _authResponse != null; } + catch (Refit.ApiException refitException) + { + localContent.LblLoginError.Text = refitException.Content; + localContent.LblLoginError.Visible = true; + } catch (Exception ex) { - Console.WriteLine(ex.Message); - localContent.LblLoginError.Text=ex.Message; - localContent.LblLoginError.Visible=true; + localContent.LblLoginError.Text = "Can't connect to the server"; + localContent.LblLoginError.Visible = true; + } + finally + { + button.Enabled = true; + button.Text = "Login"; } if (successful) @@ -608,7 +632,8 @@ namespace Sledgemapper private async void OnButtonRegisterClick(object sender, EventArgs e) { - Container container = ((TextButton)sender).Parent; + var button = ((TextButton)sender); + Container container = button.Parent; while (!(container is Window)) { container = container.Parent; @@ -616,6 +641,12 @@ namespace Sledgemapper var localWindow = (Window)container; var localContent = localWindow.Content as LoginRegisterWindow; + + if (!button.Enabled) + { + return; + } + var isValid = true; isValid &= ValidateTextbox(localContent.TxtEmail); isValid &= ValidateTextbox(localContent.TxtPassword); @@ -625,12 +656,18 @@ namespace Sledgemapper if (!isValid) { + localContent.LblLoginError.Text = "Please complete all the fields"; + localContent.LblLoginError.Visible = true; return; } var successful = false; try { + button.Text = "Wait..."; + localContent.LblLoginError.Text = ""; + localContent.LblLoginError.Visible = false; + var result = await _communicationManager.Register(new RegisterModel { Username = localContent.TxtEmail.Text, @@ -649,9 +686,20 @@ namespace Sledgemapper successful = true; } } + catch (Refit.ApiException refitException) + { + localContent.LblLoginError.Text = refitException.Content; + localContent.LblLoginError.Visible = true; + } catch (Exception ex) { - Console.WriteLine(ex.Message); + localContent.LblLoginError.Text = "Can't connect to the server"; + localContent.LblLoginError.Visible = true; + } + finally + { + button.Enabled = true; + button.Text = "Register"; } if (successful) { @@ -659,6 +707,9 @@ namespace Sledgemapper _mainWidget.MenuConnectJoin.Enabled = true; _mainWidget.MenuConnectSync.Enabled = true; _mainWidget.MenuConnectUpload.Enabled = true; + + _mainWidget.lblUsername.Text = $"{_authResponse.Username} - {_authResponse.Initials}"; + localWindow.Close(); } } @@ -856,7 +907,11 @@ namespace Sledgemapper var valid = !string.IsNullOrWhiteSpace(textBox.Text); if (!valid) { - textBox.Background = new SolidBrush(Color.PaleVioletRed); + textBox.Background = new SolidBrush(Color.Red); + } + else + { + textBox.Background = new SolidBrush(new Color(51, 51, 51)); ; } return valid; } diff --git a/Sledgemapper/Sledgemapper.csproj b/Sledgemapper/Sledgemapper.csproj index 6b2424c..a475937 100644 --- a/Sledgemapper/Sledgemapper.csproj +++ b/Sledgemapper/Sledgemapper.csproj @@ -39,9 +39,9 @@ - 3.1.9 + 5.0.0 - + diff --git a/Sledgemapper/UI/LoginRegisterWindow.Generated.cs b/Sledgemapper/UI/LoginRegisterWindow.Generated.cs index 4fbfe7f..a207ff8 100644 --- a/Sledgemapper/UI/LoginRegisterWindow.Generated.cs +++ b/Sledgemapper/UI/LoginRegisterWindow.Generated.cs @@ -1,4 +1,4 @@ -/* Generated by MyraPad at 18/11/2020 16:11:22 */ +/* Generated by MyraPad at 19/11/2020 11:58:09 */ using Myra.Graphics2D; using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; @@ -32,7 +32,7 @@ namespace Sledgemapper.UI horizontalStackPanel1.Widgets.Add(RdoRegister); var label1 = new Label(); - label1.Text = "Email"; + label1.Text = "Username"; var label2 = new Label(); label2.Text = "Password"; diff --git a/Sledgemapper/UI/loginwindow.xml b/Sledgemapper/UI/loginwindow.xml index 4d5c13b..921ac99 100644 --- a/Sledgemapper/UI/loginwindow.xml +++ b/Sledgemapper/UI/loginwindow.xml @@ -10,7 +10,7 @@ -