Exemple #1
0
 private void copyToolStripMenuItem_Click(object sender, EventArgs e)
 {
     foreach (ListViewItem l in fileList.SelectedItems)
     {
         CopyManager.Copy(l.SubItems[4].Text);
         pasteItem.Enabled = true;
         return;
     }
 }
Exemple #2
0
        private static async Task AsyncMain()
        {
            var dataManager = new DataManager()
            {
                TasksCount         = 8,
                ForceFilesCreation = true
            };

            var copyManager = new CopyManager()
            {
                Random     = true,
                TasksCount = 16
            };

            var handler = new FileHandler();

            try
            {
                var config = new Configuration("C://");

                var stopwatch = Stopwatch.StartNew();

                await dataManager.CreateData(config, handler);

                Console.WriteLine($"Files created in {stopwatch.Elapsed.TotalSeconds}s");
                Console.WriteLine("Press enter to start copy process");
                Console.ReadLine();

                stopwatch = Stopwatch.StartNew();

                await copyManager.Copy(config, handler);

                Console.WriteLine($"Files copied in {stopwatch.Elapsed.TotalSeconds}s");
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
            }
            finally
            {
                Console.WriteLine("Cleaning up...");
                dataManager.Cleaner.Cleanup();
                copyManager.Cleaner.Cleanup();
                Console.WriteLine("Cleaned");
            }
            Console.ReadKey();
        }
Exemple #3
0
        private void bttnCopy_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                CopyObject obj      = (CopyObject)row.DataBoundItem;
                bool       selected = (bool)row.Cells[0].Value;

                if (selected)
                {
                    CopyManager manager = new CopyManager(obj);
                    manager.Copy();
                    manager.Log();
                }

                this.Save();
            }
        }
Exemple #4
0
 public override async Task Run()
 {
     Result = await copyManager.Copy(configuration, this);
 }
Exemple #5
0
        //// Consume them
        //static void Main(string[] args) {
        //  var options = new Options();
        //  if (CommandLine.Parser.Default.ParseArguments(args, options)) {
        //	// Values are available here
        //	if (options.Verbose) Console.WriteLine("Filename: {0}", options.InputFile);
        //  }
        //}

        //https://commandline.codeplex.com/

        static void Main(string[] args)
        {
            int exitCode = 0;

            // pare the command line arguments
            var result = CommandLine.Parser.Default.ParseArguments <Options>(args);

            // if there are no errors
            if (!result.Errors.Any())
            {
                // Values are available here
                string filename = result.Value.FileName;

                if (!string.IsNullOrEmpty(filename))
                {
                    if (File.Exists(filename))
                    {
                        CopyObject obj = CopyObject.Read(filename);

                        if (obj != null)
                        {
                            CopyManager manager = new CopyManager(obj);
                            {
                                try
                                {
                                    manager.PreCopy();
                                }
                                catch (Exception er)
                                {
                                    obj.PreCopyStatus = er.Message;
                                    return;
                                }

                                foreach (TableObject table in obj.Tables)
                                {
                                    try
                                    {
                                        if (table.Selected)
                                        {
                                            manager.Copy(table);
                                            //table.Status = "Success";
                                            table.CopyStatus = CopyStatusEnum.Success;
                                            System.Console.WriteLine("Success " + table.Name);
                                        }
                                    }
                                    catch (Exception er)
                                    {
                                        //table.Status = er.Message;
                                        table.Message    = er.Message;
                                        table.CopyStatus = CopyStatusEnum.Error;
                                        System.Console.WriteLine("Error " + table.Name);
                                        exitCode = -1;
                                    }
                                }

                                try
                                {
                                    manager.PostCopy();
                                }
                                catch (Exception er)
                                {
                                    obj.PostCopyStatus = er.Message;
                                    exitCode           = -1;
                                }
                            }
                        }
                    }
                    else
                    {
                        exitCode = -5;
                    }
                }
                else
                {
                    exitCode = -4;
                }
            }
            else
            {
                exitCode = -3;
            }

            Environment.Exit(exitCode);
        }
