コード例 #1
0
        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;
                }
            }
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 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;
 }
コード例 #5
0
        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);
                }
            }
        }