// Start Strategy 6 async void Strategy6Start_Click(object sender, RoutedEventArgs e) { // Get data from textboxes / comboboxes GetStrategyData(out string strategyName, out MarketPeriod marketSeries, out CurrencyPair symbol, out double total, out bool?buy, out bool?sell, StrategyName6, MarketSeriesSelect6, Strategy6Symbol, Strategy6Buy, Strategy6Sell, Strategy6Total); // Save strategy settings to strategy class MarketScanner marketScanner = new MarketScanner(strategyName, marketSeries, symbol, buy, sell, total); // Create List runningStrategyList.Add(marketScanner); this.RunningStrategies.ItemsSource = runningStrategyList; // Show saved settings in textblock - TEMP //TestConsoleStrat6.Text = marketScanner.StrategyName + "\n" + marketScanner.Symbol + " | " + marketScanner.Total + " | " + marketScanner.Buy + " | " + marketScanner.Sell + " | " + marketScanner.MarketSeries; //Show dialogue box to show strategy is running await DialogBoxStrategy(StrategyName6.Content.ToString(), "Started"); // Start Algo marketScanner.Start(); }
/// <summary> /// Formats a DataGridView for Eve market Buyers and sellers output. /// </summary> /// <param name="dgv"> Takes a DataGridView reference. REMEMBER to set datasource before calling this method!</param> /// <param name="formatDGVType">Enum</param> internal static void FormatDataGridViewByType( ref MarketScanner.Common.BgPaintedDataGridView dgv, FormatDgvType formatDGVType ) { if (dgv.DataSource != null) { // Set Header Names // Set headernames for initially shown dgv.Columns["jumps"].HeaderText = "Jumps"; dgv.Columns["volRemaining"].HeaderText = "Quantity"; dgv.Columns["price"].HeaderText = "Price"; dgv.Columns["stationName"].HeaderText = "Location"; dgv.Columns["expires"].HeaderText = "Expires"; // headernames for initially hidden dgv.Columns["typeID"].HeaderText = "TypeID"; dgv.Columns["range"].HeaderText = "Range"; dgv.Columns["orderID"].HeaderText = "OrderID"; dgv.Columns["volEntered"].HeaderText = "Volume Entered"; dgv.Columns["minVolume"].HeaderText = "Min. Volume"; dgv.Columns["bid"].HeaderText = "Bid"; dgv.Columns["issued"].HeaderText = "Issued"; dgv.Columns["duration"].HeaderText = "Duration"; dgv.Columns["stationID"].HeaderText = "StationID"; dgv.Columns["regionID"].HeaderText = "RegionID"; dgv.Columns["solarSystemID"].HeaderText = "SolarSystemID"; dgv.Columns["corporationName"].HeaderText = "Station Owner"; switch (formatDGVType) { case FormatDgvType.Sellers: // Initially Hidden dgv.Columns["typeID"].Visible = false; dgv.Columns["range"].Visible = false; dgv.Columns["orderID"].Visible = false; dgv.Columns["volEntered"].Visible = false; dgv.Columns["minVolume"].Visible = false; dgv.Columns["bid"].Visible = false; dgv.Columns["issued"].Visible = false; dgv.Columns["duration"].Visible = false; dgv.Columns["stationID"].Visible = false; dgv.Columns["regionID"].Visible = false; dgv.Columns["solarSystemID"].Visible = false; dgv.Columns["corporationName"].Visible = false; // * Visual * dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.WhiteSmoke; // Datatypes formatting dgv.Columns["price"].DefaultCellStyle.Format = "N"; dgv.Columns["volRemaining"].DefaultCellStyle.Format = "N0"; dgv.Columns["Security"].DefaultCellStyle.Format = "F2"; // Column Order dgv.Columns["jumps"].DisplayIndex = 0; dgv.Columns["volRemaining"].DisplayIndex = 1; dgv.Columns["price"].DisplayIndex = 2; dgv.Columns["stationName"].DisplayIndex = 3; dgv.Columns["expires"].DisplayIndex = 5; dgv.Columns["corporationName"].DisplayIndex = 4; // Data Order dgv.Sort( dgv.Columns["price"], System.ComponentModel.ListSortDirection.Ascending ); // resize columns dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dgv.Columns["jumps"].FillWeight = 100; dgv.Columns["jumps"].MinimumWidth = 15; dgv.Columns["volRemaining"].FillWeight = 100; dgv.Columns["volRemaining"].MinimumWidth = 15; dgv.Columns["price"].FillWeight = 200; dgv.Columns["stationName"].FillWeight = 500; dgv.Columns["expires"].FillWeight = 200; dgv.Columns["corporationName"].FillWeight = 200; dgv.Columns["corporationName"].MinimumWidth = 50; break; case FormatDgvType.Buyers: // Hidden dgv.Columns["typeID"].Visible = false; dgv.Columns["orderID"].Visible = false; dgv.Columns["volEntered"].Visible = false; dgv.Columns["bid"].Visible = false; dgv.Columns["issued"].Visible = false; dgv.Columns["duration"].Visible = false; dgv.Columns["stationID"].Visible = false; dgv.Columns["regionID"].Visible = false; dgv.Columns["solarSystemID"].Visible = false; dgv.Columns["corporationName"].Visible = false; // * Visual * dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.WhiteSmoke; // Datatypes formatting dgv.Columns["price"].DefaultCellStyle.Format = "N"; dgv.Columns["volRemaining"].DefaultCellStyle.Format = "N0"; dgv.Columns["Security"].DefaultCellStyle.Format = "F2"; // Column Order dgv.Columns["jumps"].DisplayIndex = 0; dgv.Columns["volRemaining"].DisplayIndex = 1; dgv.Columns["price"].DisplayIndex = 2; dgv.Columns["stationName"].DisplayIndex = 3; dgv.Columns["corporationName"].DisplayIndex = 4; dgv.Columns["range"].DisplayIndex = 5; dgv.Columns["minVolume"].DisplayIndex = 6; dgv.Columns["expires"].DisplayIndex = 7; // Data Order dgv.Sort( dgv.Columns["price"], System.ComponentModel.ListSortDirection.Descending ); // resize columns dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dgv.Columns["jumps"].FillWeight = 100; dgv.Columns["jumps"].MinimumWidth = 15; dgv.Columns["volRemaining"].FillWeight = 100; dgv.Columns["volRemaining"].MinimumWidth = 15; dgv.Columns["price"].FillWeight = 200; dgv.Columns["price"].MinimumWidth = 40; dgv.Columns["stationName"].FillWeight = 400; dgv.Columns["stationName"].MinimumWidth = 50; dgv.Columns["range"].FillWeight = 100; dgv.Columns["range"].MinimumWidth = 50; dgv.Columns["minVolume"].FillWeight = 100; dgv.Columns["minVolume"].MinimumWidth = 15; dgv.Columns["expires"].FillWeight = 200; dgv.Columns["expires"].MinimumWidth = 35; dgv.Columns["corporationName"].FillWeight = 200; dgv.Columns["corporationName"].MinimumWidth = 50; break; default: break; } } }
private void GetContextMenuForDataGridView(ref MarketScanner.Common.BgPaintedDataGridView dgv, ref ContextMenuStrip cms) { for (int i = 0; i < dgv.ColumnCount; i++) { if (cms.Items.Count == dgv.ColumnCount)// Only add menuitems if not already there { // If the context menu was filled previously, then set the previous column visibility. ToolStripMenuItem tsMenuItem = (ToolStripMenuItem)cms.Items[i]; dgv.Columns[i].Visible = tsMenuItem.Checked; } else { ToolStripMenuItem tsMenuItem = new ToolStripMenuItem(); tsMenuItem.Text = dgv.Columns[i].HeaderText; tsMenuItem.Name = dgv.Columns[i].Name; tsMenuItem.Checked = dgv.Columns[i].Visible; tsMenuItem.CheckOnClick = true; cms.Items.Add(tsMenuItem); } // set the contextmenu for each column header. dgv.Columns[i].HeaderCell.ContextMenuStrip = cms; } // Set click event for the toolstripitems cms.ItemClicked += new ToolStripItemClickedEventHandler(cms_ItemClicked); }
/// <summary> /// /// </summary> /// <param name="dgvSellers"></param> /// <param name="dgvBuyers"></param> /// <param name="cmsMainSellers"></param> /// <param name="cmsMainBuyers"></param> internal void ToGridView(ref MarketScanner.Common.BgPaintedDataGridView dgvSellers, ref MarketScanner.Common.BgPaintedDataGridView dgvBuyers, ref ContextMenuStrip cmsMainSellers, ref ContextMenuStrip cmsMainBuyers) { dgvSellers.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; dgvSellers.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; dgvSellers.SuspendLayout(); dgvBuyers.SuspendLayout(); if (File.Exists(this.FilePath)) //Check if file still exists { DataTable dtLog = MarketTable; // Get filtered MarketLog datatable if (dtLog != null) { // Split between buyers and sellers DataHandler.SplitLogEntries(ref dtLog, ref _dvSellers, ref _dvBuyers); // modify view settings _dvSellers.AllowNew = _dvBuyers.AllowNew = false; _dvSellers.AllowDelete = _dvBuyers.AllowDelete = false; _dvSellers.AllowEdit = _dvBuyers.AllowEdit = false; // Set datasource before formatting dgvSellers.DataSource = _dvSellers; dgvBuyers.DataSource = _dvBuyers; Formatting.FormatDataGridViewByType(ref dgvSellers, FormatDgvType.Sellers); Formatting.FormatDataGridViewByType(ref dgvBuyers, FormatDgvType.Buyers); // Set Context menus GetContextMenuForDataGridView(ref dgvBuyers, ref cmsMainBuyers); GetContextMenuForDataGridView(ref dgvSellers, ref cmsMainSellers); } } dgvSellers.ResumeLayout(); dgvBuyers.ResumeLayout(); }