internal MessagesBagStatus AddMessage(string rawMessageType, byte[] messageValue) { if (_startMessagesSignature.Contains(rawMessageType)) { if (this.Status != MessagesBagStatus.None) { throw new MessageMisalignedException($"Received an StartMessege while current status is {this.Status}"); } this.MessageType = GetMessageType(rawMessageType); this.MessageSheets.Clear(); return(this.Status = MessagesBagStatus.Open); } if (rawMessageType == _endMessageSignature) { if (this.Status != MessagesBagStatus.Collecting) { throw new MessageMisalignedException($"Received an EndMessege while current status is {this.Status}"); } return(this.Status = MessagesBagStatus.Closed); } if (this.Status == MessagesBagStatus.Closed) { throw new MessageMisalignedException($"Received {rawMessageType} while current status is {MessagesBagStatus.Closed}"); } this.MessageSheets.Add(new Message(GetRecipient(rawMessageType), messageValue)); return(this.Status = MessagesBagStatus.Collecting); }
public MessagesBagStatus AddMessage(string rawMessageType, byte[] messageValue) { if (_startMessagesSignature.Contains(rawMessageType)) { if (this.Status != MessagesBagStatus.None) throw new MessageMisalignedException($"Received an StartMessege while current status is {this.Status}"); this.MessageType = GetMessageType(rawMessageType); this.MessageSheets.Clear(); return (this.Status = MessagesBagStatus.Open); } if (rawMessageType == _endMessageSignature) { if (this.Status != MessagesBagStatus.Collecting) throw new MessageMisalignedException($"Received an EndMessege while current status is {this.Status}"); return (this.Status = MessagesBagStatus.Closed); } if (this.Status == MessagesBagStatus.Closed) { throw new MessageMisalignedException($"Received {rawMessageType} while current status is {MessagesBagStatus.Closed}"); } this.MessageSheets.Add(new Message(GetRecipient(rawMessageType), messageValue)); return (this.Status = MessagesBagStatus.Collecting); }
internal MessagesBag(Encoding encoding, IList <string> startMessagesSignature, string endMessageSignature) { this.MessageSheets = new List <Message>(); this.Status = MessagesBagStatus.None; this.Encoding = encoding; _endMessageSignature = endMessageSignature; _startMessagesSignature = startMessagesSignature; }
public MessagesBag(Encoding encoding, IList<string> startMessagesSignature, string endMessageSignature) { this.MessageSheets = new List<Message>(); this.Status = MessagesBagStatus.None; this.Encoding = encoding; _endMessageSignature = endMessageSignature; _startMessagesSignature = startMessagesSignature; }
public MessagesBag(Encoding encoding, IList <string> startMessagesSignature, string endMessageSignature, ICollection <string> processableMessages) { this.Messages = new List <Message>(); this.Status = MessagesBagStatus.Empty; this.Encoding = encoding; _endMessageSignature = endMessageSignature; _startMessagesSignature = startMessagesSignature; _processableMessages = processableMessages; }
internal MessagesBagStatus AddMessage(string rawMessageType, byte[] messageValue) { if (rawMessageType == this._startMessageSignature) { this.MessageType = (ChangeType)Enum.Parse(typeof(ChangeType), Encoding.Unicode.GetString(messageValue)); this.MessageSheets.Clear(); return (this.Status = MessagesBagStatus.Open); } if (rawMessageType == this._endMessageSignature) { if ((ChangeType)Enum.Parse(typeof(ChangeType), Encoding.Unicode.GetString(messageValue)) != this.MessageType) throw new DataMisalignedException(); return (this.Status = MessagesBagStatus.Closed); } if (this.Status == MessagesBagStatus.Closed) throw new MessageMisalignedException("Envelop already closed!"); if (this.MessageType != GetMessageType(rawMessageType)) throw new MessageMisalignedException(); this.MessageSheets.Add(new Message(GetRecipient(rawMessageType), messageValue)); return MessagesBagStatus.Collecting; }
public MessagesBagStatus AddMessage(Message message) { if (_startMessagesSignature.Contains(message.Recipient)) { if (this.Status != MessagesBagStatus.None) { throw new MessageMisalignedException($"Received an StartMessege while current status is {this.Status}."); } this.MessageType = MessagesBag.GetMessageType(message.Recipient); this.Messages.Clear(); return(this.Status = MessagesBagStatus.Open); } if (message.Recipient == _endMessageSignature) { if (this.Status != MessagesBagStatus.Collecting) { throw new MessageMisalignedException($"Received an EndMessege while current status is {this.Status}."); } return(this.Status = MessagesBagStatus.Closed); } if (this.Status == MessagesBagStatus.Closed) { throw new MessageMisalignedException($"Received {message.Recipient} message while current status is {MessagesBagStatus.Closed}."); } if (_processableMessages.Contains(message.Recipient) == false) { throw new MessageMisalignedException($"Queue containing a message type not expected [{message.Recipient}]."); } this.Messages.Add(new Message(MessagesBag.GetRecipient(message.Recipient), message.Body)); return(this.Status = MessagesBagStatus.Collecting); }
public MessagesBagStatus AddMessage(Message message) { if (_startMessagesSignature.Contains(message.MessageType)) { if (this.Status != MessagesBagStatus.Empty) { throw new MessageMisalignedException($"Received an StartMessege while current status is {this.Status}."); } this.MessageType = MessagesBag.GetMessageType(message.MessageType); this.Messages.Clear(); return(this.Status = MessagesBagStatus.Collecting); } if (message.MessageType == _endMessageSignature) { if (this.Status != MessagesBagStatus.Collecting) { throw new MessageMisalignedException($"Received an EndMessege while current status is {this.Status}."); } return(this.Status = MessagesBagStatus.Ready); } if (this.Status == MessagesBagStatus.Ready) { throw new MessageMisalignedException($"Received {message.MessageType} message while current status is {MessagesBagStatus.Ready}."); } if (_processableMessages.Contains(message.MessageType) == false) { throw new MessageMisalignedException($"Queue containing a message type not expected [{message.MessageType}]."); } this.Messages.Add(message); return(this.Status = MessagesBagStatus.Collecting); }
public void Reset() { this.Status = MessagesBagStatus.Empty; }
public void Reset() { this.Status = MessagesBagStatus.None; }