Exemple #1
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Livro         livro = (Livro)entidade;
            StringBuilder sql   = new StringBuilder();

            sql.Append("SELECT * FROM tb_livro JOIN tb_livro_autor ON (tb_livro.id_livro = tb_livro_autor.id_livro) ");
            sql.Append("                            JOIN tb_autor ON (tb_livro_autor.id_autor = tb_autor.id_autor) ");
            sql.Append("                            JOIN tb_livro_cat ON (tb_livro.id_livro = tb_livro_cat.id_livro) ");
            sql.Append("                            JOIN tb_cat_livro ON (tb_livro_cat.id_cat_livro = tb_cat_livro.id_cat_livro) ");
            sql.Append("                            JOIN tb_editora ON (tb_livro.editora_fk = tb_editora.id_editora) ");
            sql.Append("                            JOIN tb_cidades ON (tb_editora.cidade_fk = tb_cidades.id_cidade) ");
            sql.Append("                            JOIN tb_estados ON (tb_cidades.estado_id = tb_estados.id_estado) ");
            sql.Append("                            JOIN tb_paises ON (tb_estados.pais_id = tb_paises.id_pais) ");
            sql.Append("                            JOIN tb_dimensoes ON (tb_livro.dimensoes_fk = tb_dimensoes.id_dimensoes) ");
            sql.Append("                            JOIN tb_grupo_preco ON (tb_grupo_preco.id_grupo_preco = tb_livro.grupo_preco_fk) ");
            sql.Append("                            JOIN tb_cat_motivo ON (tb_cat_motivo.id_cat_motivo = tb_livro.categoria_motivo_fk) ");

            // WHERE sem efeito, usado apenas para poder diminuir o número de ifs da construção da query
            sql.Append("WHERE 1 = 1 ");

            if (livro.ID != 0)
            {
                sql.Append("AND tb_livro.id_livro = :1 ");
            }

            if (livro.Autores.Count > 0)
            {
                if (livro.Autores.ElementAt(0).ID != 0)
                {
                    sql.Append("AND tb_autor.id_autor = :2 ");
                }

                if (!String.IsNullOrEmpty(livro.Autores.ElementAt(0).Nome))
                {
                    sql.Append("AND nome_autor = :3 ");
                }
            }

            if (livro.Categorias.Count > 0)
            {
                if (livro.Categorias.ElementAt(0).ID != 0)
                {
                    sql.Append("AND tb_cat_livro.id_cat_livro = :4 ");
                }

                if (!String.IsNullOrEmpty(livro.Categorias.ElementAt(0).Nome))
                {
                    sql.Append("AND nome_cat_livro = :5 ");
                }

                if (!String.IsNullOrEmpty(livro.Categorias.ElementAt(0).Descricao))
                {
                    sql.Append("AND descricao_cat_livro = :6 ");
                }
            }

            if (!String.IsNullOrEmpty(livro.Ano))
            {
                sql.Append("AND ano_livro = :7 ");
            }

            if (!String.IsNullOrEmpty(livro.Titulo))
            {
                sql.Append("AND titulo_livro = :8 ");
            }

            if (livro.Editora != null)
            {
                if (livro.Editora.ID != 0)
                {
                    sql.Append("AND id_editora = :9 ");
                }

                if (!String.IsNullOrEmpty(livro.Editora.Nome))
                {
                    sql.Append("AND nome_editora = :10 ");
                }
            }

            if (!String.IsNullOrEmpty(livro.Edicao))
            {
                sql.Append("AND edicao_livro = :11 ");
            }

            if (!String.IsNullOrEmpty(livro.ISBN))
            {
                sql.Append("AND isbn = :12 ");
            }

            if (!String.IsNullOrEmpty(livro.NumeroPaginas))
            {
                sql.Append("AND numero_paginas = :13 ");
            }

            if (!String.IsNullOrEmpty(livro.Sinopse))
            {
                sql.Append("AND sinopse = :14 ");
            }

            if (livro.Dimensoes != null)
            {
                if (livro.Dimensoes.ID != 0)
                {
                    sql.Append("AND id_dimensoes = :15 ");
                }

                if (livro.Dimensoes.Altura != 0)
                {
                    sql.Append("AND altura = :16 ");
                }

                if (livro.Dimensoes.Largura != 0)
                {
                    sql.Append("AND largura = :17 ");
                }

                if (livro.Dimensoes.Profundidade != 0)
                {
                    sql.Append("AND profundidade = :18 ");
                }

                if (livro.Dimensoes.Peso != 0.0)
                {
                    sql.Append("AND peso = :19 ");
                }
            }

            if (livro.GrupoPrecificacao != null)
            {
                if (livro.GrupoPrecificacao.ID != 0)
                {
                    sql.Append("AND id_grupo_preco = :20 ");
                }

                if (!String.IsNullOrEmpty(livro.GrupoPrecificacao.Nome))
                {
                    sql.Append("AND nome_grupo_preco = :21 ");
                }

                if (livro.GrupoPrecificacao.MargemLucro != 0.0)
                {
                    sql.Append("AND margem_lucro = :22 ");
                }
            }

            if (!String.IsNullOrEmpty(livro.CodigoBarras))
            {
                sql.Append("AND codigo_barras_livro = :23 ");
            }

            if (livro.CategoriaMotivo != null)
            {
                if (livro.CategoriaMotivo.ID != 0)
                {
                    sql.Append("AND id_cat_motivo = :24 ");
                }

                if (livro.CategoriaMotivo.Ativo != 'Z')
                {
                    sql.Append("AND ativo = :25 ");
                }
            }

            if (!String.IsNullOrEmpty(livro.Motivo))
            {
                sql.Append("AND motivo = :26 ");
            }

            if (livro.DataCadastro != null)
            {
                sql.Append("AND dt_cadastro_livro = :27 ");
            }

            sql.Append("ORDER BY tb_livro.id_livro, tb_autor.id_autor, tb_cat_livro.id_cat_livro ");

            pst.CommandText = sql.ToString();
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", livro.ID),
                new NpgsqlParameter("7", livro.Ano),
                new NpgsqlParameter("8", livro.Titulo),
                new NpgsqlParameter("9", livro.Editora.ID),
                new NpgsqlParameter("10", livro.Editora.Nome),
                new NpgsqlParameter("11", livro.Edicao),
                new NpgsqlParameter("12", livro.ISBN),
                new NpgsqlParameter("13", livro.NumeroPaginas),
                new NpgsqlParameter("14", livro.Sinopse),
                new NpgsqlParameter("15", livro.Dimensoes.ID),
                new NpgsqlParameter("16", livro.Dimensoes.Altura),
                new NpgsqlParameter("17", livro.Dimensoes.Largura),
                new NpgsqlParameter("18", livro.Dimensoes.Profundidade),
                new NpgsqlParameter("19", livro.Dimensoes.Peso),
                new NpgsqlParameter("20", livro.GrupoPrecificacao.ID),
                new NpgsqlParameter("21", livro.GrupoPrecificacao.Nome),
                new NpgsqlParameter("22", livro.GrupoPrecificacao.MargemLucro),
                new NpgsqlParameter("23", livro.CodigoBarras),
                new NpgsqlParameter("24", livro.CategoriaMotivo.ID),
                new NpgsqlParameter("25", livro.CategoriaMotivo.Ativo),
                new NpgsqlParameter("26", livro.Motivo)
            };

            if (livro.Autores.Count > 0)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("2", livro.Autores.ElementAt(0).ID),
                    new NpgsqlParameter("3", livro.Autores.ElementAt(0).Nome)
                };

                parameters.Concat(parametersAux);
            }

            if (livro.Categorias.Count > 0)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("4", livro.Categorias.ElementAt(0).ID),
                    new NpgsqlParameter("5", livro.Categorias.ElementAt(0).Nome),
                    new NpgsqlParameter("6", livro.Categorias.ElementAt(0).Descricao)
                };

                parameters.Concat(parametersAux);
            }

            if (livro.DataCadastro != null)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("27", livro.DataCadastro)
                };

                parameters.Concat(parametersAux);
            }
            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;

            reader = pst.ExecuteReader();

            // Lista de retorno da consulta do banco de dados, que conterá os livros encontrados
            List <EntidadeDominio> livros = new List <EntidadeDominio>();

            Livro livroAux = new Livro();

            livroAux.ID = 0;

            Autor     autor     = new Autor();
            Categoria categoria = new Categoria();

            Autor         autorAux     = new Autor();
            CartaoCredito categoriaAux = new CartaoCredito();

            livro = new Livro();

            while (reader.Read())
            {
                // verifica se livro que está trazendo do BD é igual ao anterior
                if (Convert.ToInt32(reader["id_livro"]) != livroAux.ID)
                {
                    livro    = new Livro();
                    livro.ID = Convert.ToInt32(reader["id_livro"]);

                    // passando id do livro que está vindo para o auxiliar
                    livroAux.ID = livro.ID;

                    //// -------------------- AUTOR - COMEÇO ----------------------------------
                    autor = new Autor();

                    autor.ID   = Convert.ToInt32(reader["id_autor"]);
                    autor.Nome = reader["nome_autor"].ToString();

                    livro.Autores.Add(autor);
                    autorAux.ID = autor.ID;
                    //// -------------------- AUTOR - FIM ----------------------------------

                    // -------------------- CATEGORIA LIVRO - COMEÇO ----------------------------------
                    categoria = new Categoria();

                    categoria.ID        = Convert.ToInt32(reader["id_cat_livro"]);
                    categoria.Nome      = reader["nome_cat_livro"].ToString();
                    categoria.Descricao = reader["descricao_cat_livro"].ToString();

                    livro.Categorias.Add(categoria);
                    categoriaAux.ID = categoria.ID;
                    // -------------------- CATEGORIA LIVRO - FIM ----------------------------------

                    livro.Ano    = reader["ano_livro"].ToString();
                    livro.Titulo = reader["titulo_livro"].ToString();

                    // -------------------- EDITORA - COMEÇO ----------------------------------
                    livro.Editora.ID          = Convert.ToInt32(reader["id_editora"]);
                    livro.Editora.Nome        = reader["nome_editora"].ToString();
                    livro.Editora.Cidade.ID   = Convert.ToInt32(reader["id_cidade"]);
                    livro.Editora.Cidade.Nome = reader["nome_cidade"].ToString();
                    // -------------------- EDITORA - FIM ----------------------------------

                    livro.Edicao        = reader["edicao_livro"].ToString();
                    livro.ISBN          = reader["isbn"].ToString();
                    livro.NumeroPaginas = reader["numero_paginas"].ToString();
                    livro.Sinopse       = reader["sinopse"].ToString();

                    // -------------------- DIMENSÕES - COMEÇO ----------------------------------
                    livro.Dimensoes.ID           = Convert.ToInt32(reader["id_dimensoes"]);
                    livro.Dimensoes.Altura       = Convert.ToInt32(reader["altura"]);
                    livro.Dimensoes.Largura      = Convert.ToInt32(reader["largura"]);
                    livro.Dimensoes.Profundidade = Convert.ToInt32(reader["profundidade"]);
                    livro.Dimensoes.Peso         = Convert.ToSingle(reader["peso"]);
                    // -------------------- DIMENSÕES - FIM ----------------------------------

                    // -------------------- GRUPO PRECIFICAÇÃO - COMEÇO ----------------------------------
                    livro.GrupoPrecificacao.ID          = Convert.ToInt32(reader["id_grupo_preco"]);
                    livro.GrupoPrecificacao.Nome        = reader["nome_grupo_preco"].ToString();
                    livro.GrupoPrecificacao.MargemLucro = Convert.ToSingle(reader["margem_lucro"]);
                    // -------------------- GRUPO PRECIFICAÇÃO - FIM ----------------------------------

                    livro.CodigoBarras = reader["codigo_barras_livro"].ToString();

                    // -------------------- CATEGORIA MOTIVO - COMEÇO ----------------------------------
                    livro.CategoriaMotivo.ID        = Convert.ToInt32(reader["id_cat_motivo"]);
                    livro.CategoriaMotivo.Ativo     = reader["ativo"].ToString().First();
                    livro.CategoriaMotivo.Nome      = reader["nome_cat_motivo"].ToString();
                    livro.CategoriaMotivo.Descricao = reader["descricao_cat_motivo"].ToString();
                    // -------------------- CATEGORIA MOTIVO - FIM ----------------------------------

                    livro.Motivo       = reader["motivo"].ToString();
                    livro.DataCadastro = Convert.ToDateTime(reader["dt_cadastro_livro"].ToString());
                }
                else
                {
                    //// -------------------- AUTOR - COMEÇO ----------------------------------
                    autor = new Autor();

                    autor.ID = Convert.ToInt32(reader["id_autor"]);
                    if (autorAux.ID != autor.ID)
                    {
                        autor.Nome = reader["nome_autor"].ToString();

                        livro.Autores.Add(autor);

                        autorAux.ID = autor.ID;
                    }
                    //// -------------------- AUTOR - FIM ----------------------------------

                    // -------------------- CATEGORIA LIVRO - COMEÇO ----------------------------------
                    categoria = new Categoria();

                    categoria.ID = Convert.ToInt32(reader["id_cat_livro"]);
                    if (categoriaAux.ID != categoria.ID)
                    {
                        categoria.Nome      = reader["nome_cat_livro"].ToString();
                        categoria.Descricao = reader["descricao_cat_livro"].ToString();

                        livro.Categorias.Add(categoria);

                        categoriaAux.ID = categoria.ID;
                    }
                    // -------------------- CATEGORIA LIVRO - FIM ----------------------------------
                }

                livros.Add(livro);
            }
            connection.Close();
            return(livros);
        }
