Пример #1
0
        public Task <BaseResponse> AddProductToOrder(AddProductToOrderRequest request, int UserID)
        {
            Models.Order        order        = null;
            Models.Product      product      = null;
            Models.OrderProduct orderProduct = null;



            throw new NotImplementedException();
        }
Пример #2
0
        public async Task <IActionResult> AddProductToOrder(AddProductToOrderRequest request)
        {
            var orderToAddProduct = await _orderService.AddProductToOrderAsync(request.orderId, request.productId);

            if (orderToAddProduct.Success == false)
            {
                return(BadRequest(orderToAddProduct));
            }

            return(Ok(orderToAddProduct));
        }
        public ServiceResponse <OrderResponse> AddProductToOrder(AddProductToOrderRequest request)
        {
            var order = _orderRepository.GetById(request.OrderId);

            if (order == null)
            {
                var user = _userRepository.GetById(request.UserId);
                order = new Order(user);
            }
            var product = _productRepository.GetById(request.ProductId);

            if (product == null)
            {
                return(new ServiceResponse <OrderResponse>());
            }

            try
            {
                _orderDomainService.AddProductToOrder(product, order);
            }
            catch (OutOfStockException exc)
            {
                _stockDispatcher.SendNotification(exc.Message);
                return(new ServiceResponse <OrderResponse>()
                {
                    IsSuccess = false,
                    Result = order.MapToResponse()
                });
            }

            return(new ServiceResponse <OrderResponse>()
            {
                IsSuccess = true,
                Result = order.MapToResponse()
            });
        }