private void HandleLogOnInteraction(InteractionRequestedEventArgs e) { if (e == null) { throw new ArgumentNullException("InteractionRequestedEventArgs"); } LogOnConfirmation context = (LogOnConfirmation)e.Context; LogOnConfirmation results = InvokeInteraction <LogOnConfirmation, LogOnConfirmation>("LogOnForm", context, true); if (results != null) { context.Confirmed = results.Confirmed; context.LogOnStatus = results.LogOnStatus; } }
/// <summary> /// Initiate logOn flow and returns the status. /// </summary> /// <returns>Log on status.</returns> public LogOnStatus LogOnOperator() { LogOnStatus logonStatus = LogOnStatus.None; // Automation Logon (logon using command line user/password -SU<operatorId> -SP<password>). if (!string.IsNullOrWhiteSpace(ApplicationSettings.StartUser) && !string.IsNullOrWhiteSpace(ApplicationSettings.StartPassword)) { if (Login.LogOnUser(true, ApplicationSettings.StartUser, string.Empty, string.Empty, ApplicationSettings.StartPassword)) { logonStatus = LogOnStatus.LogOn; } } // If not auto logged on, then display the UI. if (logonStatus != LogOnStatus.LogOn) { // Invoke Trigger foreach (var trigger in Application.Triggers.ApplicationTriggers) { trigger.LoginWindowVisible(); } LogOnConfirmation logOnConfirmation = new LogOnConfirmation(); InteractionRequestedEventArgs request = new InteractionRequestedEventArgs(logOnConfirmation, () => { if (logOnConfirmation.Confirmed) { logonStatus = (LogOnStatus)logOnConfirmation.LogOnStatus; } } ); Application.Services.Interaction.InteractionRequest(request); } return(logonStatus); }