Esempio n. 1
0
        private PessoaFisicaEntity UpdateEntity(PessoaFisicaEntity entity, PessoaFisicaUpdateModel model)
        {
            entity.Id                 = model.Id;
            entity.PessoaId           = model.PessoaId;
            entity.PrimeiroNome       = model.PrimeiroNome;
            entity.Sobrenome          = model.Sobrenome;
            entity.DthNascimento      = model.DthNascimento;
            entity.Genero             = model.Genero;
            entity.CPF                = model.CPF;
            entity.RG                 = model.RG;
            entity.Altura             = model.Altura;
            entity.Peso               = model.Peso;
            entity.Pessoa             = _mapper.Map <PessoaEntity>(model.Pessoa);
            entity.Profissoes         = _mapper.Map <List <ProfissaoVinculoEntity> >(model.Profissoes);
            entity.EmpresasVinculadas = _mapper.Map <List <PessoaVinculoEntity> >(model.EmpresasVinculadas);

            return(entity);
        }
Esempio n. 2
0
        public PessoaFisicaEntity Create(PessoaFisicaEntity entity)
        {
            ValidarCpf(entity);

            int qtdEnderecos = entity.Enderecos.Count;

            if (qtdEnderecos < 1 || qtdEnderecos > 3)
            {
                throw new Exception("A quantidade de endereços deve ser no mínimo 1 (um) e no máximo 3 (três).");
            }

            const decimal valorLimiteCreditoInicial = 100m;

            entity.ValorLimiteCredito = valorLimiteCreditoInicial;

            entity.Id = ObjectId.GenerateNewId();
            pessoa.InsertOne(entity);
            return(entity);
        }
Esempio n. 3
0
        public void Update(string id, PessoaFisicaEntity entity)
        {
            ValidarCpf(entity, id);

            var idsEnderecos = new List <string>();

            entity.Enderecos.ForEach(item => idsEnderecos.Add(item.Id.ToString()));
            GetById(id).Enderecos.ForEach(item => idsEnderecos.Add(item.Id.ToString()));
            idsEnderecos = idsEnderecos.Distinct().ToList();
            if (idsEnderecos.Count > 3)
            {
                throw new Exception("A quantidade de endereços deve ser no mínimo 1 (um) e no máximo 3 (três).");
            }

            if (entity.ValorLimiteCredito < 0m)
            {
                throw new Exception("O valor de limite de crédito não pode ser negativo.");
            }

            pessoa.ReplaceOne(ps => ps.Id.ToString() == id, entity);
        }
Esempio n. 4
0
        private void ValidarCpf(PessoaFisicaEntity entity, string id = null)
        {
            if (!ValidadorCpf.CPFValido(entity.Cpf))
            {
                throw new Exception("O CPF informado não é válido.");
            }

            if (id is null)
            {
                if (GetAll().Count(item => item.Cpf == entity.Cpf) > 0)
                {
                    throw new Exception("O CPF informado já esta sendo utilizado em outro registro.");
                }
            }
            else
            {
                if (GetAll().Count(item => item.Cpf == entity.Cpf && item.Id.ToString() != id) > 0)
                {
                    throw new Exception("O CPF informado já esta sendo utilizado em outro registro.");
                }
            }
        }