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