Esempio n. 1
0
        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();
                }
            }
        }
Esempio n. 2
0
        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");
            }
        }
Esempio n. 3
0
        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;
        }