public override void Salvar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            ClientePFXEndereco clientePFXEndereco = (ClientePFXEndereco)entidade;

            // construtor já passando conexão de cliente para cartao
            EnderecoDAO enderecoDAO = new EnderecoDAO(connection, false);

            enderecoDAO.Salvar(clientePFXEndereco.Endereco);

            pst.CommandText = "INSERT INTO tb_cliente_endereco(id_cliente, id_endereco) VALUES (:1, :2); ";
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", clientePFXEndereco.ID),
                new NpgsqlParameter("2", clientePFXEndereco.Endereco.ID)
            };

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

            if (ctrlTransaction == true)
            {
                pst.CommandText = "COMMIT WORK";
                connection.Close();
            }

            return;
        }
Beispiel #2
0
        public string processar(EntidadeDominio entidade)
        {
            StringBuilder sb = new StringBuilder();

            if (entidade.GetType() == typeof(ClientePFXEndereco))
            {
                ClientePFXEndereco clientePFXEndereco = (ClientePFXEndereco)entidade;

                // verifica se cliente foi selecionado
                if (clientePFXEndereco.ID == 0)
                {
                    sb.Append("ID CLIENTE INFORMADO INCORRETO! <br />");
                }

                // verifica se cc está vazio ou nulo
                if (clientePFXEndereco.Endereco == null)
                {
                    sb.Append("ENDEREÇO É UM CAMPO OBRIGATÓRIO! <br />");
                }
                else
                {
                    ValidadorEndereco valEndereco = new ValidadorEndereco();
                    String            msg         = valEndereco.processar(clientePFXEndereco.Endereco);
                    if (msg != null)
                    {
                        sb.Append(msg);
                    }
                }
            }
            else
            {
                sb.Append("CLIENTE PESSOA FÍSICA X ENDEREÇO NÃO PODE SER VALIDADA, POIS ENTIDADE NÃO É CLIENTE PESSOA FÍSICA X ENDEREÇO! <br />");
            }

            if (sb.Length != 0)
            {
                return(sb.ToString());
            }

            return(null);
        }
