public CopyFileCommand(string srcDir, string targetDir, CopyCommandParameters copyParms)
        {
            SourceDirectory = srcDir;

            TargetDirectory = targetDir;

            CommandParameters = copyParms;
        }
        public void CreateXMLFile()
        {
            var parms = new CopyCommandParameters
                            {
                                CopySubdirectories = true,
                                DeleteExistingDirectoriesFirst = true,
                                DeleteExistingFilesFirst = true,
                                WildCard = "*.*",
                                FileName = "",
                                RegExFilter = "",
                                            PostCopyAction = ""
                            };

            var cmd1 = new CopyFileCommand
                      	{
                      		CommandParameters = parms,
                      		SourceDirectory = @"D:\T001\TestFolder",
                      		TargetDirectory = @"D:\T002\TestFolder"
                      	};

            var cmd2 = new CopyFileCommand
                       	{
                       		CommandParameters = parms,
                       		SourceDirectory = @"D:\T001",
                       		TargetDirectory = @"D:\T015"
                       	};

            var cmd3 = new CopyFileCommand
                       	{
                       		CommandParameters = parms,
                       		SourceDirectory = @"D:\T001",
                       		TargetDirectory = @"D:\T003"
                       	};

            var list = new List<CopyFileCommand> {cmd1,cmd2,cmd3};

            var root = new CopyFileOperation
                       	{
                       		CopyFileCommands = list
                       	};

            var u = new HelperUtility();

            var serializer = new XmlSerializer(typeof (CopyFileOperation));
            var output = Path.Combine(@"D:\CS_Test", u.XMLCommandFileName);
            var fs = new FileStream(output, FileMode.Create);
            serializer.Serialize(fs,root);
            fs.Close();
        }
        public void SetUp()
        {
            var parms = new CopyCommandParameters
                            {
                                CopySubdirectories = true,
                                DeleteExistingDirectoriesFirst = true,
                                DeleteExistingFilesFirst = true,
                                WildCard = "*.*"
                            };

            var cmd1 = new CopyFileCommand
                      	{
                      		CommandParameters = parms,
                                        SourceDirectory = @"D:\CS_Test",
                      		TargetDirectory = @"D:\T002"
                      	};

            var cmd2 = new CopyFileCommand
                       	{
                       		CommandParameters = parms,
                       		SourceDirectory = @"D:\T001\TestFolder",
                       		TargetDirectory = @"D:\T015\TestFolder"
                       	};

            var cmd3 = new CopyFileCommand
                       	{
                       		CommandParameters = parms,
                       		SourceDirectory = @"D:\T001",
                       		TargetDirectory = @"D:\T003"
                       	};

            var list = new List<CopyFileCommand> {cmd1,cmd2,cmd3};

            _copyFileOp = new CopyFileOperation
                       	{
                       		CopyFileCommands = list
                       	};
        }
        private void DoCopyFilesByWildCard(CopyCommandParameters parms, DirectoryInfo targDirInfo, DirectoryInfo srcDirInfo)
        {
            if(srcDirInfo==null)
            {
                _log.LogAndDisplay("DoCopyFilesByWildCard(): Invalid Source Directory Info!", LoggerMode.LogAndDisplayConsoleLine);

                return;
            }

            if(targDirInfo==null)
            {
                _log.LogAndDisplay("DoCopyFilesByWildCard(): Invalid Target Directory Info!", LoggerMode.LogAndDisplayConsoleLine);

                return;
            }

            var files = srcDirInfo.GetFiles(parms.WildCard);

            if(files.Length < 1)
            {
                return;
            }

            var uF = new FileUtility(_log);

            foreach (var file in files)
            {
                if(IsFileADirectory(file))
                {
                    continue;
                }

                uF.CopyFilesFromSrcToTarget(file, targDirInfo);
            }
        }