public Task <bool> Work() { var tuple = new Tuple <string, string>(View.GetHeader, GetSavedFilePath()); return(Task.Factory.StartNew(state => { var header = ((Tuple <string, string>)state).Item1; var worker = new Worker(); var questionDetails = worker.Work(header); var viewData = SimulatorViewModel.ConvertFrom(questionDetails); using (var stream = ExcelHelper.ExportWrongQuestions(viewData)) { stream.SaveAsFile(((Tuple <string, string>)state).Item2); return true; } }, tuple)); }
public static IEnumerable <SimulatorViewModel> ConvertFrom(IEnumerable <QuestionDetails> questionDetails) { var rt = new List <SimulatorViewModel>(questionDetails.Count()); foreach (var questions in questionDetails) { var item = new SimulatorViewModel() { ExerciseName = questions.ExecriseName }; foreach (var detail in questions) { var correct = detail.Choices.Where(it => it.IsCorrect); var answers = string.Join(Environment.NewLine, correct.Join(correct, c1 => c1.Text, c2 => c2.Text, (c1, c2) => $"{c1.Abc}:{c2.Text}")); item.Questions.Add(new QuestionDetail() { Title = detail.Title, Answers = answers }); } rt.Add(item); } return(rt); }
public SimulatorPresetner(ISimulatorView view, SimulatorViewModel model) { View = view; Model = model; }