コード例 #1
0
ファイル: Home.cs プロジェクト: arleynm/Desafio-XPTO
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (inserir)
            {
                service.Inserir(new Cliente
                {
                    DataNascimento = DateTime.ParseExact(txtNascimento.Text, "dd/WW/yyyy", CultureInfo.InvariantCulture),
                    Cpf            = txtCpf.Text,
                    Nome           = txtNome.Text,
                    Email          = txtEmail.Text
                });
            }
            else if (alterar)
            {
                cliente.Nome           = txtNome.Text;
                cliente.Cpf            = txtCpf.Text;
                cliente.DataNascimento = DateTime.ParseExact(txtNascimento.Text, "dd/WW/yyyy", CultureInfo.InvariantCulture);
                cliente.Email          = txtEmail.Text;

                service.Alterar(cliente);
            }
            acaocomum();

            CarregarListView();
        }
コード例 #2
0
 public bool Alterar(Cliente cliente, string cpf)
 {
     try
     {
         return(_clienteService.Alterar(cliente, cpf));
     }
     catch (NaoEncontradoException e)
     {
         throw new NaoEncontradoException(e.Message);
     }
     catch (ConcorrenciaBancoException e)
     {
         throw new ConcorrenciaBancoException(e.Message);
     }
 }
コード例 #3
0
        public ActionResult Delete(string id)
        {
            using (ClienteService service = new ClienteService())
            {
                var cliente = service.Buscar(x => x.Id == id);

                if (cliente == null)
                {
                    return(BadRequest("Cliente não encontrado"));
                }

                cliente.Token = null;
                service.Alterar(x => x.Id == cliente.Id, cliente);

                return(Ok("Deslogado com sucesso!"));
            }
        }
コード例 #4
0
        public ActionResult Post(ClienteLoginDTO registro)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState.Values.SelectMany(e => e.Errors)));
                }

                using (ClienteService service = new ClienteService())
                {
                    var cliente = service.Buscar(x => x.Email == registro.Email && x.Senha == x.Senha);

                    if (cliente == null)
                    {
                        return(BadRequest("Cliente não encontrado"));
                    }

                    var data = DateTime.Now.AddHours(2);

                    var token = new TokenClienteDTO()
                    {
                        Cliente       = { Id = cliente.Id, Email = cliente.Email },
                        DataExpiracao = data,
                    };

                    var tokenFinal = Criptografia.CriptografarToken(token);

                    cliente.Token = new TokenPessoa()
                    {
                        Conteudo = tokenFinal, DataExpiracao = data
                    };

                    service.Alterar(x => x.Id == cliente.Id, cliente);

                    return(Ok(tokenFinal));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #5
0
        public void Cliente_Alterar_RetornoValido()
        {
            //Arrange
            var             mockRepository = new Mock <IClienteRepository>(MockBehavior.Strict);
            Notificacoes    notificacoes   = new Notificacoes();
            IClienteService clienteService = new ClienteService(mockRepository.Object, notificacoes);

            mockRepository.Setup(s => s.ObterPorCpfCnpj(clienteValido.CpfCnpj)).Returns(clienteValido);
            mockRepository.Setup(s => s.Alterar(clienteValido)).Returns(clienteValido);
            mockRepository.Setup(s => s.SaveChanges()).Returns(1);

            //Act
            clienteValido = clienteService.Alterar(clienteValido);

            //Assert
            Assert.True(clienteValido.IsValid);
            Assert.True(!notificacoes.TemNotificacao());

            mockRepository.Verify(mock => mock.ObterPorCpfCnpj(clienteValido.CpfCnpj), Times.Once);
            mockRepository.Verify(mock => mock.Alterar(clienteValido), Times.Once);
            mockRepository.Verify(mock => mock.SaveChanges(), Times.Once);
        }
コード例 #6
0
        public ActionResult Get(int codigoVerificacao)
        {
            using (ClienteService service = new ClienteService())
            {
                var codigo = Convert.ToString(codigoVerificacao);

                var cliente = service.Buscar(x => x.CodigoVerificacao.Conteudo == codigo);

                if (cliente.CodigoVerificacao.Verificado)
                {
                    return(Ok("Código já foi verificado!"));
                }

                if (cliente == null)
                {
                    return(BadRequest("Código invalido tente novamente!"));
                }

                cliente.CodigoVerificacao.Verificado = true;
                service.Alterar(x => x.Id == cliente.Id, cliente);

                return(Ok("Código validado com sucesso!"));
            }
        }
コード例 #7
0
        public ActionResult Put(string id, string data, string descricao)
        {
            try
            {
                using (ClienteService service = new ClienteService())
                {
                    var cliente = service.Buscar(x => x.Id == id);

                    var dataExpiracao = DateTime.Parse(data);
                    var dataAtual     = DateTime.Now.AddHours(6);

                    var tokenAtuall = new TokenClienteDTO()
                    {
                        Cliente       = { Id = cliente.Id, Email = cliente.Email },
                        DataExpiracao = dataExpiracao,
                        Empresa       = { Descricao = descricao }
                    };

                    var tokenRefrexx = new TokenClienteDTO()
                    {
                        Cliente       = { Id = cliente.Id, Email = cliente.Email },
                        DataExpiracao = dataExpiracao,
                        Empresa       = { Descricao = descricao }
                    };

                    var tokenAtual  = Criptografia.CriptografarToken(tokenAtuall);
                    var tokenRefrex = Criptografia.CriptografarToken(tokenRefrexx);

                    cliente.Token.TokenEmpresa = new EmpresaPessoa()
                    {
                        Conteudo = tokenAtual, DataExpiracao = dataAtual, Descricao = descricao
                    };
                    cliente.Token.TokenEmpresa.TokenRefrex = new TokenRefrex()
                    {
                        Conteudo = tokenRefrex, DataExpiracao = dataExpiracao, Descricao = descricao
                    };

                    service.Alterar(x => x.Id == cliente.Id, cliente);

                    var resposta = new TokenDTO()
                    {
                        Token =
                        {
                            Conteudo      = tokenAtual,
                            DataExpiracao = dataAtual,
                        },
                        TokenRefrex =
                        {
                            Conteudo      = tokenRefrex,
                            DataExpiracao = dataExpiracao
                        }
                    };

                    return(Ok(resposta));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }