Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        private void Blackboard_Click(object sender, RoutedEventArgs e)
        {
            var problems = new ProblemMapping(ProblemsText.Text);
            var students = problems.GetFillers(StudentsText.Text);

            SaveToCsv(problems, students);
        }
Esempio n. 3
0
        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");
        }
Esempio n. 4
0
        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");
        }
Esempio n. 5
0
        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);
                }
            }
        }
Esempio n. 6
0
        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();
            }
        }
Esempio n. 7
0
        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);
            }
        }