public ImageTagsViewModel()

in WindowsSmartInk/SmartInkLaboratory/ViewModels/ImageTagsViewModel.cs [82:122]


        public ImageTagsViewModel(ITagService tagService, IAppStateService state)
        {
            _tagService = tagService;
            _state = state;
            Tags.Sort(t => t.Name, SortDirection.Ascending);

            _state.ProjectChanged += async (s,e) => {
                await LoadTagsAsync();
            };

        

            this.AddTag = new RelayCommand(async () => {
                
                if (string.IsNullOrWhiteSpace(NewCategoryName))
                    return;
                try
                {
                    var newTag = await _tagService.CreateTagAsync(NewCategoryName);
                    Tags.Add(newTag);
                    CurrentTag = newTag;
                    NewCategoryName = string.Empty;
                }
                catch (ImageTagsServiceException ex)
                {
                }
                catch (Exception ex)
                { }
                
            });
            this.DeleteTag = new RelayCommand<Tag>(async (tag) => {
                await _tagService.DeleteTagAsync(tag.Id);
                _state.DeleteTag(tag);
                Tags.Remove(tag);

            });
            this.Refresh = new RelayCommand(async() => {
                await LoadTagsAsync();

            });
        }