public void AtualizarPessoa(Pessoa pessoa) { var pessoaAtual = _pessoaRepository.ObterPorCodigoComPessoaCompleta(pessoa.PessoaCodigo); AssertionConcern.AssertArgumentNotNull(pessoaAtual, Erros.PersonDoesNotExist); pessoaAtual.Nome = pessoa.Nome; if (pessoaAtual.PessoaFisica != null) { pessoaAtual.PessoaFisica.RG = pessoa.PessoaFisica.RG; pessoaAtual.PessoaFisica.Sexo = pessoa.PessoaFisica.Sexo; pessoaAtual.PessoaFisica.EstadoCivil = _estadoCivilRepository.ObterPorCodigo(pessoa.PessoaFisica.EstadoCivil.EstadoCivilCodigo); } else { pessoaAtual.PessoaJuridica.Contato = pessoa.PessoaJuridica.Contato; } //Adiciona um novo endereço ou modifica o exitente para principal AtualizarEnderecoPessoa(pessoa, pessoaAtual); //Adiciona um meio de cominicação ou modifica o exitente para principal AtualizarMeioCominicacaoPessoa(pessoa, pessoaAtual, TipoComunicacaoEnum.Telefone); AtualizarMeioCominicacaoPessoa(pessoa, pessoaAtual, TipoComunicacaoEnum.Celular); AtualizarMeioCominicacaoPessoa(pessoa, pessoaAtual, TipoComunicacaoEnum.Email); _pessoaRepository.Atualizar(pessoaAtual); }
public void CriarPessoaFisica(Pessoa pessoa) { pessoa.Validar(); pessoa.PessoaFisica.Validar(); //Verifica se a pessoa existe, caso exista atualiza o papel da pessoa var existePessoaFisica = _pessoaRepository.ObterPorCPFComPessoaCompleta(pessoa.PessoaFisica.CPF); //Recupera informações do banco var firstOrDefault = pessoa.Papeis.FirstOrDefault(); AssertionConcern.AssertArgumentNotNull(firstOrDefault, string.Format(Erros.NullParameter, "Papeis")); if (firstOrDefault != null) { pessoa.Papeis = new List<Papel>() { _papelRepository.ObterPorCodigo(firstOrDefault.PapelCodigo) }; } if (existePessoaFisica != null) { existePessoaFisica.Papeis.Add(pessoa.Papeis.First()); _pessoaRepository.Atualizar(existePessoaFisica); } else { pessoa.Enderecos.First().Estado = _estadoRepository.ObterPorCodigo(pessoa.Enderecos.First().Estado.EstadoCodigo); pessoa.PessoaFisica.EstadoCivil = _estadoCivilRepository.ObterPorCodigo(pessoa.PessoaFisica.EstadoCivil.EstadoCivilCodigo); _pessoaRepository.Criar(pessoa); } }
private void AtualizarMeioCominicacaoPessoa(Pessoa pessoa, Pessoa pessoaAtual, TipoComunicacaoEnum tipoComunicacao) { //Adiciona um meio de cominicação ou modifica o exitente para principal var meioComunicacaoAtualizar = pessoa.MeiosComunicacao.FirstOrDefault(x => x.TipoComunicacao.Equals(tipoComunicacao)); if (meioComunicacaoAtualizar == null && (tipoComunicacao == TipoComunicacaoEnum.Email || tipoComunicacao == TipoComunicacaoEnum.Celular)) { return; } AssertionConcern.AssertArgumentNotEquals(meioComunicacaoAtualizar, null, Erros.EmptyPhone); if (meioComunicacaoAtualizar != null && meioComunicacaoAtualizar.MeioComunicacaoCodigo.Equals(0) && !pessoaAtual.MeiosComunicacao.Any(x => x.MeioComunicacaoNome.Equals(meioComunicacaoAtualizar.MeioComunicacaoNome))) { meioComunicacaoAtualizar.Pessoa = pessoaAtual; var novoMeioComunicacao = _meioComunicacaoRepository.Criar(meioComunicacaoAtualizar); pessoaAtual.MeiosComunicacao.Add(novoMeioComunicacao); } else if (meioComunicacaoAtualizar != null && !meioComunicacaoAtualizar.MeioComunicacaoCodigo.Equals(0)) { //Encotra o endereço que sera o principal foreach (var item in pessoaAtual.MeiosComunicacao) { item.Principal = item.MeioComunicacaoCodigo.Equals(meioComunicacaoAtualizar.MeioComunicacaoCodigo); } } }
private void AtualizarEnderecoPessoa(Pessoa pessoa, Pessoa pessoaAtual) { //Adiciona um novo endereço ou modifica o exitente para principal var enderecoAtualizar = pessoa.Enderecos.FirstOrDefault(); AssertionConcern.AssertArgumentNotEquals(enderecoAtualizar, null, Erros.EmptyAddress); if (enderecoAtualizar != null && enderecoAtualizar.EnderecoCodigo.Equals(0) && !pessoaAtual.Enderecos.Any(x => x.Bairro.Equals(enderecoAtualizar.Bairro) && x.CEP.Equals(enderecoAtualizar.CEP) && x.Cidade.Equals(enderecoAtualizar.Cidade) && x.Logradouro.Equals(enderecoAtualizar.Logradouro) && x.Numero.Equals(enderecoAtualizar.Numero))) { enderecoAtualizar.Pessoa = pessoaAtual; enderecoAtualizar.Estado = _estadoRepository.ObterPorCodigo(enderecoAtualizar.Estado.EstadoCodigo); var novoEndereco = _enderecoRepository.Criar(enderecoAtualizar); pessoaAtual.Enderecos.Add(novoEndereco); } else if (enderecoAtualizar != null && !enderecoAtualizar.EnderecoCodigo.Equals(0)) { //Encotra o endereço que sera o principal foreach (var item in pessoaAtual.Enderecos) { item.Principal = item.EnderecoCodigo.Equals(enderecoAtualizar.EnderecoCodigo); } } }
public void Deletar(Pessoa pessoa) { _context.Pessoas.Remove(pessoa); _context.SaveChanges(); }
public void Criar(Pessoa pessoa) { _context.Pessoas.Add(pessoa); _context.SaveChanges(); }
public void Atualizar(Pessoa pessoa) { _context.Entry(pessoa).State = System.Data.Entity.EntityState.Modified; _context.SaveChanges(); }