Beispiel #3
0
        protected override void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                dropIdGenero.DataSource     = GeneroDatatable();
                dropIdGenero.DataValueField = "ID";
                dropIdGenero.DataTextField  = "Name";
                dropIdGenero.DataBind();

                dropIdTipoTelefone.DataSource     = TipoTelefoneDatatable(commands["CONSULTAR"].execute(new TipoTelefone()).Entidades.Cast <TipoTelefone>().ToList());
                dropIdTipoTelefone.DataValueField = "ID";
                dropIdTipoTelefone.DataTextField  = "Name";
                dropIdTipoTelefone.DataBind();

                dropIdTipoResidencia.DataSource     = TipoResidenciaDatatable(commands["CONSULTAR"].execute(new TipoResidencia()).Entidades.Cast <TipoResidencia>().ToList());
                dropIdTipoResidencia.DataValueField = "ID";
                dropIdTipoResidencia.DataTextField  = "Name";
                dropIdTipoResidencia.DataBind();

                dropIdTipoLogradouro.DataSource     = TipoLogradouroDatatable(commands["CONSULTAR"].execute(new TipoLogradouro()).Entidades.Cast <TipoLogradouro>().ToList());
                dropIdTipoLogradouro.DataValueField = "ID";
                dropIdTipoLogradouro.DataTextField  = "Name";
                dropIdTipoLogradouro.DataBind();

                dropIdPais.DataSource     = PaisDatatable(commands["CONSULTAR"].execute(new Pais()).Entidades.Cast <Pais>().ToList());
                dropIdPais.DataValueField = "ID";
                dropIdPais.DataTextField  = "Name";
                dropIdPais.DataBind();

                dropIdEstado.DataSource     = EstadoDatatable(commands["CONSULTAR"].execute(new Estado()).Entidades.Cast <Estado>().ToList());
                dropIdEstado.DataValueField = "ID";
                dropIdEstado.DataTextField  = "Name";
                dropIdEstado.DataBind();

                dropIdCidade.DataSource     = CidadeDatatable(commands["CONSULTAR"].execute(new Cidade()).Entidades.Cast <Cidade>().ToList());
                dropIdCidade.DataValueField = "ID";
                dropIdCidade.DataTextField  = "Name";
                dropIdCidade.DataBind();

                cliente.Email = Context.User.Identity.GetUserName();

                cliente = commands["CONSULTAR"].execute(cliente).Entidades.Cast <ClientePF>().ElementAt(0);

                txtIdClientePF.Text = cliente.ID.ToString();

                //int i = cliente.Nome.LastIndexOf(" ");
                // ------------------------ Dados Pessoais - COMEÇO ------------------------------
                txtNome.Text         = cliente.Nome.Substring(0, cliente.Nome.LastIndexOf(" "));
                txtSobrenome.Text    = cliente.Nome.Substring(cliente.Nome.LastIndexOf(" ") + 1);
                txtCPF.Text          = cliente.CPF;
                txtDtNascimento.Text = cliente.DataNascimento.ToString().Substring(6, 4) + "-" +
                                       cliente.DataNascimento.ToString().Substring(3, 2) + "-" +
                                       cliente.DataNascimento.ToString().Substring(0, 2);

                dropIdGenero.SelectedValue = cliente.Genero.ToString();
                // ------------------------ Dados Pessoais - FIM ------------------------------

                // ------------------------ Dados Contato - COMEÇO ------------------------------
                txtEmail.Text = cliente.Email;

                txtIdTelefone.Text = cliente.Telefone.ID.ToString();
                dropIdTipoTelefone.SelectedValue = cliente.Telefone.TipoTelefone.ID.ToString();
                txtDDD.Text      = cliente.Telefone.DDD;
                txtTelefone.Text = cliente.Telefone.NumeroTelefone;
                // ------------------------ Dados Contato - FIM ------------------------------

                // ------------------------ Dados Endereço - COMEÇO ------------------------------
                // Na alteração só altera os dados cadastrais ORIGINAIS,
                // os outros endereços serão alterados de forma diferente
                ClientePFXEndereco clientePFXEndereco = commands["CONSULTAR"].execute(new ClientePFXEndereco()
                {
                    ID = cliente.ID
                }).Entidades.Cast <ClientePFXEndereco>().ElementAt(0);

                cliente.Enderecos.Add(clientePFXEndereco.Endereco);

                txtIdEndereco.Text = cliente.Enderecos.First().ID.ToString();

                txtNomeEndereco.Text               = cliente.Enderecos.First().Nome;
                txtNomeDestinatario.Text           = cliente.Enderecos.First().Destinatario;
                dropIdTipoResidencia.SelectedValue = cliente.Enderecos.First().TipoResidencia.ID.ToString();
                dropIdTipoLogradouro.SelectedValue = cliente.Enderecos.First().TipoLogradouro.ID.ToString();
                txtRua.Text                = cliente.Enderecos.First().Rua;
                txtNumero.Text             = cliente.Enderecos.First().Numero;
                txtBairro.Text             = cliente.Enderecos.First().Bairro;
                txtCEP.Text                = cliente.Enderecos.First().CEP;
                txtObservacao.Text         = cliente.Enderecos.First().Observacao;
                dropIdPais.SelectedValue   = cliente.Enderecos.First().Cidade.Estado.Pais.ID.ToString();
                dropIdEstado.SelectedValue = cliente.Enderecos.First().Cidade.Estado.ID.ToString();
                dropIdEstado.Enabled       = true;
                dropIdCidade.SelectedValue = cliente.Enderecos.First().Cidade.ID.ToString();
                dropIdCidade.Enabled       = true;
                // ------------------------ Dados Endereço - FIM ------------------------------

                // if (!string.IsNullOrEmpty(Request.QueryString["delIdClientePF"]))
                //{
                //    cliente.ID = Convert.ToInt32(Request.QueryString["delIdClientePF"]);
                //    resultado = commands["EXCLUIR"].execute(cliente);

                //    // verifica se deu erro de validação
                //    if (!string.IsNullOrEmpty(resultado.Msg))
                //    {
                //        lblResultado.Visible = true;
                //        lblResultado.Text = resultado.Msg;
                //    }
                //    // caso tudo OK delera e redireciona o usuário para ListaClientes.aspx
                //    else
                //    {
                //        Response.Redirect("./ListaCliente.aspx");
                //    }
                //}
            }
        }
