public void StartButtonClick(object sender, EventArgs e) { int startValue = (int)rangeStart.Value; int endValue = (int)rangeEnd.Value; int _threadCount = (int)threadCountBox.Value; string locale = (string)localeBox.SelectedItem; if (parserBox.SelectedItem == null) throw new NotImplementedException(@"You should select something first!"); if (startValue > endValue) throw new NotImplementedException(@"Starting value can not be bigger than ending value!"); if (startValue == endValue) throw new NotImplementedException(@"Starting value can not be equal ending value!"); if (startValue == 1 && endValue == 1) throw new NotImplementedException(@"Starting and ending values can not be equal '1'!"); _parser = (Parser)Activator.CreateInstance((Type)parserBox.SelectedItem); if (_parser == null) throw new NotImplementedException(@"Parser object is NULL!"); startButton.Enabled = false; stopButton.Enabled = true; progressBar.Value = startValue; progressBar.Minimum = startValue; progressBar.Maximum = endValue; progressLabel.Text = "Downloading..."; string address = string.Format("http://{0}{1}", (string.IsNullOrEmpty(locale) ? "www." : locale), _parser.Address); _worker = new Worker(startValue, endValue, _threadCount, address, backgroundWorker); _worker.Start(); }
public void StartButtonClick(object sender, EventArgs e) { ParsingType type = (ParsingType)tabControl1.SelectedIndex; string locale = (string)localeBox.SelectedItem; _parser = (Parser)Activator.CreateInstance((Type)parserBox.SelectedItem); if (_parser == null) throw new ArgumentNullException(@"Parser"); string address = string.Format("http://{0}{1}", (string.IsNullOrEmpty(locale) ? "www." : locale), _parser.Address); startButton.Enabled = false; abortButton.Enabled = true; progressBar.Minimum = 0; progressBar.Value = 0; switch (type) { case ParsingType.TypeSingle: { int value = (int)valueBox.Value; if (value < 1) throw new ArgumentOutOfRangeException(@"Value", @"Value can not be smaller than '1'!"); _worker = new Worker(value, address, backgroundWorker); break; } case ParsingType.TypeList: { if (_entries.Count == -1) throw new NotImplementedException(@"Entries list is empty!"); progressBar.Visible = true; progressBar.Value = 1; progressBar.Minimum = 1; progressBar.Maximum = _entries.Count; _worker = new Worker(_entries, address, backgroundWorker); break; } case ParsingType.TypeMultiple: { int startValue = (int)rangeStart.Value; int endValue = (int)rangeEnd.Value; if (startValue > endValue) throw new ArgumentOutOfRangeException(@"StartValue", @"Starting value can not be bigger than ending value!"); if (startValue == endValue) throw new NotImplementedException(@"Starting value can not be equal ending value!"); int dif = endValue - startValue; progressBar.Visible = true; progressBar.Value = 0; progressBar.Minimum = 0; progressBar.Maximum = dif; _worker = new Worker(startValue, endValue, address, backgroundWorker); break; } default: throw new NotImplementedException(string.Format(@"Unsupported type: {0}", type)); } progressLabel.Text = "Downloading..."; if (_worker == null) throw new ArgumentNullException(@"Worker"); _startTime = DateTime.Now; _worker.Start(); }
private void BackgroundWorkerDoWork(object sender, DoWorkEventArgs e) { string locale = (string)localeBox.SelectedItem; ParsingType type = (ParsingType)parsingControl.SelectedIndex; _parser = (Parser)Activator.CreateInstance((Type)parserBox.SelectedItem); if (_parser == null) throw new ArgumentNullException(); string address = string.Format("http://{0}{1}", (string.IsNullOrEmpty(locale) ? "www." : locale), _parser.Address); switch (type) { case ParsingType.TypeSingle: { uint value = (uint)valueBox.Value; _worker = new Worker(value, address); break; } case ParsingType.TypeList: { progressBar.Maximum = _entries.Count; _worker = new Worker(_entries, address); break; } case ParsingType.TypeMultiple: { uint startValue = (uint)rangeStart.Value; uint endValue = (uint)rangeEnd.Value; if (startValue > endValue) throw new ArgumentOutOfRangeException(@"Starting value can not be bigger than ending value!"); if (startValue == endValue) throw new ArgumentOutOfRangeException(@"Starting value can not be equal ending value!"); progressBar.Maximum = (int)(endValue - startValue); _worker = new Worker(startValue, endValue, address); break; } default: throw new NotImplementedException(string.Format(@"Unsupported type: {0}", type)); } progressLabel.Text = "Downloading..."; _startTime = DateTime.Now; _worker.Start(backgroundWorker); }