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();
});
}