Exemple #2
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            ClientePF     cliente = (ClientePF)entidade;
            StringBuilder sql     = new StringBuilder();

            sql.Append("SELECT * FROM tb_cliente_pf JOIN tb_telefone ON (tb_cliente_pf.telefone_cli_fk = tb_telefone.id_telefone) ");
            sql.Append("                            JOIN tb_tipo_telefone ON (tb_telefone.tipo_telefone_fk = tb_tipo_telefone.id_tipo_tel) ");
            //sql.Append("                            JOIN tb_cliente_endereco ON (tb_cliente_pf.id_cli_pf = tb_cliente_endereco.id_cliente) ");
            //sql.Append("                            JOIN tb_endereco ON (tb_cliente_endereco.id_endereco = tb_endereco.id_endereco) ");
            //sql.Append("                            JOIN tb_cidades ON (tb_endereco.cidade_fk = tb_cidades.id_cidade) ");
            //sql.Append("                            JOIN tb_estados ON (tb_cidades.estado_id = tb_estados.id_estado) ");
            //sql.Append("                            JOIN tb_paises ON (tb_estados.pais_id = tb_paises.id_pais) ");
            //sql.Append("                            JOIN tb_tipo_residencia ON (tb_endereco.tipo_residencia_fk = tb_tipo_residencia.id_tipo_res) ");
            //sql.Append("                            JOIN tb_tipo_logradouro ON (tb_endereco.tipo_logradouro_fk = tb_tipo_logradouro.id_tipo_log) ");
            //sql.Append("                            LEFT JOIN tb_cliente_cartao ON (tb_cliente_pf.id_cli_pf = tb_cliente_cartao.id_cliente) ");
            //sql.Append("                            LEFT JOIN tb_cartao_credito ON (tb_cliente_cartao.id_cartao = tb_cartao_credito.id_cc) ");
            //sql.Append("                            LEFT JOIN tb_bandeira ON (tb_cartao_credito.bandeira_cc_fk = tb_bandeira.id_bandeira) ");

            // WHERE sem efeito, usado apenas para poder diminuir o número de ifs da construção da query
            sql.Append("WHERE 1 = 1 ");

            if (cliente.ID != 0)
            {
                sql.Append("AND id_cli_pf = :1 ");
            }

            if (!String.IsNullOrEmpty(cliente.Nome))
            {
                sql.Append("AND nome_cli_pf = :2 ");
            }

            // caso precisar fazer consulta combinada para mais de um endereço
            // falta implementação e teste
            //if(cliente.Enderecos != null)
            //{
            //    List<Endereco> enderecos = cliente.Enderecos;

            //    foreach (Endereco endereco in enderecos)
            //    {
            //        if (endereco.ID != 0)
            //        {
            //            sql.Append("AND tb_endereco.id = :3 ");
            //        }

            //        if (endereco.TipoResidencia.ID != 0)
            //        {
            //            sql.Append("AND tb_tipo_residencia.id = :4 ");
            //        }

            //        if (endereco.TipoLogradouro.ID != 0)
            //        {
            //            sql.Append("AND tb_tipo_logradouro.id = :5 ");
            //        }

            //        if (!String.IsNullOrEmpty(endereco.Rua))
            //        {
            //            sql.Append("AND tb_endereco.logradouro = :6 ");
            //        }

            //        if (!String.IsNullOrEmpty(endereco.Numero))
            //        {
            //            sql.Append("AND tb_endereco.numero = :7 ");
            //        }

            //        if (!String.IsNullOrEmpty(endereco.Bairro))
            //        {
            //            sql.Append("AND tb_endereco.bairro = :8 ");
            //        }

            //        if (endereco.Cidade.ID != 0)
            //        {
            //            sql.Append("AND tb_cidades.id = :9 ");
            //        }

            //        if (endereco.Cidade.Estado.ID != 0)
            //        {
            //            sql.Append("AND tb_estados.id = :10 ");
            //        }

            //        if (endereco.Cidade.Estado.Pais.ID != 0)
            //        {
            //            sql.Append("AND tb_paises.id = :11 ");
            //        }

            //        if (!String.IsNullOrEmpty(endereco.CEP))
            //        {
            //            sql.Append("AND tb_endereco.cep = :12 ");
            //        }

            //        if (!String.IsNullOrEmpty(endereco.Observacao))
            //        {
            //            sql.Append("AND tb_endereco.observacao = :13 ");
            //        }
            //    }
            //}

            //if (cliente.Enderecos.Count > 0)
            //{
            //    if (cliente.Enderecos.ElementAt(0).ID != 0)
            //    {
            //        sql.Append("AND id_endereco = :3 ");
            //    }

            //    if (cliente.Enderecos.ElementAt(0).TipoResidencia.ID != 0)
            //    {
            //        sql.Append("AND id_tipo_res = :4 ");
            //    }

            //    if (cliente.Enderecos.ElementAt(0).TipoLogradouro.ID != 0)
            //    {
            //        sql.Append("AND id_tipo_log = :5 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.Enderecos.ElementAt(0).Rua))
            //    {
            //        sql.Append("AND log_endereco = :6 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.Enderecos.ElementAt(0).Numero))
            //    {
            //        sql.Append("AND numero_endereco = :7 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.Enderecos.ElementAt(0).Bairro))
            //    {
            //        sql.Append("AND bairro_endereco = :8 ");
            //    }

            //    if (cliente.Enderecos.ElementAt(0).Cidade.ID != 0)
            //    {
            //        sql.Append("AND id_cidade = :9 ");
            //    }

            //    if (cliente.Enderecos.ElementAt(0).Cidade.Estado.ID != 0)
            //    {
            //        sql.Append("AND id_estado = :10 ");
            //    }

            //    if (cliente.Enderecos.ElementAt(0).Cidade.Estado.Pais.ID != 0)
            //    {
            //        sql.Append("AND id_pais = :11 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.Enderecos.ElementAt(0).CEP))
            //    {
            //        sql.Append("AND cep_endereco = :12 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.Enderecos.ElementAt(0).Observacao))
            //    {
            //        sql.Append("AND observacao_endereco = :13 ");
            //    }
            //}

            if (cliente.Telefone != null)
            {
                Telefone telefone = cliente.Telefone;
                if (telefone.ID != 0)
                {
                    sql.Append("AND id_telefone = :14 ");
                }

                if (telefone.TipoTelefone.ID != 0)
                {
                    sql.Append("AND id_tipo_tel = :15 ");
                }

                if (!String.IsNullOrEmpty(telefone.DDD))
                {
                    sql.Append("AND ddd_telefone = :16 ");
                }

                if (!String.IsNullOrEmpty(telefone.NumeroTelefone))
                {
                    sql.Append("AND numero_telefone = :17 ");
                }
            }

            if (!String.IsNullOrEmpty(cliente.Email))
            {
                sql.Append("AND email_cli_pf = :18 ");
            }

            // caso precise fazer pesquisa combinada para mais de um cartão
            // falta implementação e teste
            //if (cliente.CartoesCredito != null)
            //{
            //    List<CartaoCredito> cartoes = cliente.CartoesCredito;

            //    foreach (CartaoCredito cc in cliente.CartoesCredito)
            //    {
            //        if (cc.ID != 0)
            //        {
            //            sql.Append("AND tb_cartao_credito.id = :19 ");
            //        }

            //        if (!String.IsNullOrEmpty(cc.NomeImpresso))
            //        {
            //            sql.Append("AND tb_cartao_credito.nome_impresso = :20 ");
            //        }

            //        if (!String.IsNullOrEmpty(cc.NumeroCC))
            //        {
            //            sql.Append("AND tb_cartao_credito.numero = :21 ");
            //        }

            //        if (cc.Bandeira.ID != 0)
            //        {
            //            sql.Append("AND tb_bandeira.id = :22 ");
            //        }

            //        if (!String.IsNullOrEmpty(cc.CodigoSeguranca))
            //        {
            //            sql.Append("AND tb_cartao_credito.codigo_seguranca = :23 ");
            //        }

            //        if (cc.DataVencimento != null && !cc.DataVencimento.ToString().Equals(null))
            //        {
            //            sql.Append("AND tb_cartao_credito.dt_vencimento = :24 ");
            //        }
            //    }
            //}

            //if (cliente.CartoesCredito.Count > 0)
            //{
            //    if (cliente.CartoesCredito.ElementAt(0).ID != 0)
            //    {
            //        sql.Append("AND id_cc = :19 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.CartoesCredito.ElementAt(0).NomeImpresso))
            //    {
            //        sql.Append("AND nome_impresso_cc = :20 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.CartoesCredito.ElementAt(0).NumeroCC))
            //    {
            //        sql.Append("AND numero_cc = :21 ");
            //    }

            //    if (cliente.CartoesCredito.ElementAt(0).Bandeira.ID != 0)
            //    {
            //        sql.Append("AND id_bandeira = :22 ");
            //    }

            //    if (!String.IsNullOrEmpty(cliente.CartoesCredito.ElementAt(0).CodigoSeguranca))
            //    {
            //        sql.Append("AND codigo_seguranca_cc = :23 ");
            //    }
            //}

            if (!String.IsNullOrEmpty(cliente.CPF))
            {
                sql.Append("AND cpf_cli_pf = :24 ");
            }

            if (!cliente.Genero.Equals("") && !cliente.Genero.Equals(null) && !cliente.Genero.Equals('\0') && !cliente.Genero.Equals('0'))
            {
                sql.Append("AND genero_cli_pf = :25 ");
            }

            if (cliente.DataNascimento != null && !cliente.DataNascimento.Equals(null))
            {
                sql.Append("AND dt_nascimento_cli_pf = :26 ");
            }

            if (cliente.DataCadastro != null)
            {
                sql.Append("AND dt_cadastro_cli_pf = :27 ");
            }

            //sql.Append("ORDER BY id_cli_pf, tb_endereco.id_endereco, tb_cartao_credito.id_cc ");
            sql.Append("ORDER BY id_cli_pf ");

            pst.CommandText = sql.ToString();
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", cliente.ID),
                new NpgsqlParameter("2", cliente.Nome),
                new NpgsqlParameter("14", cliente.Telefone.ID),
                new NpgsqlParameter("15", cliente.Telefone.TipoTelefone.ID),
                new NpgsqlParameter("16", cliente.Telefone.DDD),
                new NpgsqlParameter("17", cliente.Telefone.NumeroTelefone),
                new NpgsqlParameter("18", cliente.Email),
                new NpgsqlParameter("24", cliente.CPF),
                new NpgsqlParameter("25", cliente.Genero)
            };

            //if (cliente.Enderecos.Count > 0)
            //{
            //    NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
            //       {
            //        new NpgsqlParameter("3", cliente.Enderecos.ElementAt(0).ID),
            //        new NpgsqlParameter("4", cliente.Enderecos.ElementAt(0).TipoResidencia.ID),
            //        new NpgsqlParameter("5", cliente.Enderecos.ElementAt(0).TipoLogradouro.ID),
            //        new NpgsqlParameter("6", cliente.Enderecos.ElementAt(0).Rua),
            //        new NpgsqlParameter("7", cliente.Enderecos.ElementAt(0).Numero),
            //        new NpgsqlParameter("8", cliente.Enderecos.ElementAt(0).Bairro),
            //        new NpgsqlParameter("9", cliente.Enderecos.ElementAt(0).Cidade.ID),
            //        new NpgsqlParameter("10", cliente.Enderecos.ElementAt(0).Cidade.Estado.ID),
            //        new NpgsqlParameter("11", cliente.Enderecos.ElementAt(0).Cidade.Estado.Pais.ID),
            //        new NpgsqlParameter("12", cliente.Enderecos.ElementAt(0).CEP),
            //        new NpgsqlParameter("13", cliente.Enderecos.ElementAt(0).Observacao)
            //       };

            //    parameters.Concat(parametersAux);
            //}

            //if (cliente.CartoesCredito.Count > 0)
            //{
            //    NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
            //       {
            //        new NpgsqlParameter("19", cliente.CartoesCredito.ElementAt(0).ID),
            //        new NpgsqlParameter("20", cliente.CartoesCredito.ElementAt(0).NomeImpresso),
            //        new NpgsqlParameter("21", cliente.CartoesCredito.ElementAt(0).NumeroCC),
            //        new NpgsqlParameter("22", cliente.CartoesCredito.ElementAt(0).Bandeira.ID),
            //        new NpgsqlParameter("23", cliente.CartoesCredito.ElementAt(0).CodigoSeguranca)
            //       };

            //    parameters.Concat(parametersAux);
            //}

            if (cliente.DataNascimento != null)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("26", cliente.DataNascimento)
                };

                parameters.Concat(parametersAux);
            }

            if (cliente.DataCadastro != null)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("27", cliente.DataCadastro)
                };

                parameters.Concat(parametersAux);
            }

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;

            reader = pst.ExecuteReader();

            // Lista de retorno da consulta do banco de dados, que conterá os clientes encontrados
            List <EntidadeDominio> clientes = new List <EntidadeDominio>();

            ClientePF clienteAux = new ClientePF();

            clienteAux.ID = 0;

            Endereco      endereco = new Endereco();
            CartaoCredito cc       = new CartaoCredito();

            Endereco      enderecoAux = new Endereco();
            CartaoCredito ccAux       = new CartaoCredito();

            cliente = new ClientePF();

            while (reader.Read())
            {
                // verifica se cliente que está trazendo do BD é igual ao anterior
                if (Convert.ToInt32(reader["id_cli_pf"]) != clienteAux.ID)
                {
                    cliente    = new ClientePF();
                    cliente.ID = Convert.ToInt32(reader["id_cli_pf"]);

                    // passando id do cliente que está vindo para o auxiliar
                    clienteAux.ID = cliente.ID;

                    cliente.Nome = reader["nome_cli_pf"].ToString();

                    ////// -------------------- ENDEREÇO - COMEÇO ----------------------------------
                    ////ClientePFXEnderecoDAO clientePFXEnderecoDAO = new ClientePFXEnderecoDAO();
                    ////List<EntidadeDominio> entidades = clientePFXEnderecoDAO.Consultar(cliente);
                    ////foreach (EntidadeDominio endereco in entidades)
                    ////    //foreach (Endereco endereco in new ClientePFXEnderecoDAO(connection, ctrlTransaction).Consultar(cliente))
                    ////{
                    ////    cliente.Enderecos.Add((Endereco)endereco);
                    ////}
                    //endereco = new Endereco();

                    //endereco.ID = Convert.ToInt32(reader["id_endereco"]);
                    //endereco.Nome = reader["nome_endereco"].ToString();
                    //endereco.Destinatario = reader["destinatario_endereco"].ToString();
                    //endereco.TipoResidencia.ID = Convert.ToInt32(reader["id_tipo_res"]);
                    //endereco.TipoResidencia.Nome = reader["nome_tipo_res"].ToString();
                    //endereco.TipoLogradouro.ID = Convert.ToInt32(reader["id_tipo_log"]);
                    //endereco.TipoLogradouro.Nome = reader["nome_tipo_log"].ToString();
                    //endereco.Rua = reader["log_endereco"].ToString();
                    //endereco.Numero = reader["numero_endereco"].ToString();
                    //endereco.Bairro = reader["bairro_endereco"].ToString();
                    //endereco.Cidade.ID = Convert.ToInt32(reader["id_cidade"].ToString());
                    //endereco.Cidade.Nome = reader["nome_cidade"].ToString();
                    //endereco.Cidade.Estado.ID = Convert.ToInt32(reader["id_estado"].ToString());
                    //endereco.Cidade.Estado.Nome = reader["nome_estado"].ToString();
                    //endereco.Cidade.Estado.Sigla = reader["sigla_estado"].ToString();
                    //endereco.Cidade.Estado.Pais.ID = Convert.ToInt32(reader["id_pais"].ToString());
                    //endereco.Cidade.Estado.Pais.Nome = reader["nome_pais"].ToString();
                    //endereco.Cidade.Estado.Pais.Sigla = reader["sigla_pais"].ToString();
                    //endereco.CEP = reader["cep_endereco"].ToString();
                    //endereco.Observacao = reader["observacao_endereco"].ToString();

                    //cliente.Enderecos.Add(endereco);
                    //enderecoAux.ID = endereco.ID;
                    ////// -------------------- ENDEREÇO - FIM ----------------------------------

                    // -------------------- TELEFONE - COMEÇO ----------------------------------
                    cliente.Telefone.ID = Convert.ToInt32(reader["id_telefone"]);
                    cliente.Telefone.TipoTelefone.ID   = Convert.ToInt32(reader["id_tipo_tel"]);
                    cliente.Telefone.TipoTelefone.Nome = reader["nome_tipo_tel"].ToString();
                    cliente.Telefone.DDD            = reader["ddd_telefone"].ToString();
                    cliente.Telefone.NumeroTelefone = reader["numero_telefone"].ToString();
                    // -------------------- TELEFONE - FIM ----------------------------------

                    //// -------------------- CARTÃO CRÉDITO - COMEÇO ----------------------------------
                    ////ClientePFXCartaoDAO clientePFXCartaoDAO = new ClientePFXCartaoDAO(connection, ctrlTransaction);
                    //////foreach (Endereco endereco in clientePFXCartaoDAO.Consultar(cliente))
                    ////// testar
                    ////foreach (CartaoCredito cc in new ClientePFXCartaoDAO(connection, ctrlTransaction).Consultar(cliente))
                    ////{
                    ////    cliente.CartoesCredito.Add(cc);
                    ////}

                    //cc = new CartaoCredito();
                    //if (!DBNull.Value.Equals(reader["id_cc"]))
                    //{
                    //    cc.ID = Convert.ToInt32(reader["id_cc"]);
                    //    cc.ID = Convert.ToInt32(reader["id_cc"]);
                    //    cc.NomeImpresso = reader["nome_impresso_cc"].ToString();
                    //    cc.NumeroCC = reader["numero_cc"].ToString();
                    //    cc.Bandeira.ID = Convert.ToInt32(reader["id_bandeira"]);
                    //    cc.Bandeira.Nome = reader["nome_bandeira"].ToString();
                    //    cc.CodigoSeguranca = reader["codigo_seguranca_cc"].ToString();
                    //}

                    //cliente.CartoesCredito.Add(cc);

                    //ccAux.ID = cc.ID;
                    //// -------------------- CARTÃO CRÉDITO - FIM ----------------------------------

                    cliente.Email          = reader["email_cli_pf"].ToString();
                    cliente.CPF            = reader["cpf_cli_pf"].ToString();
                    cliente.Genero         = reader["genero_cli_pf"].ToString().First();
                    cliente.DataNascimento = Convert.ToDateTime(reader["dt_nascimento_cli_pf"].ToString());
                    cliente.DataCadastro   = Convert.ToDateTime(reader["dt_cadastro_cli_pf"].ToString());
                }
                //else
                //{
                ////// -------------------- ENDEREÇO - COMEÇO ----------------------------------
                ////ClientePFXEnderecoDAO clientePFXEnderecoDAO = new ClientePFXEnderecoDAO();
                ////List<EntidadeDominio> entidades = clientePFXEnderecoDAO.Consultar(cliente);
                ////foreach (EntidadeDominio endereco in entidades)
                ////    //foreach (Endereco endereco in new ClientePFXEnderecoDAO(connection, ctrlTransaction).Consultar(cliente))
                ////{
                ////    cliente.Enderecos.Add((Endereco)endereco);
                ////}

                //endereco = new Endereco();

                //endereco.ID = Convert.ToInt32(reader["id_endereco"]);
                //if (enderecoAux.ID != endereco.ID)
                //{
                //    endereco.Nome = reader["nome_endereco"].ToString();
                //    endereco.Destinatario = reader["destinatario_endereco"].ToString();
                //    endereco.TipoResidencia.ID = Convert.ToInt32(reader["id_tipo_res"]);
                //    endereco.TipoResidencia.Nome = reader["nome_tipo_res"].ToString();
                //    endereco.TipoLogradouro.ID = Convert.ToInt32(reader["id_tipo_log"]);
                //    endereco.TipoLogradouro.Nome = reader["nome_tipo_log"].ToString();
                //    endereco.Rua = reader["log_endereco"].ToString();
                //    endereco.Numero = reader["numero_endereco"].ToString();
                //    endereco.Bairro = reader["bairro_endereco"].ToString();
                //    endereco.Cidade.ID = Convert.ToInt32(reader["id_cidade"].ToString());
                //    endereco.Cidade.Nome = reader["nome_cidade"].ToString();
                //    endereco.Cidade.Estado.ID = Convert.ToInt32(reader["id_estado"].ToString());
                //    endereco.Cidade.Estado.Nome = reader["nome_estado"].ToString();
                //    endereco.Cidade.Estado.Sigla = reader["sigla_estado"].ToString();
                //    endereco.Cidade.Estado.Pais.ID = Convert.ToInt32(reader["id_pais"].ToString());
                //    endereco.Cidade.Estado.Pais.Nome = reader["nome_pais"].ToString();
                //    endereco.Cidade.Estado.Pais.Sigla = reader["sigla_pais"].ToString();
                //    endereco.CEP = reader["cep_endereco"].ToString();
                //    endereco.Observacao = reader["observacao_endereco"].ToString();

                //    cliente.Enderecos.Add(endereco);

                //    enderecoAux.ID = endereco.ID;
                //}
                ////// -------------------- ENDEREÇO - FIM ----------------------------------

                //// -------------------- CARTÃO CRÉDITO - COMEÇO ----------------------------------
                ////ClientePFXCartaoDAO clientePFXCartaoDAO = new ClientePFXCartaoDAO(connection, ctrlTransaction);
                //////foreach (Endereco endereco in clientePFXCartaoDAO.Consultar(cliente))
                ////// testar
                ////foreach (CartaoCredito cc in new ClientePFXCartaoDAO(connection, ctrlTransaction).Consultar(cliente))
                ////{
                ////    cliente.CartoesCredito.Add(cc);
                ////}

                //cc = new CartaoCredito();
                //if (!DBNull.Value.Equals(reader["id_cc"]))
                //{
                //    cc.ID = Convert.ToInt32(reader["id_cc"]);
                //    if (ccAux.ID != cc.ID)
                //    {
                //        cc.NomeImpresso = reader["nome_impresso_cc"].ToString();
                //        cc.NumeroCC = reader["numero_cc"].ToString();
                //        cc.Bandeira.ID = Convert.ToInt32(reader["id_bandeira"]);
                //        cc.Bandeira.Nome = reader["nome_bandeira"].ToString();
                //        cc.CodigoSeguranca = reader["codigo_seguranca_cc"].ToString();

                //        cliente.CartoesCredito.Add(cc);

                //        ccAux.ID = cc.ID;
                //    }
                //}

                //// -------------------- CARTÃO CRÉDITO - FIM ----------------------------------
                //}

                //// verifica se cliente.ID é maior que clienteAux.ID e não é a primeira interação (clienteAux.ID > 0)
                //if (Convert.ToInt32(reader["id_cli_pf"]) > clienteAux.ID && clienteAux.ID > 0)
                //{
                //    clientes.Add(cliente);
                //}
                clientes.Add(cliente);
            }
            connection.Close();
            return(clientes);
        }
