public PessoaDto(PessoaDm pessoa) { Id = pessoa.Id; Nome = pessoa.Nome; Cpf = pessoa.Cpf; Email = pessoa.Email; Telefone = pessoa.Telefone; }
public bool AtualizarDadosPessoa(PessoaAlteracaoDto pessoa) { if (!pessoa.PossuiSolicitacaoAlteracao()) { throw new ArgumentException(MensagensErro.PessoaAlteracaoSemDados); } if (pessoa.Dados.Id == 0) { throw new RegraNegocioException(MensagensErro.PessoaAlteracaoSemId); } var dadosAtuaisPessoa = _Repositorio.ObterPessoaPorId(pessoa.Dados.Id); string emailPessoa = pessoa.AlterarEmail ? pessoa.Dados.Email : dadosAtuaisPessoa.Email; var dominio = new PessoaDm(pessoa.Dados.Id, pessoa.Dados.Nome, null, emailPessoa, ValidarTelefone(dadosAtuaisPessoa, pessoa)); dominio.DefinirMensagens(_mensagens); if (pessoa.AlterarNome) { dominio.ValidarNome(); } dominio.ValidarDadosContato(); if (_mensagens.PossuiFalhasValidacao()) { throw new RegraNegocioException(MensagensErro.RegraNegocioErroValidacao); } if (dadosAtuaisPessoa == null) { throw new FalhaExecucaoException(MensagensErro.PessoaAlteracaoNaoEncontrada); } var pessoaAtualizacao = RealizarMergeInformacoes(dadosAtuaisPessoa, pessoa); var sucesso = _Repositorio.UpdateDadosPessoa(pessoaAtualizacao); if (!sucesso) { throw new RegraNegocioException(MensagensErro.PessoaFalhaAlteracao); } _mensagens.AdicionarMensagem(MensagensErro.PessoaAlteracaoSucesso); return(sucesso); }
public bool IncluirPessoa(PessoaInclusaoDto pessoa) { Telefone telefonePessoa = null; if (!string.IsNullOrWhiteSpace(pessoa.Ddd) || !string.IsNullOrWhiteSpace(pessoa.Numero)) { telefonePessoa = new Telefone(pessoa.Ddd, pessoa.Numero); } Cpf cpfPessoa = null; if (!string.IsNullOrWhiteSpace(pessoa.Cpf)) { cpfPessoa = new Cpf(pessoa.Cpf); } var dominio = new PessoaDm(0, pessoa.Nome, cpfPessoa, pessoa.Email, telefonePessoa); dominio.DefinirMensagens(_mensagens); PessoaDto dto = new PessoaDto(dominio); dominio.ValidarDados(); if (_mensagens.PossuiFalhasValidacao()) { throw new RegraNegocioException(MensagensErro.RegraNegocioErroValidacao); } var pessoaBanco = new PessoaDpo(0, pessoa.Nome, cpfPessoa?.ValorNumerico, pessoa.Email, pessoa.Ddd, pessoa.Numero); var sucesso = _Repositorio.InserirPessoa(pessoaBanco); if (!sucesso) { throw new RegraNegocioException(MensagensErro.PessoaFalhaInclusao); } _mensagens.AdicionarMensagem(MensagensErro.PessoaSucessoInclusao); return(sucesso); }
public bool IncluirUsuario(UsuarioInclusaoDto usuario) { if (usuario.Senha != usuario.ConfirmacaoSenha) { throw new ArgumentException(MensagensErro.UsuarioFalhaConfirmacaoSenha); } DateTime dataAtual = DateTime.Now; GrupoDto grupo = _grupoServico.PesquisarGrupoPorId(usuario.IdGrupo); if (grupo == null) { throw new ArgumentException(MensagensErro.UsuarioGrupoNaoEncontrado); } var grupoDominio = new GrupoDm(grupo.Id, grupo.Nome, grupo.Descricao, grupo.Pai); grupoDominio.DefinirMensagens(_mensagens); var pessoa = _pessoaServico.PesquisarPessoaPorId(usuario.IdPessoa); if (pessoa == null) { throw new ArgumentException(MensagensErro.UsuarioPessoaNaoEncontrada); } var pessoaDominio = new PessoaDm(pessoa.Id, pessoa.Nome, pessoa.Cpf, pessoa.Email, pessoa.Telefone); pessoaDominio.DefinirMensagens(_mensagens); var dominio = new UsuarioDm( 0, usuario.Usuario, usuario.Senha, dataAtual, true, dataAtual, usuario.DiasRenovacao, grupoDominio, pessoaDominio ); dominio.ValidarDados(); if (_mensagens.PossuiFalhasValidacao()) { throw new RegraNegocioException(MensagensErro.RegraNegocioErroValidacao); } var usuarioBanco = new UsuarioDpo( dominio.Id, dominio.Usuario, dominio.Senha.ValorCriptografado, dataAtual, dataAtual, dominio.DiasRenovacao, dominio.Ativo, dominio.Grupo.Id, dominio.Pessoa.Id ); var sucessoInsercao = _UsuarioRepositorio.InserirUsuario(usuarioBanco); if (!sucessoInsercao) { _mensagens.AdicionarMensagem(TipoMensagem.Erro, MensagensErro.UsuarioFalhaInclusao); } _mensagens.AdicionarMensagem(MensagensErro.UsuarioSucessoInclusao); return(sucessoInsercao); }