public void SalvarVenda(VendaDTO venda, int idFuncionario) { this.idVenda = VendaDAO.getInstance().SalvarVenda(venda, idFuncionario); foreach (ItensVendaDTO itens in venda.ItensVendaDTO) { ItensVendaDAO.getInstance().RegistrarItensVendidos(itens.ProdutoDTO.IdProduto, itens.Quantidade, this.idVenda); } this.mensagem = ItensVendaDAO.getInstance().mensagem; }
public IActionResult EfetuarPedido() { //Aqui será o controle de transação try { using (var transacao = new System.Transactions.TransactionScope()) { ClienteViewModel cliLogado = ObtemUsuarioNaSession(); VendaViewModel venda = new VendaViewModel(); venda.Data_Venda = DateTime.Now; venda.Id_Cliente = cliLogado.Id; venda.Data_Entrega = (DateTime.Now).AddDays(7); venda.Id_EstadoEntrega = cliLogado.Id_Estado; VendaDAO vDAO = new VendaDAO(); int idPedido = vDAO.Insert(venda); ItensVendaDAO itemDAO = new ItensVendaDAO(); var carrinho = ObtemCarrinhoNaSession(); foreach (var elemento in carrinho) { ItensVendaViewModel item = new ItensVendaViewModel(); item.Id_Venda = idPedido; item.Id_Produto = elemento.Id_Produto; item.Quantidade = elemento.Quantidade; item.Preco = elemento.Preco; itemDAO.Insert(item); //carrinho.Remove(elemento); } transacao.Complete(); } return(RedirectToAction("Index")); } catch (Exception erro) { @ViewBag.Erro = "Ocorreu um erro: " + erro.Message; return(RedirectToAction("Visualizar", "Carrinho")); } }