Esempio n. 1
0
        private void loadMessages(EMDRData edata, bwWorkerArgs bwinargs)
        {
            emdrDSTableAdapters.emdrHistoryDataTableAdapter hisTblAdptr= new emdrDSTableAdapters.emdrHistoryDataTableAdapter();
            emdrDSTableAdapters.emdrOrderDataTableAdapter ordTblAdptr = new emdrDSTableAdapters.emdrOrderDataTableAdapter();

            hisTblAdptr.Connection.ConnectionString = bwinargs.ConnStr;
            ordTblAdptr.Connection.ConnectionString = bwinargs.ConnStr;

            foreach (Rowset rs in edata.Rowsets)
            {
                if (bwinargs.CaptureHistory)
                {
                    foreach (History hs in rs.HistoryRows)
                    {
                        hisTblAdptr.insEmdrHistoryData((int)rs.RegionID, rs.TypeID, hs.Date, hs.DateLocalTime,
                            hs.Orders, hs.Quantity, hs.High, hs.Low, hs.Average);
                    }
                }

                if (bwinargs.CaptureOrders)
                {
                    foreach (Order or in rs.OrderRows)
                    {
                        if (bwinargs.MergeDupes)
                        {
                            //We are merging duplicates (i.e. keeping newest record only)
                            ordTblAdptr.mergeEMDROrderData((int)rs.RegionID, rs.TypeID,
                                rs.GeneratedAt, rs.GeneratedAtLocalTime,
                                or.IssueDate, or.IssueDateLocalTime, (int)or.SolarSystemID,
                                or.StationID, or.OrderID, or.Range, or.VolEntered, or.VolRemaining, or.MinVolume, or.Price,
                                or.Duration, BitConverter.GetBytes(or.Bid)[0]);
                        }
                        else
                        {
                            //Capturing everything, something else is dealing with the multiple rows per orderid
                            ordTblAdptr.Insert((int)rs.RegionID, rs.TypeID,
                                rs.GeneratedAt, rs.GeneratedAtLocalTime,
                                or.IssueDate, or.IssueDateLocalTime, (int)or.SolarSystemID,
                                or.StationID, or.OrderID, or.Range, or.VolEntered, or.VolRemaining, or.MinVolume, or.Price,
                                or.Duration, BitConverter.GetBytes(or.Bid)[0]);

                        }
                    }
                }
            }

            return;
        }
Esempio n. 2
0
        public void trimOrderData(object sender, DoWorkEventArgs e)
        {
            emdrDSTableAdapters.emdrOrderDataTableAdapter ordTblAdptr = new emdrDSTableAdapters.emdrOrderDataTableAdapter();

            BackgroundWorker worker = sender as BackgroundWorker;

            Stopwatch stw = new Stopwatch();
            stw.Start();

            while (worker.CancellationPending == false)
            {
                try
                {
                    if (stw.ElapsedMilliseconds == TRIMWAIT)
                    {
                        ordTblAdptr.trimOrderData();
                        stw.Restart();
                    }
                }
                catch (ZMQ.Exception ex)
                {
                    throw ex;
                }
            }
            e.Cancel = true;
        }