Example #1
0
        public async Task PutAsyncTest()
        {
            // Arrange
            var todolist = await this.WithEntityInTheDatabaseAsync(new Domain.Entities.ToDoList()
            {
                Name = "Before"
            });

            var todoItem = await this.WithEntityInTheDatabaseAsync(new Domain.Entities.ToDoItem()
            {
                Name       = "Before",
                ToDoListId = todolist.Id
            });

            var updateToDoListModel = new UpdateToDoItemModel()
            {
                Id   = todoItem.Id,
                Name = "After"
            };

            var request = this.Fixture
                          .Server
                          .CreateApiRequest <ToDoItemController>(c => c.PutAsync(todolist.Id, todoItem.Id, updateToDoListModel, default))
                          .WithIdentity(Identities.Basic);
            // Act
            var response = await request.SendAsync(HttpMethods.Put);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
        public async Task <IActionResult> PutAsync(int todoListId, int id, [FromBody] UpdateToDoItemModel model, CancellationToken cancellationToken = default)
        {
            if (id != model.Id)
            {
                return(this.BadRequest("ToDoItem ID is different in the route and the model"));
            }

            var updated = await this.service.UpdateAsync <UpdateToDoItemModel, ToDoItem, int>(model, cancellationToken);

            return(updated.ToActionResult());
        }
Example #3
0
        public async Task <IActionResult> PutToDoItem(UpdateToDoItemModel itemToUpdate)
        {
            long userId = long.Parse(HttpContext.Items["UserId"].ToString());

            if (null == itemToUpdate || string.IsNullOrWhiteSpace(itemToUpdate.Notes))
            {
                return(BadRequest(new ApiResponse <string>
                {
                    IsSuccess = false,
                    Result = "Not Updated.",
                    Message = "Please enter correct values. Description should not be empty."
                }));
            }
            UpdateToDoItemDto itemToUpdateDto = _mapper.Map <UpdateToDoItemDto>(itemToUpdate);
            ToDoItemDto       updatedToDoItem = await _toDoItemContract.UpdateToDoItem(itemToUpdateDto);

            ToDoItemModel updatedToDoItemModel = _mapper.Map <ToDoItemModel>(updatedToDoItem);

            if (updatedToDoItem != null)
            {
                return(Ok(
                           new ApiResponse <ToDoItemModel>
                {
                    IsSuccess = true,
                    Result = updatedToDoItemModel,
                    Message = "ToDoItem with Id = " + updatedToDoItemModel.ToDoItemId + " is updated on " + updatedToDoItemModel.UpdationDate + " by UserId = " + userId + "."
                }));
            }
            return(NotFound(
                       new ApiResponse <object>
            {
                IsSuccess = false,
                Result = "Failed to update.",
                Message = "No data exist for Id = " + itemToUpdate.ToDoItemId
            }));
        }