private async void UpdateTagCombinationsButton_OnClick(object sender, RoutedEventArgs e)
        {
            TagCombinationListResource combinations =
                await ExecuteAsync((client, cancellationToken) => client.GetTagCombinationsAsync(cancellationToken));

            if (combinations == null)
            {
                return;
            }
            var window = new TagCombinationsEditWindow
            {
                Owner = this,
                WindowStartupLocation = WindowStartupLocation.CenterOwner,
                TagCombinations       = combinations.TagCombinations == null ? "" : string.Join("\r\n", combinations.TagCombinations)
            };

            if (window.ShowDialog() == true)
            {
                var newList = new TagCombinationListResource
                {
                    TagCombinations = window.TagCombinations.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)
                };
                await ExecuteAsync((client, cancellationToken) => client.PostTagCombinationsAsync(newList, cancellationToken));
            }
        }
Exemple #2
0
        public async Task <TagCombinationListResource> PostTagCombinationsAsync(TagCombinationListResource tagCombinationList, CancellationToken cancellationToken)
        {
            HomeResource home = await GetHomeAsync(cancellationToken);

            string tagCombinationListUrl = home == null ? null : home.Links.Url(Relations.TagCombinationList);

            if (tagCombinationListUrl == null)
            {
                return(null);
            }
            return(await SendAsync <TagCombinationListResource>(tagCombinationListUrl, HttpMethod.Post, tagCombinationList, cancellationToken));
        }