Backend/e-suite.WorkBench/eSuite.WorkBench/Commands/LaunchSwaggerCommand.cs
2026-01-20 21:50:10 +00:00

38 lines
1.1 KiB
C#

using System;
using System.Threading.Tasks;
using eSuite.WorkBench.Services;
using eSuite.WorkBench.WpfHelper;
namespace eSuite.WorkBench.Commands;
public class LaunchSwaggerCommand : AsyncCommandBase
{
private readonly MainWindowViewModel _mainWindowViewModel;
private readonly ICommandsService _commandService;
public LaunchSwaggerCommand(MainWindowViewModel mainWindowViewModel, ICommandsService commandsService, Action<Exception> onException, EventHandler<FeedbackEventArgs> addFeedbackMessage) : base(onException)
{
FeedbackMessage += addFeedbackMessage;
_mainWindowViewModel = mainWindowViewModel;
_commandService = commandsService;
IsEnabled = true;
}
protected override async Task ExecuteAsync(object parameter)
{
try
{
DoFeedbackMessage("Starting Swagger");
await _commandService.LaunchSwagger();
}
catch (Exception ex)
{
DoFeedbackMessage(ex.Message);
}
finally
{
DoFeedbackMessage("...finished");
}
}
}