예제 #1
0
        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;
            }
        }
예제 #2
0
        /// <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);
        }