public async Task Create(MLangPhrase item)
        {
            item.ID = await langPhraseDS.Create(item);

            PhraseItemsAll.Add(item);
            ApplyFilters();
        }
        public async Task Create(MUnitPhrase item)
        {
            int id = await unitPhraseDS.Create(item);

            var o = await unitPhraseDS.GetDataById(id, vmSettings.Textbooks);

            o?.CopyProperties(item);
            PhraseItemsAll.Add(o);
            ApplyFilters();
        }
        public MUnitPhrase NewUnitPhrase()
        {
            var maxElem = PhraseItemsAll.IsEmpty() ? null : PhraseItemsAll.MaxBy(o => (o.UNIT, o.PART, o.SEQNUM)).First();

            return(new MUnitPhrase
            {
                LANGID = vmSettings.SelectedLang.ID,
                TEXTBOOKID = vmSettings.USTEXTBOOK,
                UNIT = maxElem?.UNIT ?? vmSettings.USUNITTO,
                PART = maxElem?.PART ?? vmSettings.USPARTTO,
                SEQNUM = (maxElem?.SEQNUM ?? 0) + 1,
                Textbook = vmSettings.SelectedTextbook,
            });
        }
 protected virtual void ApplyFilters()
 {
     PhraseItems = string.IsNullOrEmpty(TextFilter) ? PhraseItemsAll : new ObservableCollection <MLangPhrase>(PhraseItemsAll.Where(o =>
                                                                                                                                   string.IsNullOrEmpty(TextFilter) || (ScopeFilter == "Phrase" ? o.PHRASE : o.TRANSLATION).ToLower().Contains(TextFilter.ToLower())
                                                                                                                                   ));
     this.RaisePropertyChanged(nameof(PhraseItems));
 }
 void ApplyFilters()
 {
     PhraseItems = NoFilter ? PhraseItemsAll : new ObservableCollection <MUnitPhrase>(PhraseItemsAll.Where(o =>
                                                                                                           (string.IsNullOrEmpty(TextFilter) || (ScopeFilter == "Phrase" ? o.PHRASE : o.TRANSLATION).ToLower().Contains(TextFilter.ToLower())) &&
                                                                                                           (TextbookFilter == 0 || o.TEXTBOOKID == TextbookFilter)
                                                                                                           ));
     this.RaisePropertyChanged(nameof(PhraseItems));
 }