private void AddNewWord() { if (!Validate()) { return; } // Newword Mode if (ViewMode == ViewMode.AddNew) { if (wordRepository.Add(SupperMemo.Init(NewWord, WordMeaning, Note, Example, Synonym, Antonym, Collocation, WordType + 1)) != null) { SmartLearningApplication.Instance.LexiconViewModel.ResetSearchBar(); SmartLearningApplication.Instance.ShowToast("Success add new word!"); //---- setup notification //LocalNotification.RegisterNotification (wordRepository.GetWordsForNotification(),true); SmartLearningApplication.Instance.ContinueToRootView(); SmartLearningApplication.Instance.LexiconViewModel.LoadData(); SmartLearningApplication.Instance.LearningViewModel.LoadData(); } SmartLearningApplication.Instance.DismissProgressDialog(); } // Edit mode else { if (currentWord != null) { currentWord.Word = NewWord; currentWord.Meaning = WordMeaning; currentWord.Note = Note; currentWord.Example = Example; currentWord.Antonym = Antonym; currentWord.Synonym = Synonym; currentWord.Collocation = Collocation; currentWord.WordFormation = WordFormation; currentWord.WordType = WordType + 1; wordRepository.Update(currentWord); SmartLearningApplication.Instance.ShowToast("Update success!"); SmartLearningApplication.Instance.WordDetailViewModel.currentItem.NewWord = NewWord; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.WordMeaning = WordMeaning; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.Note = Note; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.Example = Example; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.Antonym = Antonym; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.Synonym = Synonym; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.Collocation = Collocation; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.WordFormation = WordFormation; SmartLearningApplication.Instance.WordDetailViewModel.currentItem.WordType = WordType + 1; SmartLearningApplication.Instance.WordDetailViewModel.Setup(SmartLearningApplication.Instance.WordDetailViewModel.currentItem); SmartLearningApplication.Instance.LexiconViewModel.LoadData(); SmartLearningApplication.Instance.ContinueBack(); } } }
private void CheckResult() { if (learningWords == null || learningWords.Count <= 0) { return; } //Check if the result was correct var isSynonym = !string.IsNullOrEmpty(learningWords [Index].Synonym) && !string.IsNullOrEmpty(learningWords [Index].Synonym .Split(new char[] { ',', ';', '.' }, learningWords [Index].Synonym.Length) .Where(x => x.ToLower().Equals(NewWord.ToLower())).FirstOrDefault()); var isCorrect = NewWord.ToLower().Equals(learningWords [Index].Word.ToLower()) || isSynonym; if (learningMode == LearningMode.SupperMemo) { SupperMemo.Setup(learningWords [Index], isCorrect); UpdateDatabase(learningWords [Index]); } //if answer was correct remove this word from array if (isCorrect) { var example = learningWords [Index].Example; if (!string.IsNullOrEmpty(example)) { if (VisibleAction != null && learningWords.Count - 1 == 0) { VisibleAction(); } SmartLearningApplication.Instance.ShowAlert("Example: " + learningWords [Index].Word, example, () => { SetupValue(); }); } else { SmartLearningApplication.Instance.ShowToast("Correct!"); SetupValue(); } } else { SmartLearningApplication.Instance.ShowError("The answer was not correct"); } }
private void ShowResult() { if (learningWords == null || learningWords.Count <= 0) { return; } var word = learningWords [Index]; //Update database if ViewMode = SupperMemo Mode if (learningMode == LearningMode.SupperMemo) { SupperMemo.Reset(word); UpdateDatabase(word); } //---- Create vars for WordDetailView var itemViewModel = new LexiconItemViewModel() { ClientId = word.ClientId, NewWord = word.Word, WordMeaning = word.Meaning, Note = word.Note, Example = word.Example, Antonym = word.Antonym, Synonym = word.Synonym, WordFormation = word.WordFormation }; var items = new List <LexiconItemViewModel> (); foreach (var item in learningWords) { var itemModel = new LexiconItemViewModel() { ClientId = item.ClientId, NewWord = item.Word, WordMeaning = item.Meaning, Note = item.Note, Example = item.Example, Antonym = item.Antonym, Synonym = item.Synonym, WordFormation = item.WordFormation }; items.Add(itemModel); } SmartLearningApplication.Instance.ContinueToWordDetailView(itemViewModel, items); Index++; // If this word is last word then repeat if (Index == learningWords.Count) { Index = 0; } WordMeaning = WordMeaningStr(learningWords [Index]); NewWord = ""; ShoudLoadData = false; }