public Cliente AdicionarCliente(Cliente clienteNovo) { var documentoSemFormatacao = FormataDocumento(clienteNovo.CPF); var clienteExistente = _repoCliente.GetAsync(c => c.CPF == documentoSemFormatacao).Result.FirstOrDefault(); if (clienteExistente != null) { throw new ClienteJaCadastradoException("Cliente já existente com este CPF!"); } clienteNovo.ClienteId = Guid.NewGuid(); clienteNovo.DataCadastro = DateTime.Now; clienteNovo.CPF = documentoSemFormatacao; var mensagensValidacao = ValidacaoHelper.ValidateModel(clienteNovo); if (mensagensValidacao.Any()) { throw new EntidadeInvalidaException(string.Join(",", mensagensValidacao)); } _repoCliente.Add(clienteNovo); _repoCliente.SaveChangesAsync(); return(clienteNovo); }
/// <summary> /// Validação server /// </summary> /// <param name="value"></param> /// <returns></returns> public override bool IsValid(object value) { if (value == null || string.IsNullOrEmpty(value.ToString())) { return(true); } return(ValidacaoHelper.ValidaCPF(value.ToString())); }
void ValidarAvaliacao(Avaliacao avaliacao) { if (avaliacao == null) { throw new Exception("Avaliação não pode ser nula"); } ValidacaoHelper.ValidaString(avaliacao.Nome); ValidarNumeros(avaliacao.NotaMaxima); ValidarNumeros(avaliacao.Peso); }
public void Cliente_Validacao_Sucesso() { var novoCliente = new Cliente() { CPF = "43553936827", Nome = "Vittoria Zago", DataCadastro = DateTime.Now, ClienteId = Guid.NewGuid() }; Assert.AreEqual(0, ValidacaoHelper.ValidateModel(novoCliente).Count); }
public ClienteMovimentacao AdicionarClienteMovimentacao(ClienteMovimentacao movimentacaoNova) { var clienteExistente = _repoCliente.GetAsync(c => c.ClienteId == movimentacaoNova.ClienteId).Result.FirstOrDefault(); if (clienteExistente == null) { throw new ClienteNaoEncontradoException("Cliente não encontrado!"); } var lojaExistente = _repoLoja.GetAsync(c => c.Ativo && c.LojaId == movimentacaoNova.LojaId).Result.FirstOrDefault(); if (lojaExistente == null) { throw new LojaNaoEncontradaException("Loja não encontrada!"); } var valorFinal = clienteExistente.SaldoAtual ?? 0; if (movimentacaoNova.Operacao == Models.Enums.Operacao.Debito) { valorFinal -= movimentacaoNova.Valor; } else { valorFinal += movimentacaoNova.Valor; } if (valorFinal < 0) { throw new SaldoInsuficienteException("Cliente sem saldo suficiente!"); } movimentacaoNova.SaldoAtual = valorFinal; movimentacaoNova.ClienteMovimentacaoId = Guid.NewGuid(); movimentacaoNova.DataOperacao = DateTime.Now; var mensagensValidacao = ValidacaoHelper.ValidateModel(movimentacaoNova); if (mensagensValidacao.Any()) { throw new EntidadeInvalidaException(string.Join(",", mensagensValidacao)); } _repoClienteMovimentacaoe.Add(movimentacaoNova); _repoClienteMovimentacaoe.SaveChangesAsync(); return(movimentacaoNova); }
public void Cliente_Validacao_Falha() { var novoCliente = new Cliente() { Nome = "Vittoria Zago", DataCadastro = DateTime.Now, ClienteId = Guid.NewGuid() }; Assert.AreEqual(1, ValidacaoHelper.ValidateModel(novoCliente).Count); novoCliente = new Cliente() { CPF = "43553936827", DataCadastro = DateTime.Now, ClienteId = Guid.NewGuid() }; Assert.AreEqual(1, ValidacaoHelper.ValidateModel(novoCliente).Count); novoCliente = new Cliente() { CPF = "43553936827980802388374390", DataCadastro = DateTime.Now, Nome = "Vittoria Zago", ClienteId = Guid.NewGuid() }; Assert.AreEqual(1, ValidacaoHelper.ValidateModel(novoCliente).Count); novoCliente = new Cliente() { CPF = "43553936827", Nome = "Vittoria Zago", ClienteId = Guid.NewGuid() }; Assert.AreEqual(1, ValidacaoHelper.ValidateModel(novoCliente).Count); novoCliente = new Cliente() { CPF = "43553936827", Nome = "Vittoria Zago", DataCadastro = DateTime.Today.AddDays(5), ClienteId = Guid.NewGuid() }; Assert.AreEqual(1, ValidacaoHelper.ValidateModel(novoCliente).Count); novoCliente = new Cliente() { CPF = "43553936827", Nome = "Vittoria Zago", DataCadastro = DateTime.Now, }; Assert.AreEqual(1, ValidacaoHelper.ValidateModel(novoCliente).Count); }
/// <summary> /// Altera um cliente /// </summary> /// <param name="cliente">Objeto de cliente</param> public void Alterar(DML.Cliente cliente) { DAL.DaoCliente cli = new DAL.DaoCliente(); if (!ValidacaoHelper.ValidaCPF(cliente.CPF)) { throw new Exception($"O CPF do cliente [{cliente.Nome.ToUpper()}] não está correto!"); } if (VerificarExistencia(cliente.CPF, cliente.Id)) { throw new Exception($"Já existe um cliente com o CPF informado!"); } cli.Alterar(cliente); }
/// <summary> /// Inclui um novo cliente /// </summary> /// <param name="cliente">Objeto de cliente</param> public long Incluir(DML.Cliente cliente) { DAL.DaoCliente cli = new DAL.DaoCliente(); if (!ValidacaoHelper.ValidaCPF(cliente.CPF)) { throw new Exception("Informe um CPF válido!"); } if (VerificarExistencia(cliente.CPF, cliente.Id)) { throw new Exception("O CPF informado já está cadastrado!"); } foreach (Beneficiario beneficiario in cliente.Beneficiarios) { if (!ValidacaoHelper.ValidaCPF(beneficiario.CPF)) { throw new Exception($"Informe um CPF válido para o beneficiário [{beneficiario.Nome}]!"); } } return(cli.Incluir(cliente)); }
public JsonResult Incluir(ClienteModel model) { BoCliente bo = new BoCliente(); if (this.ModelState.IsValid) { if (!ValidacaoHelper.IsCpf(model.CPF)) { this.ModelState.AddModelError("CPF", "Digite um CPF válido"); } else if (bo.VerificarExistencia(model.CPF)) { this.ModelState.AddModelError("CPF", "CPF já cadastrado"); } else if (model.Beneficiarios != null) { foreach (BeneficiarioModel beneficiario in model.Beneficiarios) { if (!ValidacaoHelper.IsCpf(beneficiario.CPF)) { this.ModelState.AddModelError("Beneficiario[CPF]", string.Format("CPF do beneficiário inválido: {0} - {1}", beneficiario.CPF, beneficiario.Nome)); break; } } if (model.Beneficiarios.GroupBy(b => b.CPF).Any(b => b.Count() > 1)) { this.ModelState.AddModelError("Beneficiario[CPF]", "CPF do beneficiário em duplicidade"); } } } if (!this.ModelState.IsValid) { List <string> erros = (from item in ModelState.Values from error in item.Errors select error.ErrorMessage).ToList(); Response.StatusCode = 400; return(Json(string.Join(Environment.NewLine, erros))); } else { List <Beneficiario> beneficiarios = new List <Beneficiario>(); if (model.Beneficiarios != null) { beneficiarios = model.Beneficiarios.Select(item => new Beneficiario() { Nome = item.Nome, CPF = item.CPF }).ToList(); } model.Id = bo.Incluir(new Cliente() { CEP = model.CEP, Cidade = model.Cidade, Email = model.Email, Estado = model.Estado, Logradouro = model.Logradouro, Nacionalidade = model.Nacionalidade, Nome = model.Nome, Sobrenome = model.Sobrenome, CPF = model.CPF, Telefone = model.Telefone, Beneficiarios = beneficiarios }); return(Json("Cadastro efetuado com sucesso")); } }