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; }
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); }
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"); // } //} } }
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); }