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()); }
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 })); }