Ejemplo n.º 1
0
        public async Task CreatePedidoAsync(int carrinhoId, Endereco shippingEndereco)
        {
            var carrinho = await _carrinhoRepository.GetByIdAsync(carrinhoId);

            Guard.Against.NullCarrinho(carrinhoId, carrinho);
            var items = new List <PedidoItem>();

            foreach (var item in carrinho.Items)
            {
                var catalogoItem = await _itemRepository.GetByIdAsync(item.CatalogoItemId);

                var itemPedido = new CatalogoItemPedido(catalogoItem.Id, catalogoItem.Nome, catalogoItem.FotoUri);
                var pedidoItem = new PedidoItem(itemPedido, item.PrecoUnitario, item.Quantidade);
                items.Add(pedidoItem);
            }
            var pedido = new Pedido(carrinho.CompraId, shippingEndereco, items);

            await _pedidoRepository.AddAsync(pedido);
        }
Ejemplo n.º 2
0
 public PedidoItem(CatalogoItemPedido pedidoItem, decimal precoUnitario, int unidades)
 {
     ItemPedido    = pedidoItem;
     PrecoUnitario = precoUnitario;
     Unidades      = unidades;
 }