public IEnumerable <Answer> GetPossibleAnswers(ProblemMapping mapping) { var answers = Question.GetPossibleAnswers(mapping); var results = new List <Answer>(); foreach (var answer in answers) { switch (mapping.RobotMapping[AddressedTo]) { case Robot.T: results.Add((mapping.AnswerMapping[answer] == Word).ToAnswer()); continue; case Robot.F: results.Add((mapping.AnswerMapping[answer] != Word).ToAnswer()); continue; case Robot.R: return(AnswerHelpers.AllAnswers()); default: throw new ArgumentOutOfRangeException(); } } return(results.Distinct()); }
private void Blackboard_Click(object sender, RoutedEventArgs e) { var problems = new ProblemMapping(ProblemsText.Text); var students = problems.GetFillers(StudentsText.Text); SaveToCsv(problems, students); }
private void ToGradeable_Click(object sender, RoutedEventArgs e) { var problems = new ProblemMapping(ProblemsText.Text); var students = problems.GetFillers(StudentsText.Text); StudentsText.Text = ProblemMapping.ToCsv(students, "\t"); }
private void UpdateDefaultStudents_Click(object sender, RoutedEventArgs e) { var problems = new ProblemMapping(ProblemsText.Text); var students = problems.GetFillers(StudentsText.Text); var defaultStudents = from grade in Grade.FetchAll(problems, students, _allGrades, _relative) select grade.PopulateDefaultGrades(); StudentsText.Text = ProblemMapping.ToCsv(defaultStudents.ToArray(), "\t"); }
private void DropObject(object sender, DragEventArgs e) { var filename = ((string[])e.Data.GetData(DataFormats.FileDrop, true)).FirstOrDefault(); if (filename != null) { using (var processor = new ExcelProcessor(filename)) { var problems = new ProblemMapping(processor.FetchProblems()); var students = problems.GetFillers(processor.FetchStudents()); SaveToCsv(problems, students); } } }
public IEnumerable <Answer> GetPossibleAnswers(ProblemMapping mapping) { switch (mapping.RobotMapping[AddressedTo]) { case Robot.T: return(new [] { (mapping.RobotMapping[Target] == Robot).ToAnswer() }); case Robot.F: return(new [] { (mapping.RobotMapping[Target] != Robot).ToAnswer() }); case Robot.R: return(AnswerHelpers.AllAnswers()); default: throw new ArgumentOutOfRangeException(); } }
private void SaveToCsv(ProblemMapping problems, ICollection <IDictionary <string, string> > students) { var gradedStudents = Grade.FetchAll(problems, students, _allGrades, _relative).Select(grade => grade.Student).ToArray(); var csv = ProblemMapping.ToCsv(gradedStudents); var dialog = new SaveFileDialog { DefaultExt = "csv", Filter = "Comma Separated Values|*.csv|All files|*.*" }; if (dialog.ShowDialog() == true) { using (var stream = dialog.OpenFile()) using (var sw = new StreamWriter(stream)) { sw.Write(csv); } System.Diagnostics.Process.Start(dialog.FileName); } }