예제 #1
0
        public void FecharPedido(FecharPedidoFormViewModel model, int usuarioId)
        {
            var carrinho = _carrinhoApp.Carrinho(usuarioId);

            if (carrinho == null || carrinho.Produtos == null || !carrinho.Produtos.Any())
            {
                throw new Exception("O carrinho está vazio!");
            }

            var pedido = Mapper.Map <Pedido>(model);

            pedido.DtInclusao   = DateTime.Now;
            pedido.StatusPedido = TipoStatusPedido.Criado;
            pedido.UsuarioId    = usuarioId;

            _pedidoRepository.Add(pedido);
            _pedidoRepository.Commit();

            foreach (var produto in carrinho.Produtos)
            {
                var pedidoProduto = new PedidoProduto
                {
                    DtInclusao    = DateTime.Now,
                    PedidoId      = pedido.Id,
                    ProdutoId     = produto.Id,
                    Quantidade    = produto.Qtd,
                    ValorUnitario = produto.Preco
                };
                _pedidoProdutoRepository.Add(pedidoProduto);
            }
            _pedidoRepository.Commit();
        }
예제 #2
0
        public PartialViewResult Carrinho()
        {
            var model = _carrinhoApp.Carrinho(UsuarioLogado.CurrentUser.UserId);

            return(PartialView("_Carrinho", model));
        }