private void btnStartCapture_Click(object sender, EventArgs e) { if (bw.IsBusy != true) { bwArgs = new bwWorkerArgs(config.Attr.EMDRServer, config.Attr.DataSource, config.Attr.MergeDuplicates, config.Attr.CaptureHistory, config.Attr.CaptureOrders); bw.RunWorkerAsync(bwArgs); if (trimBw.IsBusy != true) { trimBw.RunWorkerAsync(); } } else { MessageBox.Show(@"The Background Workers did not start because they are in a busy state", "Error: BackgroundWorker Busy", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); } tsCaptureState.Text = @"Capture Status: Running"; tsTrimState.Text = @"Trim Status: Active"; btnStopCapture.Enabled = true; btnStartCapture.Enabled = false; }
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; }