Exemple #6
0
        // Background Version
        public void CopyTables(object sender, DoWorkEventArgs e)
        {
            //CopyObject settings = this.Settings;

            CopyObject settings = e.Argument as CopyObject;

            CopyManager manager = new CopyManager(settings);

            BackgroundWorker worker = (BackgroundWorker)sender;

            //manager.OnRowsCopied +=manager_OnRowsCopied;


            //ProgressChanged
            //worker.ReportProgress()

            try
            {
                if (this.cbxDeleteRows.Checked)
                {
                    manager.PreCopy();
                }
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message, "Pre SQL Error");
                return;
            }

            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                TableObject obj = (TableObject)row.DataBoundItem;

                // prepare
                obj.Row    = row;
                obj.Worker = worker;
                //worker.ReportProgress(0, obj);

                if (worker.CancellationPending)
                {
                    break;
                }
                try
                {
                    if (obj.Selected)
                    {
                        manager.Copy(obj);
                        //obj.Status = "Success";
                        obj.CopyStatus = CopyStatusEnum.Success;
                        //worker.ReportProgress(0, row);
                        worker.ReportProgress(100, obj);
                        //obj.ShowProgress();
                    }
                }
                catch (Exception er)
                {
                    obj.CopyStatus = CopyStatusEnum.Error;
                    obj.Message    = er.Message;
                    //obj.Status = er.Message;
                    //worker.ReportProgress(0, er);
                    //worker.ReportProgress(0, row);
                    worker.ReportProgress(0, obj);
                    //obj.ShowProgress();
                }
                finally
                {
                }
            }

            //foreach (TableObject obj in settings.Tables)
            //{
            //    if (worker.CancellationPending)
            //    {
            //        break;
            //    }
            //    try
            //    {
            //        if (obj.Selected)
            //        {
            //            manager.Copy(obj.Name);
            //            obj.Status = "Success";
            //            worker.ReportProgress(0);
            //        }
            //    }
            //    catch (Exception er)
            //    {
            //        obj.Status = er.Message;
            //        worker.ReportProgress(0, er);
            //    }
            //    finally
            //    {
            //    }
            //}

            try
            {
                if (this.cbxDeleteRows.Checked)
                {
                    manager.PostCopy();
                }
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message, "Post SQL Error");
                return;
            }
        }
Exemple #7
0
        //public void ShowProgress(TableObject table)
        //{
        //	var Row = table.Row;
        //	//table.ShowProgress();

        //	//DataGridViewRow row = e.UserState as DataGridViewRow;

        //	//if (row != null)
        //	//{
        //	//   // this.dataGridView1.FirstDisplayedScrollingRowIndex = row.Index;
        //	//	//this.dataGridView1.Refresh();
        //	//	this.dataGridView1.CurrentCell = row.Cells[3];
        //	//	this.dataGridView1.UpdateCellValue(2, row.Index);
        //	//}
        //	if (Row != null)
        //	{
        //		//int i = (int) Math.Round((decimal) this.Copied / this.Count, 0) * 100;
        //		//Row.Cells[4].Value = e.ProgressPercentage;
        //		Row.Cells[4].Value = table.Percentage;
        //		var parent = Row.DataGridView;
        //		parent.CurrentCell = Row.Cells[3];
        //		parent.UpdateCellValue(2, Row.Index);
        //	}
        //}


        public async void CopyTablesAsync(CopyObject settings)
        {
            CopyManager manager = new CopyManager(settings);

            //manager.OnRowsCopied +=manager_OnRowsCopied;

            try
            {
                if (this.cbxDeleteRows.Checked)
                {
                    await Task.Run(() => manager.PreCopy());
                }
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message, "Pre SQL Error");
                return;
            }

            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                TableObject obj = (TableObject)row.DataBoundItem;

                // prepare
                obj.Row = row;
                //obj.Worker = worker;
                //worker.ReportProgress(0, obj);

                //if (worker.CancellationPending)
                //{
                //	break;
                //}
                try
                {
                    if (obj.Selected)
                    {
                        await Task.Run(() => manager.Copy(obj));

                        //manager.Copy(obj);
                        //obj.Status = "Success";
                        obj.CopyStatus = CopyStatusEnum.Success;
                        //this.ShowProgress(obj);

                        //worker.ReportProgress(0, row);
                        //worker.ReportProgress(100, obj);
                        //obj.ShowProgress();
                    }
                    else
                    {
                        obj.CopyStatus = CopyStatusEnum.Skipped;
                    }
                    obj.ShowProgress();
                }
                catch (Exception er)
                {
                    obj.CopyStatus = CopyStatusEnum.Error;
                    //obj.Status = er.Message;
                    obj.Message = er.Message;
                    //this.ShowProgress(obj);
                    obj.ShowProgress();
                    //worker.ReportProgress(0, er);
                    //worker.ReportProgress(0, row);
                    //worker.ReportProgress(0, obj);
                    //obj.ShowProgress();
                }
                finally
                {
                }
            }

            //foreach (TableObject obj in settings.Tables)
            //{
            //    if (worker.CancellationPending)
            //    {
            //        break;
            //    }
            //    try
            //    {
            //        if (obj.Selected)
            //        {
            //            manager.Copy(obj.Name);
            //            obj.Status = "Success";
            //            worker.ReportProgress(0);
            //        }
            //    }
            //    catch (Exception er)
            //    {
            //        obj.Status = er.Message;
            //        worker.ReportProgress(0, er);
            //    }
            //    finally
            //    {
            //    }
            //}

            try
            {
                if (this.cbxDeleteRows.Checked)
                {
                    await Task.Run(() => manager.PostCopy());

                    //manager.PostCopy();
                }
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message, "Post SQL Error");
                return;
            }
        }