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