Esempio n. 1
0
        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!"));
            }
        }
Esempio n. 2
0
        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();
 }