Esempio n. 1
0
        public override void Reload()
        {
            var selectedTagIds = TagButtons.Select(ibvm => ibvm.CurrentTag.Id);

            TagButtons.CollectionChanged -= OnTagButtonsChanged;
            var selectedOmniId = SelectedOmni?.Id ?? -1;

            Context.Dispose();
            Context = OmniTagDatabaseContextFactory.GetNewContext();

            AllOmnis = Context.Omnis.Where(o => o.DateDeleted == null).OrderBy(o => o.Summary).ToList();
            var tags = new ObservableCollection <Tag>(Context.Tags.Where(t => t.DateDeleted == null).OrderBy(t => t.Name).ToList());

            TagSearchDataContext.AllValues = tags;

            var selectedTagList = tags.Where(t => selectedTagIds.Contains(t.Id))
                                  .ToList()
                                  .Select(t => new TagButtonViewModel(t));

            TagButtons = new ObservableCollection <TagButtonViewModel>(selectedTagList);
            TagButtons.CollectionChanged += OnTagButtonsChanged;
            OnTagButtonsChanged(TagButtons, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));

            OmniSearchDataContext.SelectedValue = selectedOmniId == -1
                ? null
                : OmniSearchDataContext.AllValues.SingleOrDefault(o => o.Id == selectedOmniId);
        }
Esempio n. 2
0
 protected BaseViewModel()
 {
     Context = OmniTagDatabaseContextFactory.GetNewContext();
 }