Пример #1
0
        public async Task AddUpdateRemoveListItemAsync()
        {
            const int listId = 1;
            var       testId = Guid.NewGuid().ToString("N");

            // Prepare initial list item
            var saveRequest = new SaveListItemRequest
            {
                Color        = testId,
                Weight       = 1,
                Name         = $"Test list item: {testId}",
                ListId       = listId,
                NumericValue = 1,
            };

            // Insert and assert
            var saveResponse = await _apiClient.SaveListItemAsync(saveRequest);

            AssertHelper.AssertSuccess(saveResponse);
            Assert.IsTrue(saveResponse.Value.Id != Guid.Empty, "Returned ID from insert was empty.");

            // Update and assert
            saveRequest.Id   = saveResponse.Value.Id;
            saveRequest.Name = $"Update test list item: {testId}";
            saveResponse     = await _apiClient.SaveListItemAsync(saveRequest);

            AssertHelper.AssertSuccess(saveResponse);
            Assert.IsTrue(saveResponse.Value.Id == saveRequest.Id, "Returned ID from update was not correct.");

            // Remove
            var deleteResponse = await _apiClient.DeleteListItemAsync(listId, saveRequest.Id.Value);

            AssertHelper.AssertSuccess(deleteResponse);
        }
        public IActionResult SaveListItem(int listId, [FromBody] SaveListItemRequest saveRequest)
        {
            var itemId = saveRequest.Id.HasValue == false?Guid.NewGuid() : saveRequest.Id.Value;

            var apiResponse = new SaveListItemResponse(itemId);

            return(Ok(apiResponse));
        }
        /// <summary>
        /// Saves (inserts/updates) a list item to the provided list. Returns the identifier of the new list item
        /// or null if the list could not be found.
        /// </summary>
        /// <param name="saveListItemRequest"></param>
        /// <returns></returns>
        public async Task <ApiResponse <SaveListItemResponse> > SaveListItemAsync(SaveListItemRequest saveListItemRequest)
        {
            Arg.IsNotNull(saveListItemRequest, nameof(saveListItemRequest));

            var path     = UrlHelper.GetSaveListItemPath(saveListItemRequest.ListId);
            var response = await PutAsync <SaveListItemResponse>(path, saveListItemRequest);

            return(response);
        }