/// <summary> /// Inseri novo(a) ComandaItem na lista /// </summary> /// <returns></returns> public override bool Inserir() { try{ bool ok = comandaItem.Inserir(); if (ok) { lista.Add(comandaItem.Control.ID); Indice = lista.Count - 1; } return(ok); }catch (Exception ex) { throw ex; } }
} // fim de GravarComanda /// <summary> /// Gravar informações de Comanda e seus itens, antes de imprimir Comanda no Bar /// </summary> /// <returns></returns> public string GravarComanda( out int vendaID, bool trabalharComIngresso, int caixaID, int apresentacaoID, int setorID, string codigo, int garconID, DataTable comandaItemTabelaMemoria) { int comandaID; Comanda comanda = new Comanda(usuarioID); try{ vendaID = 0; // Gravar na tabela Comanda comanda.CaixaID.Valor = caixaID; comanda.VendaID.Valor = 0; Ingresso ingresso = new Ingresso(); if (trabalharComIngresso) { comanda.IngressoID.Valor = IngressoID(apresentacaoID, setorID, codigo); comanda.GarconID.Valor = garconID; } else { comanda.IngressoID.Valor = 0; comanda.GarconID.Valor = 0; } int incremento = comanda.Ultima() + 1; comanda.Ordem.Valor = incremento.ToString(); comanda.Inserir(); // ***** comandaID = comanda.Control.ID; // retornar ID da Comanda foreach (DataRow linha in comandaItemTabelaMemoria.Rows) { // Gravar os itens ComandaItem comandaItem = new ComandaItem(usuarioID); comandaItem.ComandaID.Valor = comandaID; comandaItem.ProdutoID.Valor = Convert.ToInt32(linha["ProdutoID"]); comandaItem.Quantidade.Valor = Convert.ToInt32(linha["Quantidade"]); // Pesquisar PrecoVenda Produto produto = new Produto(); produto.Ler(Convert.ToInt32(linha["ProdutoID"])); comandaItem.PrecoVenda.Valor = produto.PrecoVenda.Valor; // Inserir o item de comanda comandaItem.Inserir(); // Atualizar quantidade no estoque para cada item de venda Caixa caixa = new Caixa(usuarioID); caixa.Ler(caixaID); Loja loja = new Loja(usuarioID); loja.Ler(caixa.LojaID.Valor); EstoqueItem estoqueItem = new EstoqueItem(usuarioID); estoqueItem.ProdutoID.Valor = Convert.ToInt32(linha["ProdutoID"]); estoqueItem.EstoqueID.Valor = loja.EstoqueID.Valor; estoqueItem.DefinirID(); estoqueItem.AtualizarSaldo(-1 * Convert.ToInt32(linha["Quantidade"])); } // Em sistema de Ticket, assim que imprimiu a comanda, salva a venda if (!trabalharComIngresso) { // Chame um mehtodo que cria um registro de Venda e atualiza VendaID nesta Comanda vendaID = InserirVenda(caixaID, comanda.IngressoID.Valor, comandaID); } }catch (Exception erro) { throw erro; } return(comanda.Ordem.Valor); } // fim de GravarComanda
} // fim de GravarComandaPagamento /// <summary> /// Gravar informações de Comanda e seus itens, antes de imprimir Comanda no Bar /// Usa como parâmetro Matriz em vez de DataTable /// </summary> /// <returns></returns> public string GravarComanda( out int vendaID, bool trabalharComIngresso, int caixaID, int apresentacaoID, int setorID, string codigo, int garconID, int [,] comandaItemMatrizMemoria) { // int comandaID; Comanda comanda = new Comanda(usuarioID); try{ vendaID = 0; // Gravar na tabela Comanda comanda.CaixaID.Valor = caixaID; comanda.VendaID.Valor = 0; Ingresso ingresso = new Ingresso(); if (trabalharComIngresso) { comanda.IngressoID.Valor = IngressoID(apresentacaoID, setorID, codigo); comanda.GarconID.Valor = garconID; } else { comanda.IngressoID.Valor = 0; comanda.GarconID.Valor = 0; } int incremento = comanda.Ultima() + 1; comanda.Ordem.Valor = incremento.ToString(); comanda.Inserir(); // ***** comandaID = comanda.Control.ID; // retornar ID da Comanda int tamanho = (int)comandaItemMatrizMemoria.Length / 2; // 2 colunas for (int conta = 0; conta < tamanho; conta++) { // Gravar os itens int produtoID = Convert.ToInt32(comandaItemMatrizMemoria[conta, 0]); int quantidade = Convert.ToInt32(comandaItemMatrizMemoria[conta, 1]); ComandaItem comandaItem = new ComandaItem(usuarioID); comandaItem.ComandaID.Valor = comandaID; comandaItem.ProdutoID.Valor = produtoID; comandaItem.Quantidade.Valor = quantidade; // Pesquisar PrecoVenda Produto produto = new Produto(); produto.Ler(produtoID); // ***** comandaItem.PrecoVenda.Valor = produto.PrecoVenda.Valor; // Inserir o item de comanda comandaItem.Inserir(); // ***** // Atualizar quantidade no estoque para cada item de venda Caixa caixa = new Caixa(usuarioID); caixa.Ler(caixaID); // ***** Loja loja = new Loja(usuarioID); loja.Ler(caixa.LojaID.Valor); EstoqueItem estoqueItem = new EstoqueItem(usuarioID); estoqueItem.ProdutoID.Valor = produtoID; estoqueItem.EstoqueID.Valor = loja.EstoqueID.Valor; estoqueItem.DefinirID(); // ***** estoqueItem.AtualizarSaldo(-1 * quantidade); // ***** } // Em sistema de Ticket, assim que imprimiu a comanda, salva a venda if (!trabalharComIngresso) { // Chame um mehtodo que cria um registro de Venda e atualiza VendaID nesta Comanda vendaID = InserirVenda(caixaID, comanda.IngressoID.Valor, comandaID); // ***** } }catch (Exception erro) { throw erro; } return(comanda.Ordem.Valor); } // fim de GravarComanda