예제 #1
0
        private static void SendObjectMessage(RateObject rateObj)
        {
            MessageQueue msMq = null;

            if (!MessageQueue.Exists(MessageConstants.ObjectMessageQueue))
            {
                msMq = MessageQueue.Create(MessageConstants.ObjectMessageQueue);
            }
            else
            {
                msMq = new MessageQueue(MessageConstants.ObjectMessageQueue);
            }

            try
            {
                msMq.Send(rateObj);
            }
            catch (MessageQueueException ee)
            {
                Console.WriteLine("Error: " + ee.ToString());
            }
            catch (Exception eee)
            {
                Console.WriteLine("Error: " + eee.ToString());
            }
            finally
            {
                msMq.Close();
            }

            Console.WriteLine("Message sent!");
        }
예제 #2
0
        static void Main(string[] args)
        {
            Console.Title = "MessageTranslator";
            while (true)
            {
                MessageQueue msMq = null;

                if (!MessageQueue.Exists(MessageConstants.XmlMessageQueue))
                {
                    msMq = MessageQueue.Create(MessageConstants.XmlMessageQueue);
                }
                else
                {
                    msMq = new MessageQueue(MessageConstants.XmlMessageQueue);
                }

                try
                {
                    msMq.Formatter = new XmlMessageFormatter(new Type[] { typeof(XmlDocument) });

                    XmlDocument xmlDoc = (XmlDocument)msMq.Receive().Body;
                    //message.Save("test2.xml");

                    using (TextReader sr = new StringReader(ConvertXmlDocumentToString(xmlDoc)))
                    {
                        var           serializer = new XmlSerializer(typeof(RawRateObject));
                        RawRateObject rawRateObj = (RawRateObject)serializer.Deserialize(sr);
                        RateObject    rateObj    = ConvertRawRateObjectToRateObject(rawRateObj);
                        SendObjectMessage(rateObj);
                    }
                }
                catch (MessageQueueException ee)
                {
                    Console.Write(ee.ToString());
                }
                catch (Exception eee)
                {
                    Console.Write(eee.ToString());
                }
                finally
                {
                    msMq.Close();
                }
            }
        }
예제 #3
0
        private static RateObject ConvertRawRateObjectToRateObject(RawRateObject obj)
        {
            RateObject rateObj = new RateObject
            {
                Id               = obj.Id,
                Name             = obj.Name,
                Rank             = obj.Rank,
                Symbol           = obj.Symbol,
                PriceUSD         = obj.PriceUSD,
                PriceBTC         = obj.PriceBTC,
                VolumeUSD24h     = obj.VolumeUSD24h,
                MarketCapUSD     = obj.MarketCapUSD,
                AvailableSupply  = obj.AvailableSupply,
                TotalSupply      = obj.TotalSupply,
                MaxSupply        = obj.MaxSupply,
                PercentChange1h  = obj.PercentChange1h,
                PercentChange24h = obj.PercentChange24h,
                PercentChange7d  = obj.PercentChange7d,
                LastUpdated      = obj.LastUpdated
            };

            return(rateObj);
        }