Exemple #3
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Estoque       estoque = (Estoque)entidade;
            StringBuilder sql     = new StringBuilder();

            sql.Append("SELECT * FROM tb_estoque_livro ");
            sql.Append("RIGHT JOIN tb_livro ON (tb_livro.id_livro = tb_estoque_livro.id_estoque_livro) ");
            sql.Append("LEFT JOIN tb_fornecedor ON (tb_fornecedor.id_fornecedor = tb_estoque_livro.fornecedor_livro_fk) ");
            sql.Append("LEFT JOIN tb_cidades ON (tb_fornecedor.cidade_fk = tb_cidades.id_cidade) ");
            sql.Append("JOIN tb_cat_motivo ON (tb_cat_motivo.id_cat_motivo = tb_livro.categoria_motivo_fk) ");

            // WHERE sem efeito, usado apenas para poder diminuir o número de ifs da construção da query
            sql.Append("WHERE 1 = 1 ");

            if (estoque.Livro.ID != 0)
            {
                sql.Append("AND id_estoque_livro = :1 ");
            }

            if (estoque.Qtde != 0)
            {
                sql.Append("AND quantidade_livro = :2 ");
            }

            if (estoque.ValorCusto != 0.0)
            {
                sql.Append("AND custo_unid = :3 ");
            }

            if (estoque.ValorVenda != 0.0)
            {
                sql.Append("AND valor_unid = :4 ");
            }

            if (estoque.Fornecedor.ID != 0)
            {
                sql.Append("AND fornecedor_livro_fk = :5 ");
            }

            if (estoque.DataCadastro != null)
            {
                sql.Append("AND dt_entrada_estoque = :6 ");
            }

            if (estoque.Livro.CategoriaMotivo.ID != 0)
            {
                sql.Append("AND id_cat_motivo = :7 ");
            }

            if (estoque.Livro.CategoriaMotivo.Ativo != 'Z')
            {
                sql.Append("AND ativo = :8 ");
            }

            sql.Append("ORDER BY tb_livro.id_livro ");

            pst.CommandText = sql.ToString();
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", estoque.Livro.ID),
                new NpgsqlParameter("2", estoque.Qtde),
                new NpgsqlParameter("3", estoque.ValorCusto),
                new NpgsqlParameter("4", estoque.ValorVenda),
                new NpgsqlParameter("5", estoque.Fornecedor.ID),
                new NpgsqlParameter("7", estoque.Livro.CategoriaMotivo.ID),
                new NpgsqlParameter("8", estoque.Livro.CategoriaMotivo.Ativo)
            };

            if (estoque.DataCadastro != null)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("6", estoque.DataCadastro)
                };

                parameters.Concat(parametersAux);
            }

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;

            reader = pst.ExecuteReader();

            // Lista de retorno da consulta do banco de dados, que conterá os endereços encontrados
            List <EntidadeDominio> estoques = new List <EntidadeDominio>();

            while (reader.Read())
            {
                estoque              = new Estoque();
                estoque.Livro.ID     = Convert.ToInt32(reader["id_livro"]);
                estoque.Livro.Titulo = reader["titulo_livro"].ToString();

                if (!DBNull.Value.Equals(reader["quantidade_livro"]))
                {
                    estoque.Qtde = Convert.ToInt32(reader["quantidade_livro"].ToString());
                }

                if (!DBNull.Value.Equals(reader["custo_unid"]))
                {
                    estoque.ValorCusto = Convert.ToSingle(reader["custo_unid"]);
                }

                if (!DBNull.Value.Equals(reader["valor_unid"]))
                {
                    estoque.ValorVenda = Convert.ToSingle(reader["valor_unid"]);
                }

                if (!DBNull.Value.Equals(reader["id_fornecedor"]))
                {
                    estoque.Fornecedor.ID = Convert.ToInt32(reader["id_fornecedor"]);
                }

                if (!DBNull.Value.Equals(reader["nome_fornecedor"]))
                {
                    estoque.Fornecedor.Nome = reader["nome_fornecedor"].ToString();
                }

                if (!DBNull.Value.Equals(reader["id_cidade"]))
                {
                    estoque.Fornecedor.Cidade.ID = Convert.ToInt32(reader["id_cidade"]);
                }

                if (!DBNull.Value.Equals(reader["nome_cidade"]))
                {
                    estoque.Fornecedor.Cidade.Nome = reader["nome_cidade"].ToString();
                }

                if (!DBNull.Value.Equals(reader["dt_entrada_estoque"]))
                {
                    estoque.DataCadastro = Convert.ToDateTime(reader["dt_entrada_estoque"].ToString());
                }

                estoque.Livro.CategoriaMotivo.ID        = Convert.ToInt32(reader["id_cat_motivo"]);
                estoque.Livro.CategoriaMotivo.Ativo     = reader["ativo"].ToString().First();
                estoque.Livro.CategoriaMotivo.Nome      = reader["nome_cat_motivo"].ToString();
                estoque.Livro.CategoriaMotivo.Descricao = reader["descricao_cat_motivo"].ToString();

                estoques.Add(estoque);
            }
            connection.Close();
            return(estoques);
        }
