예제 #1
0
        public async Task LineItemClient_batch_delete_LineItem_works()
        {
            var request = new ListOfLineItemIds();

            request.Ids.Add(9867220);
            request.Ids.Add(9867221);

            await _client.DeleteBatchAsync(request);
        }
예제 #2
0
        public async Task LineItemClient_batch_read_LineItem_works()
        {
            var request = new ListOfLineItemIds();

            request.Ids.Add(9867220);
            request.Ids.Add(9867221);

            var response = await _client.ReadBatchAsync <LineItemHubSpotEntity>(request);

            Assert.Equal(2, response.Count());
            Assert.Equal("1645342", response[9845651].ProductId);
        }
예제 #3
0
        public async Task <IDictionary <long, T> > ReadBatchAsync <T>(ListOfLineItemIds lineItemIds, LineItemGetRequestOptions opts = null) where T : IHubSpotEntity, new()
        {
            Logger.LogDebug("Line Item Batch Read");
            var path = PathResolver(new LineItemHubSpotEntity(), HubSpotAction.ReadBatch);

            path = ApplyGetRequestOptions(path, opts);

            var request = _serializer.SerializeEntity(lineItemIds);

            IDictionary <long, T> result = null;
            var success = await SendRequestAsync(path, HttpMethod.Post, request, response =>
            {
                result = _serializer.DeserializeDictionaryOfEntities <long, T>(response);
                return(true);
            });

            return(success ? result : new Dictionary <long, T>());
        }
예제 #4
0
        public Task DeleteBatchAsync(ListOfLineItemIds lineItemIds)
        {
            if (lineItemIds == null)
            {
                throw new ArgumentNullException(nameof(lineItemIds));
            }
            if (!lineItemIds.Ids.Any())
            {
                throw new ArgumentException("Ids must have values");
            }
            if (lineItemIds.Ids.Any(id => id < 1))
            {
                throw new ArgumentException("Values in Ids must be > 0");
            }

            var path = PathResolver(new LineItemHubSpotEntity(), HubSpotAction.DeleteBatch);

            var request = _serializer.SerializeEntity(lineItemIds);

            return(SendRequestAsync(path, HttpMethod.Post, request, _ => { return true; }));
        }