private void ProcessLoginMessageEvent(object sender, LoginMessageEventArgs e)
        {
            this.Dispatcher.BeginInvoke(new Action(() =>
            {
                var msg = new StringBuilder();
                switch (e.Message.MsgType)
                {
                case MessageTypeEnum.Refresh:
                    {
                        var respMsg = (RefreshMessage)e.Message;
                        if (respMsg.State.Stream == StreamStateEnum.Open && respMsg.State.Data != DataStateEnum.Suspect)
                        {
                            msg.Append($"{e.TimeStamp} Data State:{respMsg.State.Data} Stream State:{respMsg.State.Stream} State Code:{respMsg.State.Code} Status Text:{respMsg.State.Text}");
                            LoginExpandBtn.IsExpanded = false;
                        }
                    }
                    break;

                case MessageTypeEnum.Status:
                    var status = (StatusMessage)e.Message;
                    if (status.State.Stream == StreamStateEnum.Closed ||
                        status.State.Stream == StreamStateEnum.ClosedRecover)
                    {
                        msg.Append($"Disconnect {status.State.Text}");
                        IsConnected(false, false, "Connect");
                    }
                    break;

                case MessageTypeEnum.Update:
                    throw new NotImplementedException();
                }
                var originalTitle      = $"{_windowsName} Status::";
                MrnViewerDesktop.Title = $"{originalTitle} {msg.ToString()}";
            }));
        }
示例#2
0
        protected void RaiseLoginMessageEvent(DateTime timestamp, IMessage message)
        {
            var messageCallback = new LoginMessageEventArgs()
            {
                Message = message, TimeStamp = timestamp
            };

            OnLoginMessage(messageCallback);
        }
示例#3
0
        protected virtual void OnLoginMessage(LoginMessageEventArgs e)
        {
            var handler = LoginMessageEvent;

            handler?.Invoke(this, e);
        }