Beispiel #1
0
        private void Receiver_ResponseReceived(object sender, ResponseFromServerEventArgs e)
        {
            StaticFileLogger.Current.LogEvent(GetType().Name, "Receiver_ResponseReceived", $"Response received: {((object)e.Receipt).ToString()}", EventLogEntryType.Information);
            if (e.Receipt.Status.HasValue)
            {
                switch (e.Receipt.Status.Value)
                {
                case 1:
                    CurrentStatus = WorkflowStatus.SignedInButNotCollecting;
                    break;

                case 10:
                case 11:
                    CurrentStatus = WorkflowStatus.StoppedAndPreparingToExit;
                    _heartbeatTimerAndWorker.Timer.Stop();
                    break;
                }
                OnEventFromServer(e);
            }
            if (e.Receipt.Status.HasValue)
            {
                ChangeSecondsToStart(e.Receipt.Status.Value);
            }
            if (e.Receipt.Status.HasValue)
            {
                ChangeSecondsToStop(e.Receipt.Status.Value);
            }
        }
        private void _communicationsManager_EventFromServer(object sender, ResponseFromServerEventArgs e)
        {
            InvokeUI(delegate
            {
                ResponseFromServerEventArgs.ServerResponseStatus status = e.Status;
                switch (status)
                {
                case ResponseFromServerEventArgs.ServerResponseStatus.Empty:
                    break;

                default:
                    if ((uint)(status - 10) <= 1u)
                    {
                        _frmUser.SpinnerEnabled = false;
                        if (_communicationsManager.CurrentStatus != WorkflowStatus.SignOutSent)
                        {
                            MessageBox.Show(this, e.Receipt.Text, "Fejl i elev ID", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                            CreateContextMenu();
                            _communicationsManager = new CommunicationsManager();
                            _communicationsManager.EventFromServer += _communicationsManager_EventFromServer;
                            _communicationsManager.TimeToStop      += _communicationsManager_TimeToStop;
                            StudentId = null;
                        }
                    }
                    else
                    {
                        MessageBox.Show(this, e.Receipt.Text, "Message from server", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    break;

                case ResponseFromServerEventArgs.ServerResponseStatus.SuccessfulLogin:
                    _frmUser.SpinnerEnabled            = false;
                    _frmUser.ClosingFromExternalSource = true;
                    _frmUser.Close();
                    _statusbar.StudentId = "Eksamenskode: " + StudentId;
                    SubscribeToActiveWindowChangedTool();
                    if (_communicationsManager.Receiver.IsInternalCGITestMode)
                    {
                        MessageBox.Show(this, e.Receipt.Text, "Message from server", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    break;
                }
            });
        }
Beispiel #3
0
 protected void OnEventFromServer(ResponseFromServerEventArgs e)
 {
     this.EventFromServer?.Invoke(this, e);
 }