public override bool Execute() { var builder = new StringBuilder(); var orderedFiles = FilesToProcess.OrderBy(f => f.GetMetadata("FullPath")).ToArray(); for (var i = 0; i < orderedFiles.Length; i++) { var current = orderedFiles[i]; builder.AppendLine($"/* {current.GetMetadata("BasePath").Replace("\\","/")}{current.GetMetadata("RelativePath").Replace("\\","/")} */"); foreach (var line in File.ReadLines(FilesToProcess[i].GetMetadata("FullPath"))) { builder.AppendLine(line); } } var content = builder.ToString(); if (!File.Exists(OutputFile) || !SameContent(content, OutputFile)) { Directory.CreateDirectory(Path.GetDirectoryName(OutputFile)); File.WriteAllText(OutputFile, content); } return(!Log.HasLoggedErrors); }
private bool ExecuteCore() { Log.LogMessage($"Check files to process."); if (FilesToProcess == null || !FilesToProcess.Any()) { Log.LogMessage($"No files exist to process."); return(true); } Log.LogMessage($"In ExecuteCore. Files exist. Number of files is {FilesToProcess.Length}"); foreach (var file in FilesToProcess) { string filePath = file.GetMetadata("FullPath"); var contents = File.ReadAllText(filePath); if (!contents.StartsWith("#if NET462")) { using (var fileStream = File.Create(filePath)) using (var writer = new StreamWriter(fileStream)) { writer.WriteLine("#if NET462"); writer.WriteLine(contents); writer.WriteLine("#endif"); } } var taskItem = new TaskItem(filePath); _processedFiles.Add(taskItem); } return(true); }
public void AddFileToProcess(String source, Byte[] bytes, FileType fileType) { using (FinanceDBEntities context = new FinanceDBEntities()) { using (TransactionScope transaction = new TransactionScope()) { FilesToProcess newItem = FilesToProcess.CreateFilesToProcess(0, source, bytes, DateTime.Now, (Byte)fileType); context.FilesToProcess.AddObject(newItem); context.SaveChanges(); transaction.Complete(); } } }
public void RemoveProcessedFile(FilesToProcess file) { using (FinanceDBEntities context = new FinanceDBEntities()) { using (TransactionScope transaction = new TransactionScope()) { FilesToProcess toRemove = FirstElementOrNull <FilesToProcess>((from fs in context.FilesToProcess where fs.RecId == file.RecId select fs).Take <FilesToProcess>(1).ToArray <FilesToProcess>()); if (null != toRemove) { context.FilesToProcess.DeleteObject(toRemove); context.SaveChanges(); transaction.Complete(); } } } }