public async Task <IActionResult> UpdateCatalogueItem(int id, [FromBody] CatalogueItemDto catalogueItem) { try { if (catalogueItem.Id != id) { ModelState.AddModelError( "Identifier", "Request body not apropiate for ID"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (await _catalogueItemService.GetCatalogueItemByIdAsync(id) == null) { return(NotFound()); } await _catalogueItemService.UpdateAsync(catalogueItem); return(NoContent()); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, "Failed to succeed the operation!")); } }
public async Task UpdateAsync(CatalogueItemDto catalogueItem) { var entity = await _unitOfWork.CatalogueItemsRepository.SingleOrDefaultAsync(x => x.Id == catalogueItem.Id); entity.Name = catalogueItem.Name; entity.Price = catalogueItem.Price; await _unitOfWork.CommitAsync(); }
private static GetCatalogueItemResult CatalogueItemResultBuilder(CatalogueItemDto catalogueItem) { return(GetCatalogueItemResultBuilder .Create() .WithCatalogueItemId(catalogueItem.CatalogueItemId) .WithName(catalogueItem.Name) .Build()); }
public async Task UpdateAsync(CatalogueItemDto catalogueItem) { var item = await _unitOfWork.CatalogueItemsRepository.GetWithProviderByIdAsync(catalogueItem.Id); item.Name = catalogueItem.Name; item.Price = catalogueItem.Price; var category = _mapper.Map <CatalogueItemCategoryDto, DomainModels.CatalogueItemCategory>(catalogueItem.Category); if (category != null) { item.Category = category; } await _unitOfWork.CommitAsync(); }
public async Task GetByIdAsync_ReturnsExpectedValue() { var expected = new CatalogueItemDto(Guid.NewGuid().ToString(), Guid.NewGuid().ToString()); var catalogueItemResultMock = new Mock <ICatalogueItemResult>(); catalogueItemResultMock.Setup(r => r.CatalogueItemId).Returns(expected.CatalogueItemId); catalogueItemResultMock.Setup(r => r.Name).Returns(expected.Name); var catalogueItemRepositoryMock = new Mock <ICatalogueItemRepository>(); catalogueItemRepositoryMock .Setup(r => r.GetByIdAsync(It.IsAny <string>(), default)) .ReturnsAsync(() => catalogueItemResultMock.Object); var reader = new CatalogueItemReader(catalogueItemRepositoryMock.Object); var actual = await reader.GetByIdAsync(string.Empty, CancellationToken.None); actual.Should().BeEquivalentTo(expected); }
public async Task GetByIdAsync_CatalogueItemRepository_GetByIdAsync_CalledOnce() { var expected = new CatalogueItemDto(Guid.NewGuid().ToString(), Guid.NewGuid().ToString()); var catalogueItemId = expected.CatalogueItemId; var catalogueItemResultMock = new Mock <ICatalogueItemResult>(); catalogueItemResultMock.Setup(r => r.CatalogueItemId).Returns(catalogueItemId); catalogueItemResultMock.Setup(r => r.Name).Returns(expected.Name); var catalogueItemRepositoryMock = new Mock <ICatalogueItemRepository>(); catalogueItemRepositoryMock .Setup(r => r.GetByIdAsync(It.IsAny <string>(), default)) .ReturnsAsync(() => catalogueItemResultMock.Object); var reader = new CatalogueItemReader(catalogueItemRepositoryMock.Object); await reader.GetByIdAsync(catalogueItemId, CancellationToken.None); catalogueItemRepositoryMock.Verify(r => r.GetByIdAsync(catalogueItemId, default)); }
public async Task Handle_Query_ReturnsExpectedValue() { var expected = new CatalogueItemDto(Guid.NewGuid().ToString(), Guid.NewGuid().ToString()); var catalogueItemResultMock = new Mock <ICatalogueItemResult>(); catalogueItemResultMock.Setup(r => r.CatalogueItemId).Returns(expected.CatalogueItemId); catalogueItemResultMock.Setup(r => r.Name).Returns(expected.Name); var catalogueItemRepositoryMock = new Mock <ICatalogueItemRepository>(); catalogueItemRepositoryMock .Setup(r => r.GetByIdAsync(It.IsAny <string>(), default)) .ReturnsAsync(() => catalogueItemResultMock.Object); var handler = new GetCatalogueItemByIdQueryHandler(new CatalogueItemReader(catalogueItemRepositoryMock.Object)); var actual = await handler.Handle(null, default); actual.Should().BeEquivalentTo(expected); }
public async Task Update(CatalogueItemDto catalogueItem) { await _unitOfWork.CommitAsync(); }