public async Task <IActionResult> CadastrarCliente(NovoClienteModel novoCliente) { var infoClientes = new NovoClienteRequestDto { Nome = novoCliente.Nome, CPF = novoCliente.CPF, Identidade = novoCliente.Identidade, Bairro = novoCliente.Bairro, Rua = novoCliente.Rua, Numero = novoCliente.Numero, Complemento = novoCliente.Complemento }; var resultado = await _clienteServico.CadastrarCliente(infoClientes); if (resultado.Sucesso) { await _pagamentoServico.SalvarNovoPagamento(resultado.ClienteId, PlanoDePagamento.Mensal); } return(PartialView("_resultadoOperacao", new ResponseBaseModel { Sucesso = resultado.Sucesso, Mensagens = MontarListaMensagens(resultado.Mensagem) })); }
public async Task <NovoClienteResponseDto> CadastrarCliente(NovoClienteRequestDto novoCliente) { var validacao = Validacoes.ValidarObjeto(new NovoClienteRequestDtoValidador().Validate(novoCliente)); if (!validacao.objetoValido) { return new NovoClienteResponseDto { ClienteId = Guid.Empty, Sucesso = false, Mensagem = validacao.erros } } ; var clienteExistente = await _clienteRepositorio.Search(c => c.CPF == novoCliente.CPF.RemoverDigitosNaoNumericos() || c.Identidade == novoCliente.Identidade.RemoverDigitosNaoNumericos()); if (!clienteExistente.Any()) { var numeroDeClientes = (await _clienteRepositorio.GetAll()).Count(); var cliente = new Cliente { Nome = novoCliente.Nome, NumeroDeMatricula = Convert.ToInt64(Constantes.CODIGO_DA_UNIDADE + numeroDeClientes.ToString()), CPF = novoCliente.CPF.RemoverDigitosNaoNumericos(), Identidade = novoCliente.Identidade.RemoverDigitosNaoNumericos(), PlanoDePagamento = PlanoDePagamento.Mensal, UltimaAvaliacaoFisica = DateTime.Now.Date, VencimentoPagamento = DateTime.Now.AddMonths(1).Date }; await _clienteRepositorio.Add(cliente); var endereco = new Endereco { ClienteId = cliente.Id, Rua = novoCliente.Rua, Bairro = novoCliente.Bairro, Numero = novoCliente.Numero, Complemento = novoCliente.Complemento }; await _enderecoRepositorio.Add(endereco); cliente.EnderecoId = endereco.Id; await _clienteRepositorio.Update(cliente); return(new NovoClienteResponseDto { ClienteId = cliente.Id, Sucesso = true, Mensagem = ClienteMensagens.CLIENTE_CADASTRADO }); } return(new NovoClienteResponseDto { ClienteId = Guid.Empty, Sucesso = false, Mensagem = ClienteMensagens.DOCUMENTO_JA_CADASTRADO }); }