Ejemplo n.º 1
0
        private async Task <IList <OrderItem> > GetOrderItemsWithAssignedIdAsyc()
        {
            IList <OrderItem> orderItemsWithId = new List <OrderItem>();

            foreach (OrderItem orderItem in await this.GetAllOrderItemsFromCartContentAsync())
            {
                orderItemsWithId.Add(await _orderItemRepository.AddAsync(orderItem));
            }

            return(orderItemsWithId);
        }
Ejemplo n.º 2
0
        public async Task <bool> AddOrderAsync(AddOrderModel model)
        {
            var result = await _orderRep.AddAsync(model.ToEntity());

            if (result != null)
            {
                foreach (var item in model.OrderItems)
                {
                    await _orderItemRep.AddAsync(item.ToEntity(result.Id));
                }
                return(true);
            }
            return(false);
        }
Ejemplo n.º 3
0
        public async Task <OperationResult> AddAsync(OrderItem item)
        {
            var validationResult = _orderItemValidator.Validate(item);

            if (!validationResult.IsValid)
            {
                var errors = validationResult.Errors.Select(e => e.ErrorMessage).ToList();
                return(new OperationResult(false, item, errors));
            }

            await _orderItemRepository.AddAsync(item);

            await _stockService.DecrementStock(item.ProductId, item.Amount);

            await _unitOfWork.CommitAsync();

            await UpdateOrderTotal(item.OrderId);

            return(new OperationResult(true, item, null));
        }
Ejemplo n.º 4
0
        public async Task <OrderItem> AddItem(int productId, int customerId)
        {
            try
            {
                var item = new OrderItem
                {
                    Completed  = false,
                    CustomerId = customerId,
                    ProductId  = productId
                };

                await _orderItemRepository.AddAsync(item);

                return(item);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 5
0
 public async Task <OrderItem> AddOrderItemAsync(OrderItem orderItem)
 {
     return(await _orderItemRepository.AddAsync(orderItem));
 }