/// <inheritdoc />
        public async Task <Unit> Handle(RemoveBasketLineCommand request, CancellationToken cancellationToken)
        {
            _basketLinesRepository.RemoveBasketLine(request.BasketLine);
            await _basketLinesRepository.SaveChanges();

            return(Unit.Value);
        }
Exemple #2
0
        public async Task <IActionResult> Delete(Guid basketId,
                                                 Guid basketLineId)
        {
            if (!await _basketRepository.BasketExists(basketId))
            {
                return(NotFound());
            }

            var basketLineEntity = await _basketLinesRepository.GetBasketLineById(basketLineId);

            if (basketLineEntity == null)
            {
                return(NotFound());
            }

            _basketLinesRepository.RemoveBasketLine(basketLineEntity);
            await _basketLinesRepository.SaveChanges();

            return(NoContent());
        }
Exemple #3
0
        public async Task <IActionResult> Delete(Guid basketId, Guid basketLineId)
        {
            //if (!await basketRepository.BasketExists(basketId))
            //{
            //    return NotFound();
            //}

            var basket = await basketRepository.GetBasketById(basketId);

            if (basket == null)
            {
                return(NotFound());
            }

            var basketLineEntity = await basketLinesRepository.GetBasketLineById(basketLineId);

            if (basketLineEntity == null)
            {
                return(NotFound());
            }

            basketLinesRepository.RemoveBasketLine(basketLineEntity);
            await basketLinesRepository.SaveChanges();

            //publish removal event
            BasketChangeEvent basketChangeEvent = new BasketChangeEvent
            {
                BasketChangeType = BasketChangeTypeEnum.Remove,
                EventId          = basketLineEntity.EventId,
                InsertedAt       = DateTime.Now,
                UserId           = basket.UserId
            };
            await basketChangeEventRepository.AddBasketEvent(basketChangeEvent);

            return(NoContent());
        }