Saving of enemies

This commit is contained in:
2020-03-09 17:47:26 +01:00
parent e85f4a1adb
commit 13a87b7094
4 changed files with 34 additions and 4 deletions

View File

@@ -31,13 +31,33 @@ namespace EstusShots.Gtk
_newEnemyButton.Clicked += NewEnemyButtonOnClicked;
}
private void EnemiesPageNavigatedTo()
{
var _ = ReloadEnemies();
}
private void NewEnemyButtonOnClicked(object sender, EventArgs e)
{
var enemyEditor = new EnemyEditor(this, new Enemy(), SeasonsControl.Items);
enemyEditor.DialogClosed += EnemyEditorOnDialogClosed;
enemyEditor.Show();
}
private async void ReloadEnemies()
private async void EnemyEditorOnDialogClosed(object o, DialogClosedEventArgs<Enemy> args)
{
if (!args.Ok) return;
var res = await Client.Enemies.SaveEnemy(new SaveEnemyParameter(args.Model));
if (!res.OperationResult.Success)
{
Info($"Unable to save: {res.OperationResult.ShortMessage}");
ErrorDialog.Show(res.OperationResult);
return;
}
await ReloadEnemies();
}
private async Task ReloadEnemies()
{
var res = await Task.Factory.StartNew(()
=> Client.Enemies.GetEnemies(new GetEnemiesParameter()).Result);