private void CommitAnswer(string answer)
 {
     CatLangRestClient.CommitChoiceAnswer(
         StaticExerciseStorage.ExerciseFormat,
         exercise.Id,
         exercise.SetId,
         exercise.Tasks[currentTask].TaskWordId,
         answer);
 }
Example #2
0
 private void CommitAnswer(bool answer)
 {
     CatLangRestClient.CommitConformityAnswer(
         StaticExerciseStorage.ExerciseFormat,
         exercise.Id,
         exercise.SetId,
         exercise.Tasks[currentTask].TaskWordId,
         exercise.Tasks[currentTask].AnswerWord,
         answer);
 }
Example #3
0
        private void UpdatePage()
        {
            var sets      = CatLangRestClient.GetAllSets();
            var setModels = new ObservableCollection <SetView>(sets.Select(s => new SetView(s)).ToList());

            view        = new SetsPageView(setModels);
            DataContext = view;

            LearnSet.IsEnabled = false;
        }
        private void Authorize_Click(object sender, RoutedEventArgs e)
        {
            var login    = Login.Text;
            var password = Password.Password;
            var result   = CatLangRestClient.Authorize(login, password);

            if (result)
            {
                SetMainPage();
            }
        }
Example #5
0
        private void UpdatePage()
        {
            var studiedSetDtos   = CatLangRestClient.GetStudiedSets();
            var studiedsSetsInfo = studiedSetDtos
                                   .Select(s => CatLangRestClient.GetSetById(s.SetId))
                                   .ToList();
            var studiedSets = new ObservableCollection <StudiedSetView>(
                studiedSetDtos
                .Select(s => new StudiedSetView(
                            studiedsSetsInfo.Single(i => i.Id == s.SetId).StudyTopic,
                            studiedsSetsInfo.Single(i => i.Id == s.SetId).AuthorName,
                            s.IsStudied ? "Изучено" : "Не изучено",
                            s.AttemptsCount.ToString(),
                            s.CorrectAnswers + " из " + s.AnswersCount))
                .ToList());

            var studiedWordsDtos = CatLangRestClient.GetStudiedWords();

            studiedWords = studiedWordsDtos
                           .Select(w =>
                                   new StudiedWordView(
                                       w.Word,
                                       w.RiskFactor + "%",
                                       w.CorrectAnswers,
                                       w.IncorrectAnswers,
                                       w.LastAppearanceDate.Date.ToShortDateString(),
                                       GetWordsStudyStatus(w.Status)))
                           .OrderBy(w => w.Word.Original)
                           .ToList();

            var viewStudiedWords = new ObservableCollection <StudiedWordView>(studiedWords);

            var createdSets     = CatLangRestClient.GetCreatedSets();
            var createdSetsView = new ObservableCollection <CreatedSetDto>(createdSets);

            var averageComplexity    = studiedsSetsInfo.Count == 0 ? 0 : Math.Round(studiedsSetsInfo.Sum(s => s.Complexity) / studiedsSetsInfo.Count, 2);
            var averageAttemptsCount = studiedSetDtos.Count == 0 ? 0 : Math.Round((double)studiedSetDtos.Sum(s => s.AttemptsCount) / studiedSetDtos.Count, 2);

            var statistics = new UserStatisticsView(
                createdSets.Count,
                averageComplexity,
                studiedWords.Count,
                studiedSets.Count,
                averageAttemptsCount);

            view        = new ProfilePageView(statistics, studiedSets, viewStudiedWords, createdSetsView);
            DataContext = view;

            FilterStudiedWords();
        }
        private void Register_Click(object sender, RoutedEventArgs e)
        {
            var username = Username.Text;
            var login    = Login.Text;
            var password = Password.Password;
            var result   = CatLangRestClient.CreateUser(username, login, password);

            if (result)
            {
                var authResult = CatLangRestClient.Authorize(login, password);
                if (authResult)
                {
                    SetMainPage();
                }
            }
        }
Example #7
0
        public SetCreationPage()
        {
            InitializeComponent();

            if (!StaticWordsStorage.DoesWordsLoaded)
            {
                StaticWordsStorage.Words = CatLangRestClient.GetAllWords();
            }

            view = new SetCreationPageView(
                new ObservableCollection <WordDto>(),
                new ObservableCollection <WordDto>());
            DataContext = view;

            SearchField.Text       = SEARCH_FIELD_EMPTY_MESSAGE;
            SearchField.Foreground = Brushes.Gray;
        }
        public ChoiceExercisePage(Action openExerciseResultsPage)
        {
            InitializeComponent();

            OpenExerciseResultsPage = openExerciseResultsPage;

            exercise = CatLangRestClient.StartChoiceExercise(
                StaticExerciseStorage.ExerciseFormat,
                StaticExerciseStorage.SetId);
            currentTask = -1;
            tasksCount  = exercise.Tasks.Count;

            StaticExerciseStorage.ExerciseId = exercise.Id;

            SetName.Text = StaticExerciseStorage.SetName;
            UpdateTask();
        }
Example #9
0
        private void CreateSet_Click(object sender, RoutedEventArgs e)
        {
            if (ValidateSetName() && view.SetWords.Count >= 10)
            {
                var studyTopic  = SetName.Text;
                var setWordsIds = view.SetWords.Select(w => w.Id).ToArray();

                CatLangRestClient.CreateSet(studyTopic, setWordsIds);

                SetName.Text = "";
                ClearSetWordsList();
                SearchField.Text       = SEARCH_FIELD_EMPTY_MESSAGE;
                SearchField.Foreground = Brushes.Gray;
            }
            else
            {
                MessageBox.Show("Название набора должно содержать больше 3 символов.\nНабор должен содержать минимум 10 слов.", "Ошибка при создании набора", MessageBoxButton.OK);
            }
        }
Example #10
0
        private void UpdatePage()
        {
            var recommendedSetsIds = CatLangRestClient.GetRecommendedSets();
            var recommendedSets    = recommendedSetsIds
                                     .Select(s => CatLangRestClient.GetSetById(s))
                                     .ToList();
            var recommendedSetsModels = new ObservableCollection <SetView>(recommendedSets.Select(s => new SetView(s)).ToList());

            view        = new RecommendationPageView(recommendedSetsModels);
            DataContext = view;

            if (recommendedSets.Count > 0)
            {
                TitleMessage.Text = HAVE_RECCOMENDATIONS_MESSAGE;
            }
            else
            {
                TitleMessage.Text = WITHOUT_RECCOMENDATIONS_MESSAGE;
            }

            LearnSet.IsEnabled = false;
        }
        public ChoiceExerciseResultsPage()
        {
            InitializeComponent();

            var exerciseResult = CatLangRestClient.FinishExercise(
                StaticExerciseStorage.ExerciseId,
                StaticExerciseStorage.ExerciseFormat);

            CorrectAnswersStatistics.Text = exerciseResult.CorrectAnswers + " из " + exerciseResult.AnswersCount;

            if (exerciseResult.CorrectAnswers == exerciseResult.AnswersCount)
            {
                MistakesHeader.Visibility = System.Windows.Visibility.Hidden;
                MistakesTypes.Visibility  = System.Windows.Visibility.Hidden;
                Mistakes.Visibility       = System.Windows.Visibility.Hidden;
            }
            else
            {
                var mistakes = new ObservableCollection <ExerciseResultWordDto>(exerciseResult.WrongAnswers);
                view        = new ExerciseResultsPageView(mistakes);
                DataContext = view;
            }
        }