예제 #1
0
        public ProblemsPack CreatePack()
        {
            var problems = new List <Problem>();
            IEnumerable <ProblemTaskPreview> taskList = Panel
                                                        .Children
                                                        .OfType <ProblemTaskPreview>()
                                                        .Where(text => text.TaskNumberInput.Text != "");

            foreach (var task in taskList)
            {
                Domain domain = DomainExtensions.Parse(task.DomainBox.Text);
                problems.Add(new Problem(task.TaskNumberInput.Text, domain));
            }
            return(new ProblemsPack(PackTitle, problems));
            //var problems = Problem.CreateEOlympFromList(taskList);
        }
예제 #2
0
        private void BlockProblem(object sender, RoutedEventArgs e)
        {
            TaskNumberInput.IsEnabled = false;
            DomainBox.IsEnabled       = false;
            string num = Core.Tools.Tools.GenerateNextNumber(NumberTask.Content.ToString());

            _problemPackWindow.Panel.Children.Add(new ProblemTaskPreview(_problemPackWindow, num));
            try
            {
                Domain         domain = DomainExtensions.Parse(DomainBox.Text);
                IProblemParser parser = ProblemParserExtensions.GetForDomain(domain);
                TaskName.Content = parser.GetProblemTitle(TaskNumberInput.Text);
            }
            catch (Exception exception)
            {
                MessageBox.Show($"{exception}");
            }
        }