コード例 #1
0
        public void AtualizarTelefones(ClienteCorrecaoDTO cliente)
        {
            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con.Conectar();

                cmd.CommandText = @"DELETE FROM Telefone WHERE id_cliente = @idCliente AND id_telefone NOT IN (@idsTelefones)";

                cmd.Parameters.AddWithValue("@idCliente", cliente.IdCliente);

                var idsTelefones = new List <int>();
                foreach (var telefone in cliente.NumeroTelefone)
                {
                    idsTelefones.Add(telefone.IdTelefone);
                }
                cmd.AddArrayParameters("@idsTelefones", idsTelefones);

                cmd.ExecuteNonQuery();

                con.Desconectar();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #2
0
        public void CorrigirCliente(ClienteCorrecaoDTO cliente)
        {
            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con.Conectar();

                cmd.CommandText = "EXEC AtualizarCliente @idCliente, @nome, @cpf, @rg, @dataNascimento, @email";
                cmd.Parameters.AddWithValue("@idCliente", cliente.IdCliente);
                cmd.Parameters.AddWithValue("@nome", cliente.Nome);
                cmd.Parameters.AddWithValue("@cpf", cliente.Cpf);
                cmd.Parameters.AddWithValue("@rg", cliente.Rg);
                cmd.Parameters.AddWithValue("@dataNascimento", cliente.DataNascimento);
                cmd.Parameters.AddWithValue("@email", cliente.Email);
                cmd.ExecuteNonQuery();

                foreach (var telefone in cliente.NumeroTelefone)
                {
                    cmd.Parameters.Clear();

                    cmd.CommandText = "EXEC AtualizarTelefone @idTelefone, @numeroTelefone, @idCliente";

                    cmd.Parameters.AddWithValue("@idTelefone", telefone.IdTelefone);
                    cmd.Parameters.AddWithValue("@numeroTelefone", telefone.NumeroTelefone);
                    cmd.Parameters.AddWithValue("@idCliente", cliente.IdCliente);

                    cmd.ExecuteNonQuery();
                }

                cmd.CommandText = "EXEC AtualizarEndereco @idEndereco, @cep, @rua, @numero, @complemento, @bairro, @idCliente, @idCidade";
                cmd.Parameters.AddWithValue("@idEndereco", cliente.IdEndereco);
                if (cliente.Cep == null)
                {
                    cmd.Parameters.AddWithValue("@cep", DBNull.Value);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@cep", cliente.Cep);
                }
                cmd.Parameters.AddWithValue("@rua", cliente.Rua);
                cmd.Parameters.AddWithValue("@numero", cliente.Numero);
                if (cliente.Complemento == null)
                {
                    cmd.Parameters.AddWithValue("@complemento", DBNull.Value);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@complemento", cliente.Complemento);
                }
                cmd.Parameters.AddWithValue("@bairro", cliente.Bairro);
                cmd.Parameters.AddWithValue("@idCidade", cliente.IdCidade);
                cmd.ExecuteNonQuery();

                con.Desconectar();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #3
0
        public ClienteCorrecaoDTO ObterDadosCliente(int idCliente)
        {
            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con.Conectar();

                cmd.CommandText = "EXEC RetornarClienteCompleto @idCliente";

                cmd.Parameters.AddWithValue("@idCliente", idCliente);

                SqlDataReader dr = cmd.ExecuteReader();

                ClienteCorrecaoDTO cliente = new ClienteCorrecaoDTO();

                if (dr.HasRows)
                {
                    dr.Read();

                    cliente.IdCliente      = Convert.ToInt32(dr["id_cliente"]);
                    cliente.Nome           = dr["nome"].ToString();
                    cliente.Cpf            = dr["cpf"].ToString();
                    cliente.Rg             = dr["rg"].ToString();
                    cliente.DataNascimento = Convert.ToDateTime(dr["data_nascimento"]);
                    cliente.Email          = dr["email"].ToString();

                    cliente.IdEndereco  = Convert.ToInt32(dr["id_endereco"]);
                    cliente.Cep         = dr["cep"].ToString();
                    cliente.Rua         = dr["rua"].ToString();
                    cliente.Numero      = dr["numero"].ToString();
                    cliente.Complemento = dr["complemento"].ToString();
                    cliente.Bairro      = dr["bairro"].ToString();
                    cliente.IdCidade    = Convert.ToInt32(dr["id_cidade"]);
                    cliente.IdEstado    = Convert.ToInt32(dr["id_estado"]);
                    cliente.IdPais      = Convert.ToInt32(dr["id_pais"]);

                    dr.Close();
                }

                cmd.CommandText = "SELECT * FROM Telefone WHERE id_cliente = @idCliente";

                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    var telefoneDTO = new TelefoneDTO();
                    telefoneDTO.IdTelefone     = Convert.ToInt32(dr["id_telefone"]);
                    telefoneDTO.NumeroTelefone = dr["numero_telefone"].ToString();
                    cliente.NumeroTelefone.Add(telefoneDTO);
                }

                con.Desconectar();
                return(cliente);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #4
0
        public ClienteCorrecaoResultadoDTO CorrigirCliente(ClienteCorrecaoDTO cliente)
        {
            var erros = ValidacaoService.ValidarErros(cliente);
            ClienteCorrecaoResultadoDTO clienteCorrecaoResultado = new ClienteCorrecaoResultadoDTO();

            if (erros.Count() > 0)
            {
                clienteCorrecaoResultado.Erros.AddRange(erros);
                return(clienteCorrecaoResultado);
            }
            else
            {
                _clienteDAL.AtualizarTelefones(cliente);
                _clienteDAL.CorrigirCliente(cliente);
                return(null);
            }
        }
コード例 #5
0
        public ClienteCorrecaoDTO ObterDadosCliente(int idCliente)
        {
            try
            {
                var clienteCompleto = Valida.Cliente(_database, idCliente);

                ClienteCorrecaoDTO cliente = new ClienteCorrecaoDTO();

                cliente.IdCliente      = clienteCompleto.Id_Cliente;
                cliente.Nome           = clienteCompleto.Nome;
                cliente.Cpf            = clienteCompleto.Cpf;
                cliente.Rg             = clienteCompleto.Rg;
                cliente.DataNascimento = clienteCompleto.Data_Nascimento;
                cliente.Email          = clienteCompleto.Email;

                foreach (var telefone in clienteCompleto.Telefones)
                {
                    var telefoneDTO = new TelefoneDTO();
                    telefoneDTO.IdTelefone     = telefone.Id_Telefone;
                    telefoneDTO.NumeroTelefone = telefone.Numero_Telefone;
                    cliente.NumeroTelefone.Add(telefoneDTO);
                }

                foreach (var endereco in clienteCompleto.Enderecos)
                {
                    cliente.IdEndereco  = endereco.Id_Endereco;
                    cliente.Cep         = endereco.Cep;
                    cliente.Rua         = endereco.Rua;
                    cliente.Numero      = endereco.Numero;
                    cliente.Complemento = endereco.Complemento;
                    cliente.Bairro      = endereco.Bairro;
                    cliente.IdCidade    = endereco.Cidade.Id_Cidade;
                    cliente.IdEstado    = endereco.Cidade.Estado.Id_Estado;
                    cliente.IdPais      = endereco.Cidade.Estado.Pais.Id_Pais;
                }

                return(cliente);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #6
0
        public void AtualizarTelefones(ClienteCorrecaoDTO cliente)
        {
            try
            {
                var listaTelefones = _database.Telefone.Where(t => t.Id_Cliente == cliente.IdCliente);

                foreach (var telefone in cliente.NumeroTelefone)
                {
                    listaTelefones = listaTelefones.Where(lt => lt.Id_Telefone != telefone.IdTelefone);
                }

                _database.Telefone.RemoveRange(listaTelefones);
                _database.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #7
0
        public void CorrigirCliente(ClienteCorrecaoDTO cliente)
        {
            try
            {
                var usuario = Valida.Usuario(_database, cliente.IdUsuario);

                var listaTelefone = new List <TelefoneModel>();
                foreach (var telefone in cliente.NumeroTelefone)
                {
                    listaTelefone.Add(new TelefoneModel(telefone.IdTelefone, telefone.NumeroTelefone, cliente.IdCliente));
                }
                var endereco     = new EnderecoModel(cliente.IdEndereco, cliente.Cep, cliente.Rua, cliente.Numero, cliente.Complemento, cliente.Bairro, cliente.IdCidade, cliente.IdCliente);
                var clienteModel = new ClienteModel(cliente.IdCliente, cliente.Nome, cliente.Cpf, cliente.Rg, cliente.DataNascimento, cliente.Email, (int)EStatus.correcao_cadastro, listaTelefone, endereco);

                _database.Update(clienteModel);
                _database.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #8
0
        public IActionResult AtualizarDadosClientes(ClienteCorrecaoDTO clienteCorrecao)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var respostaAtualizar = _serviceCliente.CorrigirCliente(clienteCorrecao);

                    if (respostaAtualizar != null)
                    {
                        ErrosView listaErros = new ErrosView();
                        listaErros.Erros.AddRange(Erros.ListarErros(respostaAtualizar.Erros));
                        return(View("../Home/ExibirErros", listaErros));
                    }
                    else
                    {
                        FluxoDTO fluxo = MontarFluxoDTO(clienteCorrecao.IdCliente);
                        _serviceFluxo.DevolverCadastro(fluxo);

                        return(RedirectToAction("Clientes", "Home"));
                    }
                }
                else
                {
                    ViewBag.listaPais   = _servicePaisEstadoCidade.ListarPais();
                    ViewBag.listaEstado = _servicePaisEstadoCidade.ListarEstado(clienteCorrecao.IdPais);
                    ViewBag.listaCidade = _servicePaisEstadoCidade.ListarCidade(clienteCorrecao.IdEstado);
                    return(View("../Home/CorrigirCadastro"));
                }
            }
            catch (Exception e)
            {
                ErrosView listaErros = new ErrosView();
                listaErros.Erros.Add(e.Message);
                return(View("../Home/ExibirErros", listaErros));
            }
        }