Exemplo n.º 1
0
        /// <summary>
        /// Writes the files.
        /// </summary>
        /// <param name="inputFile">The input file.</param>
        /// <param name="backup">Whether or not a backup should be written.</param>
        /// <returns>True if succesful, otherwise false.</returns>
        private bool WriteFiles(string inputFile, bool backup)
        {
            bool success = true;

            List <string> filesToModify = new List <string>();

            _filesParsed = _arrangeResults.Count;
            LogMessage(LogLevel.Verbose, "{0} files parsed.", _filesParsed);

            Dictionary <string, ArrangeResult> .Enumerator enumerator = _arrangeResults.GetEnumerator();
            while (enumerator.MoveNext())
            {
                ArrangeResult fileResult = enumerator.Current.Value;
                if (fileResult.Modified)
                {
                    filesToModify.Add(fileResult.OutputFile);
                }
                else
                {
                    LogMessage(LogLevel.Trace, "File {0} will not be modified", fileResult.OutputFile);
                }
            }

            if (backup && filesToModify.Count > 0)
            {
                try
                {
                    LogMessage(LogLevel.Verbose, "Creating backup for {0}...", inputFile);
                    string key            = BackupUtilities.CreateFileNameKey(inputFile);
                    string backupLocation = BackupUtilities.BackupFiles(
                        BackupUtilities.BackupRoot, key, filesToModify);
                    LogMessage(LogLevel.Info, "Backup created at {0}", backupLocation);
                }
                catch (Exception ex)
                {
                    LogMessage(
                        LogLevel.Error, "Unable to create backup for {0} - {1}", inputFile, ex.Message);
                    success      = false;
                    _filesParsed = 0;
                }
            }

            if (success)
            {
                LogMessage(LogLevel.Verbose, "Writing files...");
                foreach (string fileToModify in filesToModify)
                {
                    WriteFile(_arrangeResults[fileToModify]);
                }
            }

            return(success);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Writes a source file.
        /// </summary>
        /// <param name="arrangeResult">The arrange result.</param>
        /// <returns>True if succesful, otherwise false.</returns>
        private bool WriteFile(ArrangeResult arrangeResult)
        {
            bool success = true;

            try
            {
                File.WriteAllText(
                    arrangeResult.OutputFile,
                    arrangeResult.OutputFileText,
                    arrangeResult.Encoding);

                LogMessage(LogLevel.Trace, "Wrote {0}", arrangeResult.OutputFile);
            }
            catch (IOException ioEx)
            {
                LogMessage(
                    LogLevel.Warning,
                    "Unable to write file {0}: {1}",
                    arrangeResult.OutputFile,
                    ioEx.Message);
                success = false;
            }
            catch (UnauthorizedAccessException ioEx)
            {
                LogMessage(
                    LogLevel.Warning,
                    "Unable to write file {0}: {1}",
                    arrangeResult.OutputFile,
                    ioEx.Message);
                success = false;
            }

            if (success)
            {
                _filesWritten++;
            }

            return(success);
        }
Exemplo n.º 3
0
 public static ActResult <TResult> Act <T, TResult>(this ArrangeResult <T> arrange, Func <T, TResult> act)
 => new ActResult <TResult>(act(arrange.Object));
Exemplo n.º 4
0
 public static ActResult <T> Act <T>(this ArrangeResult <T> arrange, Action <T> act)
 {
     act(arrange.Object);
     return(new ActResult <T>(arrange.Object));
 }
Exemplo n.º 5
0
        /// <summary>
        /// Writes a source file.
        /// </summary>
        /// <param name="arrangeResult">The arrange result.</param>
        /// <returns>True if succesful, otherwise false.</returns>
        private bool WriteFile(ArrangeResult arrangeResult)
        {
            bool success = true;

            try
            {
                File.WriteAllText(
                    arrangeResult.OutputFile,
                    arrangeResult.OutputFileText,
                    arrangeResult.Encoding);

                LogMessage(LogLevel.Trace, "Wrote {0}", arrangeResult.OutputFile);
            }
            catch (IOException ioEx)
            {
                LogMessage(
                    LogLevel.Warning,
                    "Unable to write file {0}: {1}",
                    arrangeResult.OutputFile,
                    ioEx.Message);
                success = false;
            }
            catch (UnauthorizedAccessException ioEx)
            {
                LogMessage(
                    LogLevel.Warning,
                    "Unable to write file {0}: {1}",
                    arrangeResult.OutputFile,
                    ioEx.Message);
                success = false;
            }

            if (success)
            {
                _filesWritten++;
            }

            return success;
        }