Exemple #4
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Analise       analise = (Analise)entidade;
            StringBuilder sql     = new StringBuilder();

            sql.Append("SELECT * FROM tb_pedido JOIN tb_status_pedido ON (tb_pedido.status_pedido_fk = tb_status_pedido.id_status_pedido) ");

            // WHERE sem efeito, usado apenas para poder diminuir o número de ifs da construção da query
            sql.Append("WHERE 1 = 1 ");

            if (analise.DataCadastro != null)
            {
                sql.Append("AND dt_cadastro_pedido >= DATE('");
                sql.Append(analise.DataCadastro);
                sql.Append("') ");
            }

            if (analise.DataFim != null)
            {
                sql.Append("AND dt_cadastro_pedido <= DATE('");
                sql.Append(analise.DataFim);
                sql.Append("') ");
            }

            sql.Append("ORDER BY tb_pedido.dt_cadastro_pedido ");

            pst.CommandText = sql.ToString();
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("0", analise.ID)
            };

            if (analise.DataCadastro != null)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("1", analise.DataCadastro)
                };
                parameters.Concat(parametersAux);
            }

            if (analise.DataFim != null)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("2", analise.DataFim)
                };

                parameters.Concat(parametersAux);
            }

            pst.Parameters.Clear();
            if (parameters != null)
            {
                pst.Parameters.AddRange(parameters);
            }
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;

            reader = pst.ExecuteReader();

            // Lista de retorno da consulta do banco de dados, que conterá os pedidos encontrados
            List <EntidadeDominio> pedidos = new List <EntidadeDominio>();

            while (reader.Read())
            {
                Pedido pedido = new Pedido();
                pedido.ID      = Convert.ToInt32(reader["id_pedido"]);
                pedido.Usuario = reader["username"].ToString();
                pedido.Total   = Convert.ToSingle(reader["total_pedido"]);

                pedido.Status.ID   = Convert.ToInt32(reader["id_status_pedido"]);
                pedido.Status.Nome = reader["nome_status_pedido"].ToString();

                pedido.EnderecoEntrega.ID = Convert.ToInt32(reader["end_entrega_fk"]);

                pedido.Frete = Convert.ToSingle(reader["frete"]);

                pedido.DataCadastro = Convert.ToDateTime(reader["dt_cadastro_pedido"].ToString());

                pedidos.Add(pedido);
            }
            connection.Close();
            return(pedidos);
        }
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Pedido        pedido = (Pedido)entidade;
            StringBuilder sql    = new StringBuilder();

            sql.Append("SELECT * FROM tb_pedido JOIN tb_status_pedido ON (tb_pedido.status_pedido_fk = tb_status_pedido.id_status_pedido) ");

            // WHERE sem efeito, usado apenas para poder diminuir o número de ifs da construção da query
            sql.Append("WHERE 1 = 1 ");

            if (pedido.ID != 0)
            {
                sql.Append("AND id_pedido = :1 ");
            }

            if (!String.IsNullOrEmpty(pedido.Usuario))
            {
                sql.Append("AND username = :2 ");
            }

            if (pedido.Total != 0.0)
            {
                sql.Append("AND total_pedido = :3 ");
            }

            if (pedido.Status.ID != 0)
            {
                sql.Append("AND status_pedido_fk = :4 ");
            }

            if (pedido.EnderecoEntrega.ID != 0)
            {
                sql.Append("AND end_entrega_fk = :5 ");
            }

            if (pedido.Frete != 0.0)
            {
                sql.Append("AND frete = :6 ");
            }

            if (pedido.DataCadastro != null)
            {
                sql.Append("AND dt_cadastro_pedido = :7 ");
            }

            sql.Append("ORDER BY tb_pedido.id_pedido,tb_pedido.status_pedido_fk ");

            pst.CommandText = sql.ToString();
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", pedido.ID),
                new NpgsqlParameter("2", pedido.Usuario),
                new NpgsqlParameter("3", pedido.Total),
                new NpgsqlParameter("4", pedido.Status.ID),
                new NpgsqlParameter("5", pedido.EnderecoEntrega.ID),
                new NpgsqlParameter("6", pedido.Frete)
            };

            if (pedido.DataCadastro != null)
            {
                NpgsqlParameter[] parametersAux = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("7", pedido.DataCadastro)
                };

                parameters.Concat(parametersAux);
            }

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;

            reader = pst.ExecuteReader();

            // Lista de retorno da consulta do banco de dados, que conterá os cartões do cliente encontrados
            List <EntidadeDominio> pedidos = new List <EntidadeDominio>();

            while (reader.Read())
            {
                pedido         = new Pedido();
                pedido.ID      = Convert.ToInt32(reader["id_pedido"]);
                pedido.Usuario = reader["username"].ToString();
                pedido.Total   = Convert.ToSingle(reader["total_pedido"]);

                pedido.Status.ID   = Convert.ToInt32(reader["id_status_pedido"]);
                pedido.Status.Nome = reader["nome_status_pedido"].ToString();

                pedido.EnderecoEntrega.ID = Convert.ToInt32(reader["end_entrega_fk"]);

                pedido.Frete = Convert.ToSingle(reader["frete"]);

                pedido.DataCadastro = Convert.ToDateTime(reader["dt_cadastro_pedido"].ToString());

                pedidos.Add(pedido);
            }
            connection.Close();
            return(pedidos);
        }