예제 #1
0
        async Task <WrikeGroup> IWrikeGroupsClient.UpdateAsync(WrikeClientIdParameter id, string title, List <string> membersToAdd, List <string> membersToRemove, string parentId, WrikeGroupAvatar avatar, List <WrikeMetadata> metaData)
        {
            var contentBuilder = new WrikeFormUrlEncodedContentBuilder()
                                 .AddParameter("title", title)
                                 .AddParameter("addMembers", membersToAdd)
                                 .AddParameter("removeMembers", membersToRemove)
                                 .AddParameter("parent", parentId)
                                 .AddParameter("avatar", avatar)
                                 .AddParameter("metadata", metaData);

            var response = await SendRequest <WrikeGroup>($"groups/{id}", HttpMethods.Put, contentBuilder.GetContent()).ConfigureAwait(false);

            return(GetReponseDataFirstItem(response));
        }
예제 #2
0
        async Task <WrikeGroup> IWrikeGroupsClient.CreateAsync(WrikeGroup newGroup, string parentId, WrikeGroupAvatar avatar)
        {
            if (newGroup == null)
            {
                throw new ArgumentNullException(nameof(newGroup));
            }

            var requestUri = $"groups";

            var postDataBuilder = new WrikeFormUrlEncodedContentBuilder()
                                  .AddParameter("title", newGroup.Title)
                                  .AddParameter("members", newGroup.MemberIds)
                                  .AddParameter("parent", parentId)
                                  .AddParameter("avatar", avatar)
                                  .AddParameter("metadata", newGroup.Metadata);

            var postContent = postDataBuilder.GetContent();
            var response    = await SendRequest <WrikeGroup>(requestUri, HttpMethods.Post, postContent).ConfigureAwait(false);

            return(GetReponseDataFirstItem(response));
        }