private void CommitAnswer(string answer) { CatLangRestClient.CommitChoiceAnswer( StaticExerciseStorage.ExerciseFormat, exercise.Id, exercise.SetId, exercise.Tasks[currentTask].TaskWordId, answer); }
private void CommitAnswer(bool answer) { CatLangRestClient.CommitConformityAnswer( StaticExerciseStorage.ExerciseFormat, exercise.Id, exercise.SetId, exercise.Tasks[currentTask].TaskWordId, exercise.Tasks[currentTask].AnswerWord, answer); }
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(); } }
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(); } } }
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(); }
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); } }
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; } }