public static bool Insert(VocVM Vocabulary)
        {
            if (Vocabularies.Any(s => s.Text == Vocabulary.Text))
            {
                var old_Voc   = Vocabularies.First(s => s.Text == Vocabulary.Text);
                var old_score = ScoreHelper.GetScoreFromImportance(old_Voc.Importance);
                var new_score = ScoreHelper.GetScoreFromImportance(Vocabulary.Importance);

                if (new_score > old_score)
                {
                    var to_update = new VocVM(old_Voc.Id, old_Voc.Text, old_Voc.Answer, old_Voc.Definition,
                                              old_Voc.PtBr, Vocabulary.Importance, old_Voc.IsActive);
                    return(Update(to_update));
                }
                else
                {
                    return(Errors.ThrowErrorMsg(ErrorType.AlreadyInserted, Vocabulary.Text));
                }
            }

            if (!ValidWordsAndAnswerSize(Vocabulary.Text, Vocabulary.Answer))
            {
                return(false);
            }

            if (!InsertVocabulary(Vocabulary.ToModel()))
            {
                return(false);
            }

            Vocabulary.LoadCrossData();

            return(true);
        }
        public static bool Remove(VocVM Vocabulary)
        {
            if (!RemoveVocabulary(Vocabulary))
            {
                return(false);
            }

            return(true);
        }
        public static bool Update(VocVM Vocabulary)
        {
            if (!ValidWordsAndAnswerSize(Vocabulary.Text, Vocabulary.Answer))
            {
                return(false);
            }

            if (!UpdateVocabulary(Vocabulary.ToModel()))
            {
                return(false);
            }


            var oldVM = Vocabularies.FindIndex(x => x.Id == Vocabulary.Id);

            Vocabularies.Insert(oldVM, Vocabulary);

            return(true);
        }
示例#4
0
        public static void AddIntoThis(VocVM Voc, StackPanel item_line)
        {
            var row1 = MyGrids.GetRowItem(new List <int>()
            {
                3, 1, 1
            }, item_line);

            var row2 = MyGrids.GetRowItem(new List <int>()
            {
                3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1
            }, item_line);

            var row3 = new StackPanel();

            row3.Margin = new Thickness(1, 2, 1, 2);
            item_line.Children.Add(row3);

            var wpf = new VocWpfItem();

            MyTxts.Get(wpf.Words, 0, 0, row1, Voc.Text);
            wpf.Words.ToolTip = "Id " + Voc.Id;
            MyTxts.Get(wpf.Answer, 0, 1, row1, Voc.Answer);
            MyCbBxs.Importance(wpf.Imp, 0, 2, row1, Voc.Importance, false);

            MyLbls.AvgScore(wpf.Avg_w, 0, 0, row2, Voc, 7);
            MyLbls.AvgScore(wpf.Avg_m, 0, 1, row2, Voc, 30);
            MyLbls.AvgScore(wpf.Avg_all, 0, 2, row2, Voc, 2000);
            MyLbls.Tries(wpf.Tries, 0, 3, row2, Voc);
            MyLbls.LastTry(wpf.Last_try, 0, 4, row2, Voc);
            MyLbls.Chance(wpf.Chance, 0, 5, row2, Voc);

            MyBtns.Is_active(wpf.IsActive, 0, 6, row2, Voc.IsActive);
            MyBtns.PtBr(wpf.Show_ptbr, 0, 7, row2, Voc.PtBr, wpf.Ptbr);
            MyBtns.Definition(wpf.Show_def, 0, 8, row2, Voc.Definition, wpf.Def);
            MyBtns.Quest_Edit(wpf.Edit, 0, 9, row2, Voc, wpf, item_line);
            MyBtns.Remove_quest(wpf.Remove, 0, 10, row2, Voc, item_line);

            MyTxts.Definition(wpf.Def, Voc.Definition, row3);
            MyTxts.PtBr(wpf.Ptbr, Voc.PtBr, row3);

            MyTxts.Add_sentence(wpf.Add_sen, wpf.Stk_sen);
        }
示例#5
0
        public static void AddIntoItems(StackPanel stack_items, VocVM Voc, bool isNew)
        {
            var item_line = MyStacks.GetItemLine(stack_items, isNew);

            AddIntoThis(Voc, item_line);
        }