private void ResetMsgSeqNum(MessageDirection direction, int iMsgSeqNum, ArrayList alIndex)
        {
            if (iMsgSeqNum < 1)
            {
                throw new Exception("MsgSeqNum must be greater then or equal to 1");
            }

            if (iMsgSeqNum == alIndex.Count + 1)
            {
                throw new Exception("MsgSeqNum is already set to that number");
            }

            IMessageSequenceReset reset = _messageFactory.CreateInstanceSequenceReset();

            reset.Direction    = direction;
            reset.SenderCompID = "RESET";
            reset.TargetCompID = "RESET";
            reset.MsgSeqNum    = -1;
            reset.GapFillFlag  = false;
            reset.NewSeqNo     = iMsgSeqNum;
            _messageFactory.Build(reset);

            MessageWrite(reset);

            ProcessSystemResetMsgSeqNum(reset.NewSeqNo, alIndex);
        }
Esempio n. 2
0
        public async Task <IMessage> AddMessage(string messageContent)
        {
            var message = _factory.Build(messageContent);

            return(await _repository.Insert(message));
        }