public ValidateFileResponse Process(string relativeFilePath, SearchOption searchOption)
        {
            var fullFilePath  = string.Concat(_sitecoreWebRoot, relativeFilePath);
            var extensionToBe = "." + ConfigEditOptions.Enable.ToFileExtension();

            if (!FindFileOnDisk(ref fullFilePath))
            {
                return(LogResult(ValidateFileResult.FileNotFound, string.Format("Path to file " + fullFilePath + " does not exist"), relativeFilePath));
            }

            var file             = new FileInfo(fullFilePath);
            var currentExtension = file.Extension;

            if (IsExcludedExtension(currentExtension) || string.Equals(currentExtension, extensionToBe))
            {
                return(LogResult(ValidateFileResult.Success, string.Format("The file {0} has a valid extension of {1}", relativeFilePath, extensionToBe), relativeFilePath));
            }

            try
            {
                file.CopyTo(fullFilePath.Replace(file.Extension, string.Empty));
                file.Delete();

                return(LogResult(ValidateFileResult.Success, string.Format("File {0} renamed from to remove .disabled extension", fullFilePath), relativeFilePath));
            }
            catch (Exception ex)
            {
                return(LogResult(ValidateFileResult.Failed, string.Format("An error occurred editing the file {0} to the extension {1} - {2}",
                                                                          relativeFilePath, extensionToBe, ex.Message), relativeFilePath));
            }

            return(LogResult(ValidateFileResult.Failed, "Fallen trough", relativeFilePath));
        }
        public ValidateFileResponse Process(string relativeFilePath, SearchOption searchOption)
        {
            var response = new ValidateFileResponse();
            var message  = string.Empty;

            var fullFilePath  = string.Format(@"{0}{1}", _sitecoreWebRoot, relativeFilePath);
            var extensionToBe = string.Format(".{0}", ConfigEditOptions.Disable.ToFileExtension());

            if (!FindFileOnDisk(ref fullFilePath, extensionToBe))
            {
                return(LogResult(ValidateFileResult.FileNotFound, string.Format("Path to file " + fullFilePath + " does not exist"), relativeFilePath));
            }

            var file             = new FileInfo(fullFilePath);
            var currentExtension = file.Extension;

            if (IsExcludedExtension(currentExtension) || string.Equals(currentExtension, extensionToBe))
            {
                return(LogResult(ValidateFileResult.Success, string.Format("The file {0} has a valid extension of {1}", relativeFilePath, extensionToBe), relativeFilePath));
            }

            try
            {
                var indexStr            = ConfigEditOptions.Enable.ToFileExtension();
                var strIndexEnd         = fullFilePath.IndexOf(indexStr) + indexStr.Length;
                var configBasedFilePath = fullFilePath.Substring(0, strIndexEnd);

                file.CopyTo(string.Concat(configBasedFilePath, extensionToBe));
                file.Delete();

                return(LogResult(ValidateFileResult.Success, string.Format("File {0} renamed from to add .disabled extension", file.FullName), relativeFilePath));
            }
            catch (Exception ex)
            {
                return(LogResult(ValidateFileResult.Failed, string.Format("An error occurred editing the file {0} to the extension {1} - {2}",
                                                                          relativeFilePath, extensionToBe, ex.Message), relativeFilePath));
            }

            return(LogResult(ValidateFileResult.Failed, "Fallen trough", relativeFilePath));
        }