/// <summary> /// Inseri novo(a) Comanda na lista /// </summary> /// <returns></returns> public override bool Inserir() { try{ bool ok = comanda.Inserir(); if (ok) { lista.Add(comanda.Control.ID); Indice = lista.Count - 1; } return(ok); }catch (Exception ex) { throw ex; } }
} // fim de EstruturaNovaComanda /// <summary> /// /// </summary> /// <returns></returns> public bool InserirNovaComanda(DataTable tabelaAux, out int comandaID) { comandaID = 0; try { DataRow linha = (DataRow)tabelaAux.Rows[0]; if (linha != null) { // verificar se existe uma comanda com essa ordem antes de incluir uma nova. if (linha["OrdemComanda"].ToString() != "") { ComandaLista lista = new ComandaLista(Convert.ToInt32(linha["UsuarioID"])); lista.FiltroSQL = "ORDEM='" + linha["OrdemComanda"].ToString() + "'"; lista.Carregar(); if (lista.Tamanho > 0) { comandaID = 0; return(false); } } // Criar uma comanda no BD (inserir registro) Comanda comanda = new Comanda(Convert.ToInt32(linha["UsuarioID"])); comanda.Ordem.Valor = linha["OrdemComanda"].ToString(); if ((bool)linha["TrabalharComIngresso"]) { // garcon.Ler(garconID); // soh pra pegar o nome? comanda.GarconID.Valor = Convert.ToInt32(linha["GarconID"]); // codigoIngresso = linha["Ingresso"].ToString(); // comanda.IngressoID.Valor = codigoIngresso; } else { comanda.GarconID.Valor = 0; comanda.IngressoID.Valor = 0; } comanda.CaixaID.Valor = Convert.ToInt32(linha["CaixaID"]); comanda.Inserir(); comandaID = comanda.Control.ID; } return(true); } catch (Exception ex) { throw ex; } } // fim de InserirNovaComanda
} // 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