예제 #1
0
        /// <summary>
        /// Obter o valor total da conta do ingresso
        /// </summary>
        /// <returns></returns>
        public override decimal ValorConta(int ingresso)
        {
            try{
                DataTable tabela = new DataTable("Conta");

                //carregar uma lista de comandas desse ingresso
                ComandaLista lista = new ComandaLista();
                lista.FiltroSQL = "VendaID<>0 AND IngressoID=" + ingresso;
                lista.Carregar();

                string ids = lista.ToString();

                if (ids != "")
                {
                    string sql = "SELECT Sum(i.PrecoVenda*i.Quantidade) as Valor " +
                                 "FROM tComanda as c, tComandaItem as i WHERE i.ComandaID in (" + ids + ") AND " +
                                 "c.ID=i.ComandaID";

                    object o = bd.ConsultaValor(sql);

                    decimal valor = (o != null) ? Convert.ToDecimal(o) : 0;

                    return(valor);
                }
                else
                {
                    return(0);
                }
            }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
        /// <summary>
        /// Fecha a conta
        /// </summary>
        /// <returns></returns>
        public override void FecharConta(int ingresso, int vendaid)
        {
            if (vendaid > 0)              // fechar conta setando o vendaID de todas as comandas do ingresso

            {
                try{
                    //carregar uma lista de comandas desse ingresso
                    ComandaLista lista = new ComandaLista();
                    lista.FiltroSQL = "IngressoID='" + ingresso + "' AND VendaID=0";
                    lista.Carregar();
                    lista.Primeiro();

                    do
                    {
                        lista.Comanda.VendaID.Valor = vendaid;
                        lista.Comanda.Atualizar();
                    }while(lista.Proximo());
                }catch (Exception ex) {
                    throw ex;
                }
            }
        }
예제 #4
0
        /// <summary>
        /// Obter os itens de um Ingresso especifico nao pagos
        /// </summary>
        /// <returns></returns>
        public DataTable Conta(int ingresso)
        {
            DataTable    tabela = estruturaItensComanda();                              //carregar uma lista de comandas desse ingresso
            ComandaLista lista  = new ComandaLista();

            lista.FiltroSQL = "IngressoID='" + ingresso + "'";
            lista.Carregar();
            string ids = lista.ToString();

            if (ids != "")
            {
                try{
                    BD     bd  = new BD();
                    string sql =
                        "SELECT     i.ID, i.ProdutoID, p.Nome AS Produto, p.PrecoVenda AS Valor, i.Quantidade, i.ComandaID, c.VendaID " +
                        "FROM       tProduto p INNER JOIN " +
                        "tComandaItem i ON p.ID = i.ProdutoID INNER JOIN " +
                        "tComanda c ON i.ComandaID = c.ID " +
                        "WHERE     (i.ComandaID IN (" + ids + ")) AND (c.VendaID = 0)";
                    bd.Consulta(sql);
                    while (bd.Consulta().Read())
                    {
                        DataRow linha = tabela.NewRow();
                        linha["ID"]         = bd.LerInt("ID");
                        linha["ProdutoID"]  = bd.LerInt("ProdutoID");
                        linha["Produto"]    = bd.LerString("Produto");
                        linha["Quantidade"] = bd.LerInt("Quantidade");
                        linha["Valor"]      = bd.LerDecimal("Valor");
                        tabela.Rows.Add(linha);
                    }
                    bd.Fechar();
                }catch {
                    tabela = null;
                }
            }
            return(tabela);
        }