private void bSearch_Click(object sender, EventArgs e) { if (dateTimePicker1.Value > dateTimePicker2.Value) { errorProvider1.SetError(dateTimePicker1, "The initial date cannot be set to a value after the final date."); errorProvider1.SetError(dateTimePicker2, "The initial date cannot be set to a value after the final date."); return; } downloader = new BackgroundWorker(); downloader.DoWork += PerformQuery; downloader.RunWorkerCompleted += QueryFinished; DownloaderArguments[] da = new DownloaderArguments[2]; for (int i = 0; i < 2; i++) { da[i] = new DownloaderArguments(); if (i == 0) da[i].Company = tbCompanyName.Text; else da[i].Company = textBox1.Text; da[i].EndDate = dateTimePicker2.Value; da[i].StartDate = dateTimePicker1.Value; } downloader.RunWorkerAsync(da); bSearch.Text = "Retrieving data..."; bSearch.Enabled = false; }
private void bAdd_Click(object sender, System.EventArgs e) { Decimal value; int quantity; if (dateTimePicker1.Value > DateTime.Today) { errorLabel.Text = "Invalid date"; return; } else if (string.IsNullOrWhiteSpace(tbCompanyName.Text) || string.IsNullOrWhiteSpace(tbQuantityBought.Text) || string.IsNullOrWhiteSpace(tbStockValue.Text)) { errorLabel.Text = "Fill all fields"; return; } else { try { value = Convert.ToDecimal(tbStockValue.Text.Replace(".",",")); quantity = Convert.ToInt32(tbQuantityBought.Text); } catch(FormatException) { errorLabel.Text = "Invalid data on numeric fields"; return; } if (value < 0 || quantity < 0) { errorLabel.Text = "Numeric fields should be greater than 0"; return; } } BackgroundWorker downloader = new BackgroundWorker(); downloader.DoWork += PerformQuery; downloader.RunWorkerCompleted += QueryFinished; DownloaderArguments da = new DownloaderArguments(); da.Company = tbCompanyName.Text; da.DataProvider = DataProviders.YahooFinance; da.StartDate = dateTimePicker1.Value; downloader.RunWorkerAsync(da); bAdd.Enabled = false; }