private PessoaJuridica PreencherPessoaJuridica(FormularioPessoa formularioPessoa)
 {
     return(new PessoaJuridica()
     {
         NomeFantisia = formularioPessoa.Nome,
         RazaoSocial = formularioPessoa.SobreNome,
         Logradouro = formularioPessoa.Logradouro,
         Cep = formularioPessoa.Cep,
         Bairro = formularioPessoa.Bairro,
         Cidade = formularioPessoa.Cidade,
         Complemento = formularioPessoa.Complemento,
         Cnpj = formularioPessoa.NumeroDocumento,
         Numero = formularioPessoa.Numero,
         Uf = formularioPessoa.Uf
     });
 }
 private PessoaFisica PreencherPessoaFisica(FormularioPessoa formularioPessoa)
 {
     return(new PessoaFisica()
     {
         Nome = formularioPessoa.Nome,
         SobreNome = formularioPessoa.SobreNome,
         DataNascimento = formularioPessoa.DataNascimento.Value,
         Logradouro = formularioPessoa.Logradouro,
         Cep = formularioPessoa.Cep,
         Bairro = formularioPessoa.Bairro,
         Cidade = formularioPessoa.Cidade,
         Complemento = formularioPessoa.Complemento,
         Cpf = formularioPessoa.NumeroDocumento,
         Numero = formularioPessoa.Numero,
         Uf = formularioPessoa.Uf
     });
 }
        public void CadastrarPessoa(FormularioPessoa formularioPessoa)
        {
            if (formularioPessoa.TipoPessoa.Equals("PF"))
            {
                if (!IdadeMaiorDe19(formularioPessoa))
                {
                    throw new ArgumentException("Somente poderá ser cadastrado pessoa física com idade superior ou igual a 19 anos");
                }

                CadastrarPessoaFisica(formularioPessoa);
            }
            else
            {
                CadastrarPessoaJuridica(formularioPessoa);
            }

            _pessoaJuridica.Salvar();
        }
        private void EditarPessoJuridica(FormularioPessoa formularioPessoa)
        {
            var pessoaJuridica = _pessoaJuridica.Todos.FirstOrDefault(pf => pf.Id == formularioPessoa.Id);

            if (formularioPessoa.NumeroDocumento != pessoaJuridica.Cnpj && ExisteCnpJ(formularioPessoa))
            {
                throw new ArgumentException("Já existe cadastro do CNPJ para outra pessoa juridica");
            }

            pessoaJuridica.Logradouro   = formularioPessoa.Logradouro;
            pessoaJuridica.NomeFantisia = formularioPessoa.Nome;
            pessoaJuridica.RazaoSocial  = formularioPessoa.SobreNome;
            pessoaJuridica.Uf           = formularioPessoa.Uf;
            pessoaJuridica.Numero       = formularioPessoa.Numero;
            pessoaJuridica.Bairro       = formularioPessoa.Bairro;
            pessoaJuridica.Cep          = formularioPessoa.Cep;
            pessoaJuridica.Cidade       = formularioPessoa.Cidade;
            pessoaJuridica.Complemento  = formularioPessoa.Complemento;
            pessoaJuridica.Cnpj         = formularioPessoa.NumeroDocumento;
            _pessoaJuridica.Editar(pessoaJuridica);
        }
        private void EditarPessoFisica(FormularioPessoa formularioPessoa)
        {
            var pessoaFisica = _pessoaFisica.Todos.FirstOrDefault(pf => pf.Id == formularioPessoa.Id);

            if (formularioPessoa.NumeroDocumento != pessoaFisica.Cpf && ExisteCPF(formularioPessoa))
            {
                throw new ArgumentException("Já existe cadastro do CPF para uma outra pessoa física");
            }

            pessoaFisica.Logradouro     = formularioPessoa.Logradouro;
            pessoaFisica.Nome           = formularioPessoa.Nome;
            pessoaFisica.SobreNome      = formularioPessoa.SobreNome;
            pessoaFisica.Uf             = formularioPessoa.Uf;
            pessoaFisica.Numero         = formularioPessoa.Numero;
            pessoaFisica.Bairro         = formularioPessoa.Bairro;
            pessoaFisica.Cep            = formularioPessoa.Cep;
            pessoaFisica.Cidade         = formularioPessoa.Cidade;
            pessoaFisica.Complemento    = formularioPessoa.Complemento;
            pessoaFisica.Cpf            = formularioPessoa.NumeroDocumento;
            pessoaFisica.DataNascimento = formularioPessoa.DataNascimento.Value;
            _pessoaFisica.Editar(pessoaFisica);
        }
 private void CadastrarPessoaJuridica(FormularioPessoa formularioPessoa)
 {
     _pessoaJuridica.Inserir(PreencherPessoaJuridica(formularioPessoa));
 }
 private bool IdadeMaiorDe19(FormularioPessoa formularioPessoa)
 {
     return(DateTime.Now.Year - formularioPessoa.DataNascimento.Value.Year >= 19);
 }
 private bool ExisteCnpJ(FormularioPessoa formularioPessoa)
 {
     return(_pessoaJuridica.Todos.Any(x => x.Cnpj == formularioPessoa.NumeroDocumento));
 }
 private bool ExisteCPF(FormularioPessoa formularioPessoa)
 {
     return(_pessoaFisica.Todos.Any(x => x.Cpf == formularioPessoa.NumeroDocumento));
 }