Files
C4IT-F4SD-Client/FasdDesktopUi/Basics/UiActions/UiNativeQuickAction.cs
Meik 0b52999b1d feat: expand cockpit integrations and support workflows
Add Phoenix remote desktop, action connector, documentation engine, and gamification support. Refactor support-case processing and search/action UI, and update installer assets and dependencies.
2026-07-13 11:16:53 +02:00

50 lines
1.8 KiB
C#

using C4IT.FASD.Base;
using FasdDesktopUi.Basics.Models;
using FasdDesktopUi.Basics.UiActions.NativeActions;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace FasdDesktopUi.Basics.UiActions
{
internal class UiNativeQuickAction : cUiQuickAction
{
private readonly string _nativeActionName;
public UiNativeQuickAction(FasdNativeQuickAction quickActionConfig) : base(quickActionConfig)
{
_nativeActionName = quickActionConfig.NativeName;
}
public override Task<cDataCanvasDataModel> GetQuickActionDataAsync(cSupportCaseDataProvider dataProvider, bool isDetailedLayout)
{
DataProvider = dataProvider;
switch (_nativeActionName)
{
case RemoteConnectionAction.NativeActionName:
return Task.FromResult(RemoteConnectionAction.GetQuickActionData(QuickActionConfig, ProcessActionAsync));
default:
throw new NotImplementedException();
}
}
public override async Task<List<object>> ProcessActionAsync(CancellationToken token, Dictionary<cAdjustableParameter, object> parameterDictionary = null)
{
return await RunNativeAction(_nativeActionName, token);
}
private async Task<List<object>> RunNativeAction(string actionName, CancellationToken token)
{
switch (actionName)
{
case RemoteConnectionAction.NativeActionName:
return await RemoteConnectionAction.RunQuickAction(QuickActionConfig.Name, StatusMonitor, DataProvider?.NamedParameterEntries, token);
default:
throw new NotImplementedException();
}
}
}
}