Exemple #1
0
        // Main read messages method, as much of this is similar we have created a generic private method which all public methods call
        private string Read(enmReadType readType, string clientId, string sessionId, enmMessageFormat format, int maxNumber)
        {
            Log(clientId, sessionId, format, maxNumber);

            string formatted = "";

            try {
                UserContainer user = _userProcessor.GetUser(clientId, sessionId, null);
                if (user == null) throw new InitException();

                try {
                    MessageList messages = null;

                    switch (readType) {
                        case enmReadType.ReadNext:
                            messages = _messageProcessor.Read(enmReadDirection.Forward, clientId, sessionId, maxNumber);
                            break;
                        case enmReadType.ReadLast:
                            messages = _messageProcessor.Read(enmReadDirection.Backward, clientId, sessionId, maxNumber);
                            break;
                    }

                    FormatLibrary fl = new FormatLibrary();
                    formatted = fl.Serialize(messages, format);
                } catch (TrappedException ex) {
                    Log(ex); _messageProcessor.Create(clientId, sessionId, Config.ClientId, enmMessageCategory.TrappedException, ex.Message, ex.MetaData);
                }
            } catch (InitException) {
                Log();
            } catch (Exception ex) {
                Log(ex); _messageProcessor.Create(clientId, sessionId, Config.ClientId, enmMessageCategory.Exception, ex.Message);
            }

            return formatted;
        }
Exemple #2
0
 public MessageList DeSerialize(string data, enmMessageFormat format)
 {
     FormatLibrary fl = new FormatLibrary();
     return fl.DeSerialize<MessageList>(data, format);
 }
Exemple #3
0
 // Get messages using session and also indicate how many messages you want to get
 public string ReadNext(string clientId, string sessionId, enmMessageFormat format, int maxNumber)
 {
     return Read(enmReadType.ReadNext, clientId, sessionId, format, maxNumber);
 }
Exemple #4
0
        private bool ProcessClientCommand(string command)
        {
            string[] parameters = SplitParameters(command);

            if (parameters.Length >= 1) {
                switch (parameters[0]) {
                    case ".format.xml":
                        _messageFormat = enmMessageFormat.Xml;
                        break;
                    case ".format.json":
                        _messageFormat = enmMessageFormat.Json;
                        break;
                    case ".format.contract":
                        _messageFormat = enmMessageFormat.Contract;
                        break;
                    case ".message":
                        string retval = _messages.ReadNext(_clientId, _sessionId, _messageFormat, 0);

                        MessageList ml = _manager.DeSerialize(retval, _messageFormat);

                        txtMessages.AppendText(retval + "\r");
                        return true;
                    case ".session":
                        if (parameters.Length == 2) {
                            _sessionId = parameters[1];
                        } else {
                            txtMessages.AppendText(_sessionId + "\r");
                        }
                        return true;
                    case ".cls.monitor":
                        txtMessages.Clear();
                        break;
                    case ".cls.command":
                        txtConsole.Clear();
                        break;
                    case ".cls":
                        txtMessages.Clear();
                        txtConsole.Clear();
                        break;
                    case ".exit":
                        this.Hide();
                        return true;
                    default:
                        txtConsole.AppendText("\n");
                        int firstCharPosition = txtConsole.SelectionStart;
                        txtConsole.AppendText("Local command not known ");
                        txtConsole.Select(firstCharPosition, 23);
                        txtConsole.SelectionColor = Color.Blue;

                        return true;
                }
                return true;
            } else {
                return true;
            }
        }