public void AddLogHistory(LogHistory logHistory) { File.AppendAllLines(_pathToFile, logHistory.ToList()); }
private Cortege<MultiTree<StringId>, LogHistory> GetMultiTree(List<List<string>> blocks) { Contract.Requires(blocks != null); Contract.Requires(blocks.Any()); Contract.Requires(blocks.Count % 2 == 1); var logHistory = new LogHistory(); var singleTree = _singleTreeParser.GetSingleTree(blocks[0]); logHistory.Add(new SingleTreeResult(singleTree)); var mainTree = new MultiTree<StringId>(singleTree); for (int i = 1; i < blocks.Count; i += 2) { var minorTree = _singleTreeParser.GetSingleTree(blocks[i]); var connectionBlock = blocks[i + 1]; logHistory.Add(new SingleTreeResult(minorTree)); logHistory.Add(new CommandsResult(connectionBlock)); var bindController = new BindContoller<StringId>(mainTree, minorTree); AddConnections(bindController, connectionBlock); var idGenerator = new IdGenerator(mainTree.ToList()); var multiNode = _treeConstructor.GetFilledTree(bindController, idGenerator).ToMultiNode(); mainTree = new MultiTree<StringId>(multiNode); } return new Cortege<MultiTree<StringId>, LogHistory>(mainTree, logHistory); }