예제 #1
0
        /// <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;
            }
        }
예제 #2
0
        }         // 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
예제 #3
0
        }         // 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
예제 #4
0
        }         // 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