Add event-driven quick action dispatch
This commit is contained in:
@@ -4,10 +4,14 @@ using C4IT.FASD.Security;
|
||||
using C4IT.Graphics;
|
||||
using C4IT.Logging;
|
||||
using C4IT.MultiLanguage;
|
||||
using C4IT.XML;
|
||||
using F4SD.ActionConnector.Bus;
|
||||
using F4SD.ActionConnector.Models;
|
||||
using FasdDesktopUi.Basics;
|
||||
using FasdDesktopUi.Basics.Helper;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using FasdDesktopUi.Basics.Services.Models;
|
||||
using FasdDesktopUi.Basics.UiActions.NativeActions;
|
||||
using FasdDesktopUi.Pages.CustomMessageBox;
|
||||
using FasdDesktopUi.Pages.PhoneSettingsPage;
|
||||
using FasdDesktopUi.Pages.SearchPage;
|
||||
@@ -45,6 +49,8 @@ namespace FasdDesktopUi
|
||||
private TileScope? _pendingTicketOverviewScope;
|
||||
|
||||
#endregion
|
||||
|
||||
private ActionBus _actionBus;
|
||||
|
||||
private async void Application_Startup(object sender, StartupEventArgs e)
|
||||
{
|
||||
@@ -62,7 +68,7 @@ namespace FasdDesktopUi
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
Console.WriteLine("Debugger attached");
|
||||
*/
|
||||
*/
|
||||
Assembly assembly = Assembly.GetExecutingAssembly();
|
||||
var ProductName = FileVersionInfo.GetVersionInfo(assembly.Location).ProductName;
|
||||
var attribute = (GuidAttribute)assembly.GetCustomAttributes(typeof(GuidAttribute), true)[0];
|
||||
@@ -127,7 +133,24 @@ namespace FasdDesktopUi
|
||||
|
||||
InitializeNotifyIcon();
|
||||
|
||||
//CustomMessageBox.ShowCustomContent("Close case", enumHealthCardStateLevel.None, null, true, new CloseCaseDialogWithTicket());
|
||||
try
|
||||
{
|
||||
//_actionBus = new ActionBus(new ActionBusOptions()
|
||||
//{
|
||||
// ConfigRootElement = cXmlParser.OpenXmlDocument(new List<cXmlFileLocation>() { new cXmlFileLocation()
|
||||
// {
|
||||
// LocationType = cXmlFileLocation.enumXmlLocationType.StringContent,
|
||||
// StringContent = string.Empty
|
||||
// } }, out cXmlParser parser, ExternalCommunicationConfiguration.ConfigRootElement),
|
||||
// Parser = parser,
|
||||
// QuickActionExecutor = QuickActionExecutor.RunAction
|
||||
//});
|
||||
//_actionBus.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogException(ex);
|
||||
}
|
||||
|
||||
await cAppStartUp.StartAsync(e.Args);
|
||||
notifyIcon.Visible = true;
|
||||
@@ -491,19 +514,19 @@ namespace FasdDesktopUi
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
private async void Application_Exit(object sender, ExitEventArgs e)
|
||||
{
|
||||
cF4sdUserInfo userInfo = null;
|
||||
ConfiguredTaskAwaitable? closeUserSessionTask = null;
|
||||
lock (cFasdCockpitCommunicationBase.CockpitUserInfoLock)
|
||||
{
|
||||
userInfo = cFasdCockpitCommunicationBase.CockpitUserInfo;
|
||||
}
|
||||
if (userInfo?.Id.Equals(Guid.Empty) is false)
|
||||
lock (cFasdCockpitCommunicationBase.CockpitUserInfoLock)
|
||||
{
|
||||
closeUserSessionTask = cFasdCockpitCommunicationBase.Instance?.CloseUserSession(cFasdCockpitConfig.SessionId).ConfigureAwait(false);
|
||||
userInfo = cFasdCockpitCommunicationBase.CockpitUserInfo;
|
||||
}
|
||||
if (userInfo?.Id.Equals(Guid.Empty) is false)
|
||||
{
|
||||
closeUserSessionTask = cFasdCockpitCommunicationBase.Instance?.CloseUserSession(cFasdCockpitConfig.SessionId).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (cFasdCockpitCommunicationBase.Instance != null)
|
||||
@@ -545,6 +568,8 @@ namespace FasdDesktopUi
|
||||
}
|
||||
catch { }
|
||||
|
||||
_actionBus?.Stop();
|
||||
|
||||
if (closeUserSessionTask is ConfiguredTaskAwaitable _t)
|
||||
await _t;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user