示例#1
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hash = 17;
         hash = hash * 29 + Symbol.GetHashCode();
         hash = hash * 29 + MostRecentTrade.GetHashCode();
         hash = hash * 29 + MostRecentTradeSize.GetHashCode();
         hash = hash * 29 + MostRecentTradeTime.GetHashCode();
         hash = hash * 29 + MostRecentTradeMarketCenter.GetHashCode();
         hash = hash * 29 + TotalVolume.GetHashCode();
         hash = hash * 29 + Bid.GetHashCode();
         hash = hash * 29 + BidSize.GetHashCode();
         hash = hash * 29 + Ask.GetHashCode();
         hash = hash * 29 + AskSize.GetHashCode();
         hash = hash * 29 + Open.GetHashCode();
         hash = hash * 29 + High.GetHashCode();
         hash = hash * 29 + Low.GetHashCode();
         hash = hash * 29 + Close.GetHashCode();
         hash = hash * 29 + MessageContents.GetHashCode();
         hash = hash * 29 + MostRecentTradeConditions.GetHashCode();
         return(hash);
     }
 }
 public static void SetErrorMessageContents(this Controller controller, MessageContents contents)
 {
     controller.ViewBag.MessageContents = contents;
 }
        public BusinessDataHeader(Byte[] vArrAll)
        {
            _TechnicalHeader            = new TechnicalHeader();
            _TechnicalHeader._ObsFields = _TechnicalHeader._ObsFields.FillArrByteInObsField(vArrAll.SubArray(0, 25));

            _InstrumentCharacteristicHeader            = new InstrumentCharacteristicHeader();
            _InstrumentCharacteristicHeader._ObsFields = _InstrumentCharacteristicHeader._ObsFields.FillArrByteInObsField(vArrAll.SubArray(25, 52));
            _IsValedMessage = true;
            switch (_InstrumentCharacteristicHeader._ObsFields.GetFieldFromObs("Message_Type_Code")._Alphanumerical)
            {
            case "0001":
                _MessageContents = new Message_01();
                break;

            case "0002":
                _MessageContents = new Message_02();
                break;

            case "0003":
                _MessageContents = new Message_03();
                break;

            case "0004":
                _MessageContents = new Message_04();
                break;

            case "0005":
                _MessageContents = new Message_05();
                break;

            case "0007":
                _MessageContents = new Message_07();
                break;

            case "0008":
                _MessageContents = new Message_08();
                break;

            case "0016":
                _MessageContents = new Message_16();
                break;

            case "0023":
                _MessageContents = new Message_23();
                break;

            case "0030":
                _MessageContents = new Message_30();
                break;

            case "0032":
                _MessageContents = new Message_32();
                break;

            case "0033":
                _MessageContents = new Message_33();
                break;

            case "0037":
                _MessageContents = new Message_37();
                break;

            case "0052":
                _MessageContents = new Message_52();
                break;

            case "0053":
                _MessageContents = new Message_53();
                break;

            case "005E":
                _MessageContents = new Message_5E();
                break;

            case "005F":
                _MessageContents = new Message_5F();
                break;

            case "005G":
                _MessageContents = new Message_5G();
                break;

            case "005J":
                _MessageContents = new Message_5J();
                break;

            case "00A0":
                _MessageContents = new Message_A0();
                break;

            case "00A3":
                _MessageContents = new Message_A3();
                break;

            case "00A4":
                _MessageContents = new Message_A4();
                break;

            case "00A5":
                _MessageContents = new Message_A5();
                break;

            case "00A6":
                _MessageContents = new Message_A6();
                break;

            case "00B1":
                _MessageContents = new Message_B1();
                break;

            default:
                _IsValedMessage = false;
                break;
            }
            if (_IsValedMessage && _MessageContents._ObsFields != null)
            {
                _MessageContents._ObsFields = _MessageContents._ObsFields.FillArrByteInObsField(vArrAll.SubArray(76, vArrAll.Length - 76));
            }

            //**Proccess for 0004 message only
            if (_InstrumentCharacteristicHeader._ObsFields.GetFieldFromObs("Message_Type_Code")._Alphanumerical == "0004")
            {
                string[] xArrItabModMeLim = new string[6];
                int[]    xArrMoveTo       = new int[6];
                bool     xIsFullChange    = true;
                int      xMomeCount       = 0;
                //int xChangeCount = 0;
                for (int i = 0; i < xArrItabModMeLim.Length; i++)
                {
                    string xItabModMeLim = _MessageContents._ObsFields.GetFieldFromObs("ItabModMeLim_" + (i + 1))._Alphanumerical;
                    if (xItabModMeLim == "1")
                    {
                        xArrMoveTo[i] = i + 1;
                        xMomeCount++;
                    }
                    else
                    {
                        xIsFullChange = false;
                        xArrMoveTo[i] = 0;
                    }
                    xArrItabModMeLim[i] = xItabModMeLim;
                }
                if (!xIsFullChange)
                {
                    if (_InstrumentCharacteristicHeader._ObsFields.GetFieldFromObs("CValMne")._Alphanumerical == "FFCO ")
                    {
                    }
                    for (int i = xArrMoveTo.Length - 1; i >= 0; i--)
                    {
                        if (xArrMoveTo[i] > 0)
                        {
                            _MessageContents._ObsFields.Move_AMeLim(xMomeCount, xArrMoveTo[i]);
                            xMomeCount--;
                        }
                    }
                }
            }
            //##Proccess for 0004 message only
        }
 public RequestResultArgs(bool succeeded, MessageContents messageContents)
 {
     Succeeded       = succeeded;
     MessageContents = messageContents;
 }
