public static void ExportToCSV(QLExecutor executor, string path) { var lines = executor.VisibleQuestions.Select(question => EscapeCSV(question.Id) + ";" + EscapeCSV(executor.GetAnswer(question.Id).ToString())); var contents = string.Join("\n", lines); File.WriteAllText(path, contents); }
private void ParseFile(string inputFile) { var fileContent = File.ReadAllText(inputFile); try { var astForm = QLParser.ParseString(fileContent); var messages = ValidateForm(astForm); if (AnyErrors(messages)) { _view.SetErrors(messages.Errors); return; } _executor = new QLExecutor(astForm); var qlsFileLocation = inputFile + ".qls"; IQuestionFormRenderer renderer = new QLRenderer(_executor); if (File.Exists(qlsFileLocation)) { var styleSheet = QLSParser.ParseString(File.ReadAllText(qlsFileLocation)); messages.Add(ValidateStyleSheet(styleSheet, astForm)); if (AnyErrors(messages)) { _view.SetErrors(messages.Errors); return; } renderer = new QLSRenderer(_executor, styleSheet); } _view.SetFormControl(renderer.Render()); _view.SetWarnings(messages.Warnings); } catch (QLParseException exception) { _view.SetErrors(exception.Exceptions); } }
public QLSRenderer(QLExecutor executor, StyleSheet styleSheet) { _executor = executor; _styleSheet = styleSheet; }
public QLRenderer(QLExecutor executor) { _executor = executor; }