private void testConnectionLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (this.ValidateOptions()) { try { bool containerExists; string suffix; this.Enabled = false; Application.DoEvents(); // HACK: Evil but thats what I get for being lazy containerExists = new EchoScheduledTaskOptions { AccountName = accountNameTextBox.Text, AccountKey = accessKeyTextBox.Text, ContainerName = containerTextBox.Text }.DoesContainerExist(); suffix = containerExists ? "." : ", however the specified container does not exist."; MessageBox.Show(string.Concat("Connection successful", suffix), "Test Connection", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(string.Format("Connection failed. {0}", ex.GetBaseException().Message), "Test Connection", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { this.Enabled = true; } } }
private void ListJob(EchoScheduledTaskOptions job) { ListViewItem item; string key; key = job.Id.ToString(); if (!containersListView.Items.ContainsKey(key)) { item = new ListViewItem { Name = key }; for (int i = 0; i < containersListView.Columns.Count; i++) { item.SubItems.Add(string.Empty); } containersListView.Items.Add(item); } else { item = containersListView.Items[key]; } item.SubItems[0].Text = job.AccountName; item.SubItems[1].Text = job.ContainerName; item.SubItems[2].Text = job.LocalPath; item.ForeColor = job.Enabled ? SystemColors.WindowText : SystemColors.GrayText; }
private void duplicateButton_Click(object sender, EventArgs e) { List <EchoScheduledTaskOptions> jobs; jobs = containersListView.SelectedItems.Cast <ListViewItem>().Select(i => _jobs.Find(j => j.Id == new Guid(i.Name))).ToList(); foreach (EchoScheduledTaskOptions job in jobs) { EchoScheduledTaskOptions clone; clone = new EchoScheduledTaskOptions { Enabled = false, AccountKey = job.AccountKey, AccountName = job.AccountName, AllowUploads = job.AllowUploads, CheckForNewFilesOnly = job.CheckForNewFilesOnly, ContainerName = job.ContainerName, DeleteAfterDownload = job.DeleteAfterDownload, Interval = job.Interval, LocalPath = job.LocalPath }; _jobs.Add(clone); this.ListJob(clone); } }
public AccountPropertiesDialog(EchoScheduledTaskOptions options) : this() { this.Options = options; accountNameTextBox.Text = options.AccountName; accessKeyTextBox.Text = options.AccountKey; containerTextBox.Text = options.ContainerName; localPathTextBox.Text = options.LocalPath; minutesNumericUpDown.Value = Math.Max(minutesNumericUpDown.Minimum, Math.Min(minutesNumericUpDown.Maximum, (decimal)options.Interval.TotalMinutes)); allowUploadsCheckBox.Checked = options.AllowUploads; newFilesOnlyCheckBox.Checked = options.CheckForNewFilesOnly; enabledCheckBox.Checked = options.Enabled; deleteAfterDownloadCheckBox.Checked = options.DeleteAfterDownload; }
private void ShowJobSettings(EchoScheduledTaskOptions options) { using (Form dialog = new AccountPropertiesDialog(options)) { dialog.Text = string.Format("{0} Account", _jobs.Contains(options) ? "Edit" : "Add"); if (dialog.ShowDialog(this) == DialogResult.OK) { if (!_jobs.Contains(options)) { _jobs.Add(options); } this.ListJob(options); } } }