示例#5
0
        public IMessageContents PreviewMessage(IMessageHeader header)
        {
            try
            {
                Message msg = queue.PeekById(header.Id, new TimeSpan(0, 0, 5));
                if(msg == null)
                    throw new MessagingException("MSG no longer exists in the queue.");

                MessageContents contents = new MessageContents(msg);
                return contents;
            }
            catch(MessageQueueException e)
            {
                throw new MessagingException(e.Message);
            }
        }
示例#6
0
 /// <summary>
 /// Returns all the message headers as an IList.
 /// </summary>
 public IList GetMessageHeaders()
 {
     IList headers = new ArrayList();
     IList list = queue.GetAllMessages();
     foreach(Message msg  in list)
     {
         MessageContents header = new MessageContents(msg);
         headers.Add(header);
     }
     return headers;
 }
示例#7
0
        public IMessageContents GetMessage(IMessageHeader header)
        {
            try
            {
                Message msg = queue.ReceiveById(header.Id, new TimeSpan(0, 0, 5), currentTransaction.Transaction);
                if(msg == null)
                    throw new MessagingException("Unable to retreive message: "+header.MessageLabel);

                MessageContents contents = new MessageContents(msg);
                return contents;
            }
            catch(MessageQueueException mqe)
            {
                throw new MessagingException(mqe.Message);
            }
        }
示例#8
0
        //***************************************************************************************
        public void FillSecondSub(Byte[] vArrSecondSub)
        {
            _IsValedMessage = true;
            switch (_ObsFields.GetFieldFromObs("YMsgRLC")._Alphanumerical)
            {
            case "01":
                _MessageContents = new Message_01();
                break;

            case "02":
                _MessageContents = new Message_02();
                break;

            case "03":
                _MessageContents = new Message_03();
                break;

            case "04":
                _MessageContents = new Message_04();
                break;

            case "05":
                _MessageContents = new Message_05();
                break;

            case "07":
                _MessageContents = new Message_07();
                break;

            case "08":
                _MessageContents = new Message_08();
                break;

            case "16":
                _MessageContents = new Message_16();
                break;

            case "23":
                _MessageContents = new Message_23();
                break;

            case "30":
                _MessageContents = new Message_30();
                break;

            case "32":
                _MessageContents = new Message_32();
                break;

            case "33":
                _MessageContents = new Message_33();
                break;

            case "37":
                _MessageContents = new Message_37();
                break;

            case "52":
                _MessageContents = new Message_52();
                break;

            case "53":
                _MessageContents = new Message_53();
                break;

            case "5E":
                _MessageContents = new Message_5E();
                break;

            case "5F":
                _MessageContents = new Message_5F();
                break;

            case "5G":
                _MessageContents = new Message_5G();
                break;

            case "5J":
                _MessageContents = new Message_5J();
                break;

            case "A3":
                _MessageContents = new Message_A3();
                break;

            case "A4":
                _MessageContents = new Message_A4();
                break;

            case "A5":
                _MessageContents = new Message_A5();
                break;

            case "B1":
                _MessageContents = new Message_B1();
                break;

            case "M1":
                _MessageContents = new Message_M1();
                break;

            default:
                _IsValedMessage = false;
                break;
            }
            if (_IsValedMessage && _MessageContents._ObsFields != null)
            {
                _MessageContents._ObsFields = _MessageContents._ObsFields.FillArrByteInObsField(vArrSecondSub);
            }
        }