private void Download(string path, ListViewItem item)
        {
            using (client = new WebClient())
            {
                client.Proxy = null;
                client.DownloadProgressChanged += Client_DownloadProgressChanged;
                client.DownloadFileAsync(Uri, path + FileName, $@"{path}{FileName}");
            }
            Database.FilesDataRow row = DatabaseManager.Database.FilesData.NewFilesDataRow();
            row.Url      = Url;
            row.FileName = FileName;
            row.FileSize = item.SubItems[2].Text;
            row.DateTime = DateTime.Now;
            row.Path     = $@"{path}{FileName}";
            DatabaseManager.Database.FilesData.AddFilesDataRow(row);
            DatabaseManager.Database.AcceptChanges();
            DatabaseManager.Database.WriteXml(string.Format("{0}/data.dat", Application.StartupPath));
            ListViewItem item1 = new ListViewItem(row.Id.ToString());

            item1.SubItems.Add(row.Url);
            item1.SubItems.Add(row.FileName);
            item1.SubItems.Add(row.FileSize);
            item1.SubItems.Add(row.DateTime.ToLongDateString());
            item1.SubItems.Add(row.Path);
            _mainForm.listView1.Items.Add(item1);
        }
Example #2
0
        private void Client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            Database.FilesDataRow row = DatabaseManager.Database.FilesData.NewFilesDataRow();
            row.Url      = Url;
            row.FileName = FileName;
            row.FileSize = (string.Format("{0:0.##} KB", FileSize / 1024));
            row.DateTime = DateTime.Now;
            row.Path     = txtPath.Text;
            DatabaseManager.Database.FilesData.AddFilesDataRow(row);
            DatabaseManager.Database.AcceptChanges();
            DatabaseManager.Database.WriteXml(string.Format("{0}/data.dat", Application.StartupPath));
            ListViewItem item = new ListViewItem(row.Id.ToString());

            item.SubItems.Add(row.Url);
            item.SubItems.Add(row.FileName);
            item.SubItems.Add(row.FileSize);
            item.SubItems.Add(row.DateTime.ToLongDateString());
            item.SubItems.Add(row.Path);
            _mainForm.listView1.Items.Add(item);
            this.Close();
        }
        private async void button2_Click(object sender, EventArgs e)
        {
            var errorList = "";

            button3.Enabled = false;
            if (listView1.CheckedItems.Count == 0)
            {
                errorList += "Check files to download\n";
            }
            if (textBox4.Text == "")
            {
                errorList += "Select download folder\n";
            }
            if (errorList != "")
            {
                MessageBox.Show(errorList);
                button3.Enabled = true;
                return;
            }
            button3.Enabled = false;
            try
            {
                progressBar2.Minimum = 0;
                progressBar2.Maximum = listView1.CheckedItems.Count;
                foreach (ListViewItem item in listView1.CheckedItems)
                {
                    if (item.SubItems[2].Text == "true")
                    {
                        if (MessageBox.Show($"The file '{item.Text}' is already exists.\nDo you want to rewrite it?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            string directory = item.Text.Trim();
                            await ftp.DownloadFile(textBox4.Text, serverDir, directory);

                            progressBar2.Value++;

                            Database.FilesDataRow row = DatabaseManager.Database.FilesData.NewFilesDataRow();
                            row.Url      = textBox1.Text;
                            row.FileName = item.Text;
                            row.FileSize = item.SubItems[3].Text;
                            row.DateTime = DateTime.Now;
                            row.Path     = textBox4.Text + item.Text;
                            DatabaseManager.Database.FilesData.AddFilesDataRow(row);
                            DatabaseManager.Database.AcceptChanges();
                            DatabaseManager.Database.WriteXml(string.Format("{0}/data.dat", Application.StartupPath));
                            ListViewItem item1 = new ListViewItem(row.Id.ToString());
                            item1.SubItems.Add(row.Url);
                            item1.SubItems.Add(row.FileName);
                            item1.SubItems.Add(row.FileSize);
                            item1.SubItems.Add(row.DateTime.ToLongDateString());
                            item1.SubItems.Add(row.Path);
                            _mainForm.listView1.Items.Add(item1);
                        }
                        else
                        {
                            progressBar2.Value++;
                            continue;
                        }
                    }
                    else
                    {
                        string directory = item.Text.Trim();
                        await ftp.DownloadFile(textBox4.Text, serverDir, directory);

                        progressBar2.Value++;

                        Database.FilesDataRow row = DatabaseManager.Database.FilesData.NewFilesDataRow();
                        row.Url      = textBox1.Text;
                        row.FileName = item.Text;
                        row.FileSize = item.SubItems[3].Text;
                        row.DateTime = DateTime.Now;
                        row.Path     = textBox4.Text + item.Text;
                        DatabaseManager.Database.FilesData.AddFilesDataRow(row);
                        DatabaseManager.Database.AcceptChanges();
                        DatabaseManager.Database.WriteXml(string.Format("{0}/data.dat", Application.StartupPath));
                        ListViewItem item1 = new ListViewItem(row.Id.ToString());
                        item1.SubItems.Add(row.Url);
                        item1.SubItems.Add(row.FileName);
                        item1.SubItems.Add(row.FileSize);
                        item1.SubItems.Add(row.DateTime.ToLongDateString());
                        item1.SubItems.Add(row.Path);
                        _mainForm.listView1.Items.Add(item1);
                    }
                }
                MessageBox.Show("Download completed!");
                button3.Enabled = true;
                IsExist();

                for (int i = 1; i < listView1.Items.Count; i++)
                {
                    listView1.Items[i].Checked = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                button3.Enabled = true;
            }
            progressBar2.Value = 0;
            progressBar1.Value = 0;
        }