/// <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); }
/// <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); }
public static ActResult <TResult> Act <T, TResult>(this ArrangeResult <T> arrange, Func <T, TResult> act) => new ActResult <TResult>(act(arrange.Object));
public static ActResult <T> Act <T>(this ArrangeResult <T> arrange, Action <T> act) { act(arrange.Object); return(new ActResult <T>(arrange.Object)); }
/// <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; }