Ejemplo n.º 1
0
        public async Task <BaseModel> CreateAsync(OrderModelItem modelItem)
        {
            if (modelItem.OrderItems == null || !modelItem.OrderItems.Any())
            {
                modelItem.Errors.Add(Constants.Errors.CreateOrderError);
                return(modelItem);
            }

            var order = new Order();

            order = modelItem.MapToEntity(order);
            var orderId = await _orderRepository.CreateAsync(order);

            if (orderId == 0)
            {
                modelItem.Errors.Add(Constants.Errors.CreateOrderError);
                return(modelItem);
            }

            var orderItems = modelItem.OrderItems.MapToOrderItemsList(orderId);
            var result     = await _orderItemRepository.CreateListAsync(orderItems);

            if (!result && orderItems.Count() > 0)
            {
                modelItem.Errors.Add(Constants.Errors.CreateOrderError);
            }

            return(modelItem);
        }