Beispiel #4
0
        public override void Salvar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            ClientePF cliente = (ClientePF)entidade;

            // construtor já passando conexão de ClientePFDAO para EnderecoDAO
            EnderecoDAO enderecoDAO = new EnderecoDAO(connection, false);

            foreach (Endereco endereco in cliente.Enderecos)
            {
                enderecoDAO.Salvar(endereco);
            }

            // construtor já passando conexão de ClientePFDAO para CartaoCreditoDAO
            // Cartão de cliente será efetuado com outra abordagem, apenas para compra será obrigatório informar um cc
            // para apenas o cadastro não será obrigatório
            //CartaoCreditoDAO ccDAO = new CartaoCreditoDAO(connection, false);
            //foreach (CartaoCredito cc in cliente.CartoesCredito)
            //{
            //    ccDAO.Salvar(cc);
            //}

            // construtor já passando conexão de cliente para telefone
            TelefoneDAO telefoneDAO = new TelefoneDAO(connection, false);

            telefoneDAO.Salvar(cliente.Telefone);

            pst.CommandText = "INSERT INTO tb_cliente_pf (nome_cli_pf, telefone_cli_fk, email_cli_pf, cpf_cli_pf, genero_cli_pf, dt_nascimento_cli_pf, dt_cadastro_cli_pf) VALUES (:1, :2, :3, :4, :5, :6, :7) RETURNING id_cli_pf ";
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", cliente.Nome),
                new NpgsqlParameter("2", cliente.Telefone.ID),
                new NpgsqlParameter("3", cliente.Email),
                new NpgsqlParameter("4", cliente.CPF),
                new NpgsqlParameter("5", cliente.Genero),
                new NpgsqlParameter("6", cliente.DataNascimento),
                new NpgsqlParameter("7", cliente.DataCadastro)
            };

            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;
            cliente.ID      = entidade.ID = (int)pst.ExecuteScalar();
            // já executa o comando na linha anterior
            //pst.ExecuteNonQuery();

            // construtor para salvar o relacionamento n x n de cliente e endereço
            ClientePFXEnderecoDAO clienteXEnderecoDAO = new ClientePFXEnderecoDAO(connection, false);
            ClientePFXEndereco    clientePFXEndereco  = new ClientePFXEndereco();

            clientePFXEndereco.ID       = cliente.ID;
            clientePFXEndereco.Endereco = cliente.Enderecos.First();
            clienteXEnderecoDAO.Salvar(clientePFXEndereco);

            // construtor para salvar o relacionamento n x n de cliente e cartão
            // Cartão de cliente será efetuado com outra abordagem, apenas para compra será obrigatório informar um cc
            // para apenas o cadastro não será obrigatório
            //ClientePFXCartaoDAO clienteXccDAO = new ClientePFXCartaoDAO(connection, false);
            //clienteXccDAO.Salvar(cliente);

            pst.CommandText = "COMMIT WORK";
            connection.Close();
            return;
        }
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            ClientePFXEndereco clientePFXEndereco = (ClientePFXEndereco)entidade;
            StringBuilder      sql = new StringBuilder();

            sql.Append("SELECT * FROM tb_cliente_endereco 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) ");

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

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

            if (clientePFXEndereco.Endereco != null)
            {
                if (clientePFXEndereco.Endereco.ID != 0)
                {
                    sql.Append(" AND id_endereco = :2 ");
                }
            }

            sql.Append("ORDER BY tb_cliente_endereco.id_cliente, tb_cliente_endereco.id_endereco ");

            pst.CommandText = sql.ToString();
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("1", clientePFXEndereco.ID),
                new NpgsqlParameter("2", clientePFXEndereco.Endereco.ID)
            };

            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 do cliente encontrados
            List <EntidadeDominio> clientePFXEnderecos = new List <EntidadeDominio>();

            while (reader.Read())
            {
                clientePFXEndereco = new ClientePFXEndereco();

                clientePFXEndereco.ID = Convert.ToInt32(reader["id_cliente"]);

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

                clientePFXEnderecos.Add(clientePFXEndereco);
            }
            connection.Close();
            return(clientePFXEnderecos);
        }