Get campaign list

This commit is contained in:
Michele Scandura 2021-06-02 23:10:37 +01:00
parent a13fb49942
commit 53bfb770ea
6 changed files with 145 additions and 2 deletions

View File

@ -9,5 +9,8 @@ namespace Sledgemapper.Shared.Entities
[Required]
public string Password { get; set; }
[Required]
public string Email { get; set; }
}
}

View File

@ -55,7 +55,7 @@ namespace Sledgemapper
Task<AuthResult> Register([Body] RegisterModel registerModel);
[Headers("Authorization")]
[Post("/authmanagement/authenticate")]
[Post("/authmanagement/login")]
Task<AuthenticateResponse> Authenticate([Body] AuthenticateModel registerModel);
[Post("/session/{sessionName}/room")]
@ -66,5 +66,8 @@ namespace Sledgemapper
[Post("/campaign/{campaignName}")]
Task NewCampaign(string campaignName);
[Get("/campaign/")]
Task<List<Campaign>> GetCampaigns();
}
}

View File

@ -211,8 +211,9 @@ namespace Sledgemapper
_mainWidget.MenuViewCenterOnSelection.Selected += OnMenuViewCenterOnSelectionSelected;
_mainWidget.MenuViewShowCellNUmbers.Selected += OnMenuViewShowCellNUmbersSelected;
_mainWidget.MenuViewShowNotes.Selected += OnMenuViewNotesSelected;
_mainWidget.MenuCampaingNew.Selected += OnMenuCampaignNew;
_mainWidget.MenuCampaingNew.Selected += OnMenuCampaignNew;
_mainWidget.MenuCampaignOpen.Selected += OnMenuCampaignOpen;
_mainWidget.MenuConnectNew.Enabled = false;
_mainWidget.MenuConnectJoin.Enabled = false;
_mainWidget.MenuConnectSync.Enabled = false;
@ -322,6 +323,31 @@ namespace Sledgemapper
content.TxtCampaign.SetKeyboardFocus();
}
private async void OnMenuCampaignOpen(object sender, EventArgs e)
{
if (!((MenuItem)sender).Enabled)
{
return;
}
Window window = new()
{
Title = "Campaigns"
};
var content = new CampaignList();
var campaigns = await _communicationManager.Api.GetCampaigns();
//content.BtnNewCampaign.Text = "N";
// content.BtnNewCampaign.Click += OnButtonNewCampaignClicked;
window.Content = content;
window.ShowModal(_desktop);
// content.TxtCampaign.SetKeyboardFocus();
}
private void OneMenuFileSettingsSelected(object sender, EventArgs e)
{
var propertyGrid = new PropertyGrid
@ -2133,6 +2159,7 @@ namespace Sledgemapper
_authResponse = await _communicationManager.Login(new AuthenticateModel
{
Username = localContent.TxtEmail.Text,
Email = localContent.TxtEmail.Text,
Password = localContent.TxtPassword.Text
});
successful = _authResponse != null;

View File

@ -0,0 +1,80 @@
/* Generated by MyraPad at 01/06/2021 12:43:27 */
using Myra;
using Myra.Graphics2D;
using Myra.Graphics2D.TextureAtlases;
using Myra.Graphics2D.UI;
using Myra.Graphics2D.Brushes;
using Myra.Graphics2D.UI.Properties;
#if MONOGAME || FNA
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
#elif STRIDE
using Stride.Core.Mathematics;
#else
using System.Drawing;
using System.Numerics;
#endif
namespace Sledgemapper.UI
{
partial class CampaignList: VerticalStackPanel
{
private void BuildUI()
{
var label1 = new Label();
label1.Text = "Campaigns";
label1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
StackNotesList = new VerticalStackPanel();
StackNotesList.Proportions.Add(new Proportion
{
Type = Myra.Graphics2D.UI.ProportionType.Fill,
});
StackNotesList.MinHeight = 350;
StackNotesList.Id = "StackNotesList";
var scrollViewer1 = new ScrollViewer();
scrollViewer1.Content = StackNotesList;
var textButton1 = new TextButton();
textButton1.Text = "New";
textButton1.Width = 70;
textButton1.Height = 20;
textButton1.Padding = new Thickness(5);
textButton1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
var textButton2 = new TextButton();
textButton2.Text = "Load";
textButton2.Width = 70;
textButton2.Height = 20;
textButton2.Padding = new Thickness(5);
textButton2.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
var textButton3 = new TextButton();
textButton3.Text = "Cancel";
textButton3.Width = 70;
textButton3.Height = 20;
textButton3.Padding = new Thickness(5);
textButton3.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
var horizontalStackPanel1 = new HorizontalStackPanel();
horizontalStackPanel1.Spacing = 15;
horizontalStackPanel1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Right;
horizontalStackPanel1.Widgets.Add(textButton1);
horizontalStackPanel1.Widgets.Add(textButton2);
horizontalStackPanel1.Widgets.Add(textButton3);
Spacing = 13;
Width = 400;
Padding = new Thickness(10);
Widgets.Add(label1);
Widgets.Add(scrollViewer1);
Widgets.Add(horizontalStackPanel1);
}
public VerticalStackPanel StackNotesList;
}
}

View File

@ -0,0 +1,11 @@
/* Generated by MyraPad at 01/06/2021 12:43:27 */
namespace Sledgemapper.UI
{
public partial class CampaignList
{
public CampaignList()
{
BuildUI();
}
}
}

View File

@ -0,0 +1,19 @@
<Project>
<Project.ExportOptions Namespace="Sledgemapper.UI" Class="CampaignList" OutputPath="C:\src\Map\Sledgemapper\UI" />
<VerticalStackPanel Width="400" Padding="10" Spacing="13">
<Label Text="Campaigns" HorizontalAlignment="Center" />
<ScrollViewer >
<VerticalStackPanel MinHeight="350" Id="StackNotesList" >
<VerticalStackPanel.Proportions>
<Proportion Type="Fill" />
</VerticalStackPanel.Proportions>
</VerticalStackPanel>
</ScrollViewer>
<HorizontalStackPanel Spacing="15" HorizontalAlignment="Right" >
<TextButton Text="New" ImageHorizontalAlignment="Left" Width="70" Height="20" Padding="5" HorizontalAlignment="Center" />
<TextButton Text="Load" Width="70" Height="20" Padding="5" HorizontalAlignment="Center"/>
<TextButton Text="Cancel" Width="70" Height="20" Padding="5" HorizontalAlignment="Center"/>
</HorizontalStackPanel>
</VerticalStackPanel>
</Project>