Esempio n. 1
0
        async Task <List <WrikeComment> > IWrikeCommentsClient.GetAsync(WrikeClientIdListParameter commentIds, bool?plainText)
        {
            var requestUri = $"comments/{commentIds}";
            var uriBuilder = new WrikeUriBuilder(requestUri).AddParameter("plainText", plainText);

            var response = await SendRequest <WrikeComment>(uriBuilder.GetUri(), HttpMethods.Get, jsonConverter : new WrikeCommentConverter()).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }
        async Task <List <WrikeAttachment> > IWrikeAttachmentsClient.GetAsync(WrikeClientIdListParameter ids, bool?versions)
        {
            var uriBuilder = new WrikeUriBuilder($"attachments/{ids}")
                             .AddParameter("versions", versions);

            var response = await SendRequest <WrikeAttachment>(uriBuilder.GetUri(), HttpMethods.Get, jsonConverter : new WrikeAttachmentConverter()).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }
Esempio n. 3
0
        async Task <List <WrikeUser> > IWrikeContactsClient.GetAsync(WrikeClientIdListParameter contactIds, WrikeMetadata metadata, bool?retrieveMetadata)
        {
            var requestUri = $"contacts/{contactIds}";
            var uriBuilder = new WrikeUriBuilder(requestUri)
                             .AddParameter("metadata", metadata);

            if (retrieveMetadata.HasValue && retrieveMetadata == true)
            {
                var fields = new List <string> {
                    "metadata"
                };
                uriBuilder.AddParameter("fields", fields);
            }

            var response = await SendRequest <WrikeUser>(uriBuilder.GetUri(), HttpMethods.Get).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }
        async Task <List <WrikeTask> > IWrikeTasksClient.GetAsync(WrikeClientIdListParameter taskIds, List <string> optionalFields)
        {
            var supportedOptionalFields = new List <string> {
                WrikeTask.OptionalFields.Recurrent, WrikeTask.OptionalFields.AttachmentCount
            };

            if (optionalFields != null &&
                (optionalFields.Count > 2 ||
                 optionalFields.Any(o => !supportedOptionalFields.Contains(o))))
            {
                throw new ArgumentOutOfRangeException(nameof(optionalFields), "Only Recurrent and AttachmentCount is supported.");
            }

            var uriBuilder = new WrikeUriBuilder($"tasks/{taskIds}")
                             .AddParameter("fields", optionalFields);

            var response = await SendRequest <WrikeTask>(uriBuilder.GetUri(), HttpMethods.Get).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }
Esempio n. 5
0
        async Task <List <WrikeDependency> > IWrikeDependenciesClient.GetAsync(WrikeClientIdListParameter ids)
        {
            var response = await SendRequest <WrikeDependency>($"dependencies/{ids}", HttpMethods.Get).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }
        async Task <List <WrikeCustomField> > IWrikeCustomFieldsClient.GetAsync(WrikeClientIdListParameter customFieldIds)
        {
            var response = await SendRequest <WrikeCustomField>($"customfields/{customFieldIds}", HttpMethods.Get).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }
        async Task <List <WrikeFolder> > IWrikeFoldersAndProjectsClient.GetFoldersAsync(WrikeClientIdListParameter folderIds, List <string> optionalFields)
        {
            if (optionalFields != null && optionalFields.Count > 0 && optionalFields.Except(WrikeFolder.OptionalFields.List).Any())
            {
                throw new ArgumentOutOfRangeException(nameof(optionalFields), "Use only values in WrikeFolder.OptionalFields");
            }

            var uriBuilder = new WrikeUriBuilder($"folders/{folderIds}")
                             .AddParameter("fields", optionalFields);

            var response = await SendRequest <WrikeFolder>(uriBuilder.GetUri(), HttpMethods.Get).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }
Esempio n. 8
0
        async Task <List <WrikeWebHook> > IWrikeWebHooksClient.GetAsync(WrikeClientIdListParameter webHookIds)
        {
            var response = await SendRequest <WrikeWebHook>($"webhooks/{webHookIds}", HttpMethods.Get).ConfigureAwait(false);

            return(GetReponseDataList(response));
        }