Exemplo n.º 1
0
        private CompareResult ProcessFileInternal(string fileOrFolder, string file, CompareDirection direction)
        {
            CompareResult result = new CompareResult
            {
                FileName      = fileOrFolder.GetFileName(),
                FileExtension = fileOrFolder.GetFileExtension()
            };

            try
            {
                if (direction == CompareDirection.SOURCE)
                {
                    result.SourceFilePath          = fileOrFolder;
                    result.SourceCreatedDate       = File.GetCreationTime(fileOrFolder);
                    result.SourceModifiedDate      = File.GetLastWriteTime(fileOrFolder);
                    result.SourceHash              = file != string.Empty ? Helpers.MD5Hash.HashFile(fileOrFolder) : string.Empty;
                    result.DestinationFilePath     = file != string.Empty ? file : string.Empty;
                    result.DestinationCreatedDate  = file != string.Empty ? File.GetCreationTime(file) : DateTime.MinValue;
                    result.DestinationModifiedDate = file != string.Empty ? File.GetLastWriteTime(file) : DateTime.MinValue;
                    result.DestinationHash         = file != string.Empty ? Helpers.MD5Hash.HashFile(file) : string.Empty;
                    result.ExistsSource            = true;
                    result.ExistsDestination       = file != string.Empty;
                }
                else
                {
                    result.DestinationFilePath     = fileOrFolder;
                    result.DestinationCreatedDate  = File.GetCreationTime(fileOrFolder);
                    result.DestinationModifiedDate = File.GetLastWriteTime(fileOrFolder);
                    result.DestinationHash         = file != string.Empty ? MD5Hash.HashFile(fileOrFolder) : string.Empty;
                    result.SourceFilePath          = file != string.Empty ? file : string.Empty;
                    result.SourceCreatedDate       = file != string.Empty ? File.GetCreationTime(file) : DateTime.MinValue;
                    result.SourceModifiedDate      = file != string.Empty ? File.GetLastWriteTime(file) : DateTime.MinValue;
                    result.SourceHash        = file != string.Empty ? MD5Hash.HashFile(file) : string.Empty;
                    result.ExistsDestination = true;
                    result.ExistsSource      = file != string.Empty;
                }

                result.Match    = file != string.Empty ? result.SourceHash == result.DestinationHash : false;
                result.Compared = true;
                result.IsFile   = true;
            }
            catch (Exception ex)
            {
                ProcessLog.logError(ex.Message);
            }
            return(result);
        }
Exemplo n.º 2
0
        private CompareResult ProcessFileInternal(string fileOrFolder, string file, CompareDirection direction)
        {
            CompareResult result = new CompareResult();

            result.FileName      = fileOrFolder.GetFileName();
            result.FileExtension = fileOrFolder.GetFileExtension();

            if (direction == CompareDirection.Left)
            {
                result.LeftFilePath      = fileOrFolder;
                result.LeftCreatedDate   = File.GetCreationTime(fileOrFolder);
                result.LeftModifiedDate  = File.GetLastWriteTime(fileOrFolder);
                result.LeftHash          = file != string.Empty ? MD5Hash.HashFile(fileOrFolder) : string.Empty;
                result.RightFilePath     = file != string.Empty ? file : string.Empty;
                result.RightCreatedDate  = file != string.Empty ? File.GetCreationTime(file) : DateTime.MinValue;
                result.RightModifiedDate = file != string.Empty ? File.GetLastWriteTime(file) : DateTime.MinValue;
                result.RightHash         = file != string.Empty ? MD5Hash.HashFile(file) : string.Empty;
                result.ExistsLeft        = true;
                result.ExistsRight       = file != string.Empty;
            }
            else
            {
                result.RightFilePath     = fileOrFolder;
                result.RightCreatedDate  = File.GetCreationTime(fileOrFolder);
                result.RightModifiedDate = File.GetLastWriteTime(fileOrFolder);
                result.RightHash         = file != string.Empty ? MD5Hash.HashFile(fileOrFolder) : string.Empty;
                result.LeftFilePath      = file != string.Empty ? file : string.Empty;
                result.LeftCreatedDate   = file != string.Empty ? File.GetCreationTime(file) : DateTime.MinValue;
                result.LeftModifiedDate  = file != string.Empty ? File.GetLastWriteTime(file) : DateTime.MinValue;
                result.LeftHash          = file != string.Empty ? MD5Hash.HashFile(file) : string.Empty;
                result.ExistsRight       = true;
                result.ExistsLeft        = file != string.Empty;
            }

            result.Match    = file != string.Empty ? result.LeftHash == result.RightHash : false;
            result.Compared = true;
            result.IsFile   = true;

            return(result);
        }