コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public SimulatorPresetner(ISimulatorView view, SimulatorViewModel model)
 {
     View  = view;
     Model = model;
 }