示例#1
0
        //OK
        public List <ItensDaVenda> buscarItensDeUmaVenda(int codigoVenda)
        {
            List <ItensDaVenda> itensDaVenda = null;

            try {
                conn.Open();
                itensDaVenda = new List <ItensDaVenda>();

                SQLiteCommand cdm2 = new SQLiteCommand(
                    "SELECT * FROM ItensDaVenda  WHERE codVenda=" + codigoVenda, conn
                    );

                SQLiteDataReader dr = cdm2.ExecuteReader();

                while (dr.Read())
                {
                    ItensDaVenda item = new ItensDaVenda();

                    item.CodigoVenda   = Convert.ToInt32(dr["codVenda"]);
                    item.CodigoProduto = Convert.ToInt32(dr["codProduto"]);
                    item.QtdeConsumida = Convert.ToInt32(dr["qtdConsumida"]);
                    item.HoraDoPedido  = dr["horaPedido"].ToString();
                    item.HoraDaEntrega = dr["horaEntrega"].ToString();

                    itensDaVenda.Add(item);
                }
            }   catch (SQLiteException e) {
                Console.WriteLine("Erro na busca dos itens da venda. " + e.Message);
            }   finally {
                conn.Close();
            }

            return(itensDaVenda);
        }
示例#2
0
        public void cadastrarItemDaVenda(ItensDaVenda item)
        {
            try {
                // verificando se o estado da conexão é fechado no momento.
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open(); // se o estado é fechado, aqui se abre a conexão com o banco de dados.

                    // criando um comando sql(cmd) para ser executado e passando a conexão para o objeto command (cmd)
                    SQLiteCommand cmd = new SQLiteCommand(
                        "INSERT INTO ItensDaVenda (codVenda, codProduto, qtdConsumida, horaPedido, horaEntrega)" +
                        "VALUES (@codVenda, @codProduto, @qtdConsumida, @horaPedido, @horaEntrega)", conn
                        );

                    //Tratando a parte de segurança (SQL Injection)
                    //Esta linha ñ permite que um possível comando sql colocado
                    //no textField da tela seja executado no banco de dados.
                    cmd.Parameters.AddWithValue("codVenda", item.CodigoVenda);
                    cmd.Parameters.AddWithValue("codProduto", item.CodigoProduto);
                    cmd.Parameters.AddWithValue("qtdConsumida", item.QtdeConsumida);
                    cmd.Parameters.AddWithValue("horaPedido", item.HoraDoPedido);
                    cmd.Parameters.AddWithValue("horaEntrega", item.HoraDaEntrega);

                    cmd.ExecuteNonQuery(); // executando a operação de INSERT no banco
                }
            }   catch (SQLiteException e) {
                Console.WriteLine("Erro no cadastro do item da venda. " + e.Message);
            }   finally {
                conn.Close();         //fechando a consulta com o banco de dados
            }
        }
示例#3
0
        //Aqui eu estou usando para setar a hora da entrega da porção!
        public void alterarItemDaVenda(ItensDaVenda v, int codigoVenda, int codPorcao)
        {
            try {
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();

                    SQLiteCommand cmd = new SQLiteCommand(
                        "UPDATE ItensDaVenda " +
                        "SET codVenda= @codVenda, codProduto= @codProduto, qtdConsumida= @qtdConsumida, horaPedido= @horaPedido, horaEntrega= @horaEntrega " +
                        "WHERE codVenda=" + codigoVenda + " AND horaPedido='" + v.HoraDoPedido + "' AND codProduto= " + codPorcao, conn
                        );

                    cmd.Parameters.AddWithValue("codVenda", v.CodigoVenda);
                    cmd.Parameters.AddWithValue("codProduto", v.CodigoProduto);
                    cmd.Parameters.AddWithValue("qtdConsumida", v.QtdeConsumida);
                    cmd.Parameters.AddWithValue("horaPedido", v.HoraDoPedido);  // hora que fez o pedido na mesa.
                    cmd.Parameters.AddWithValue("horaEntrega", v.HoraDaEntrega);

                    cmd.ExecuteNonQuery(); // executando a operação de UPDATE no banco
                }
            }   catch (SQLiteException e) {
                Console.WriteLine("Erro ao alterar a porção da mesa! " + e.Message);
            }   finally {
                conn.Close();         //fechando a conexão com o banco de dados.
            }
        }
示例#4
0
        public Venda(Cliente cliente, int numeroDaNota, DateTime dataDaEmissao,
                     DateTime dataDaSaida, string descricao, IEnumerable <ItemDaVenda> itens)
        {
            if (cliente == null)
            {
                throw new ArgumentNullException("cliente");
            }

            if (cliente == null)
            {
                throw new ArgumentNullException("cliente");
            }

            if (string.IsNullOrWhiteSpace(descricao))
            {
                throw new ArgumentOutOfRangeException("descricao");
            }

            this.Cliente       = cliente;
            this.NumeroDaNota  = numeroDaNota;
            this.DataDaEmissao = dataDaEmissao;
            this.DataDaSaida   = dataDaSaida;
            this.Descricao     = descricao;

            this.Comissoes      = new List <Comissao>();
            this.ContasAReceber = new List <ContaAReceber>();
            this.ItensDaVenda   = new List <ItemDaVenda>(itens);

            this.ValorTotal = ItensDaVenda.Sum(i => i.ValorTotal);

            GerarComissoes();
            GerarContasAReceber();
        }