public void Post([FromBody] object jsonData)
        {
            // got to be an object to we can programatically deal with malformed or garbage data.

            try {
                var _tradeDataService = new TradeDataService(_tradeContext);
                var tradeMessage      = new OMSTradeDataMessage(jsonData.ToString());

                var result = _tradeDataService.CommitTrades(tradeMessage);

                // tradeservices.validate

                // handle and send to message bin
            }
            catch {
            }



            //            var toTrades = new List<OMSTradeData>(dataStream);



            //  _tradeDataService.CommitTrades(dataStream);
        }
Esempio n. 2
0
        public bool CommitTrades(OMSTradeDataMessage tradeMessage)
        {
            if (tradeMessage.Validity == MessageValidityType.Success)
            {
                _context.CommitTrades(tradeMessage.Trades);
            }
            else
            {
                // Send to bin
                var message = new MessageBin()
                {
                    ReceivedDate = DateTime.Now,
                    Message      = tradeMessage.OriginalMessage,
                    ValidityType = tradeMessage.Validity
                };

                _context.CommitMessage(message);
            }

            return(true);
        }
Esempio n. 3
0
        public void BigFatDoEverything()
        {
            var optionsBuilder = new DbContextOptionsBuilder <TradeContext>();

            optionsBuilder.UseSqlServer("Server=.;Database=Redburn_Lofty1;Trusted_Connection = True;");

            var liveContext = new TradeContext(optionsBuilder.Options);

            //liveContext.Database.Migrate();
            liveContext.Database.EnsureCreated();   // shouldnt be necessary but for some reason db is not getting generated on savechanges. Investigate when given time.


            var tradeService = new TradeDataService(liveContext);


            var tradeStream  = _tradeDataStream.GetTradeStream();
            var tradeMessage = new OMSTradeDataMessage(tradeStream);

            var result = tradeService.CommitTrades(tradeMessage);


            Assert.True(result);
        }