コード例 #1
0
        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)
            }));
        }
コード例 #2
0
        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
            });
        }