public void Add(Porteiro porteiro) { var transaction = _context.Database.BeginTransaction(); try{ porteiro.pessoa.Criacao = DateTime.Now; porteiro.pessoa.Digital = Util.Util.geraDigital(); porteiro.usuario.Criacao = DateTime.Now; porteiro.usuario.Tipo = 1; porteiro.usuario.Desativado = 0; porteiro.usuario.Senha = TrataHash.GeraMD5Hash(porteiro.usuario.Senha); if ((_context.Usuario.Where(x => x.Email == porteiro.usuario.Email).DefaultIfEmpty().First() == null) && (_context.Pessoa.Where(x => x.Cpf == porteiro.pessoa.Cpf).DefaultIfEmpty().First() == null)) { _context.Usuario.Add(porteiro.usuario); _context.Pessoa.Add(porteiro.pessoa); _context.Porteiro.Add(porteiro); _context.SaveChanges(); transaction.Commit(); } else { transaction.Rollback(); } } catch (Exception e) { Console.WriteLine("Erro"); Console.WriteLine(e); transaction.Rollback(); return; } }
public void Add(Usuario usuario) { var transaction = _context.Database.BeginTransaction(); try{ usuario.Criacao = DateTime.Now; usuario.Desativado = 0; usuario.Senha = TrataHash.GeraMD5Hash(usuario.Senha); if ((_context.Usuario.Where(x => x.Email == usuario.Email).DefaultIfEmpty().First() == null)) { _context.Usuario.Add(usuario); _context.SaveChanges(); transaction.Commit(); } else { transaction.Rollback(); } } catch (Exception e) { Console.WriteLine("Erro"); Console.WriteLine(e); transaction.Rollback(); return; } }
public ActionResult <RetornoView <Usuario> > Create([FromBody] Usuario usuario) { if (usuario.administrador == true) { try { if (usuario.desativado == true) { usuario.data_desativacao = DateTime.Now; } usuario.senha = TrataHash.GeraMD5Hash(usuario.senha); usuario.log_atualizacao = DateTime.Now; usuario.log_criacao = DateTime.Now; usuario.Validacoes(); _usuarioRepository.Add(usuario); } catch (Exception ex) { var resultado = new RetornoView <Usuario>() { sucesso = false, erro = ex.Message }; return(BadRequest(resultado)); } } var result = new RetornoView <Usuario>() { data = usuario, sucesso = true }; return(CreatedAtRoute("GetUsuario", new { id = usuario.id }, result)); }
public IActionResult RequestToken([FromBody] Usuario request) { var usuario = _context.usuario .Where(e => e.email == request.email) .Where(e => e.senha == request.senha) .FirstOrDefault(); if ((usuario != null) && (TrataHash.VerificaMD5Hash(request.senha, usuario.senha))) { var claims = new[] { new Claim(ClaimTypes.Name, request.email) }; //Recebe uma instância da classe SymmetricSecurityKey //Armazena a chave de criptografia usada na criação do token var key = new SymmetricSecurityKey( Encoding.UTF8.GetBytes(_configuration["SecurityKey"])); //Recebe um objeto do tipo SigninCredentials contendo a chave de //criptografia e o algoritmo de segurança empregados na geração //de assinaturas digitais para o tokens var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "http://localhost:5000", audience: "http://localhost:5001/", claims: claims, expires: DateTime.Now.AddHours(1), signingCredentials: creds); //Atualiza o Token do usuário usuario.token = new JwtSecurityTokenHandler().WriteToken(token); _context.usuario.Update(usuario); _context.SaveChanges(); var resposta = new Object(); return(Ok(new { sucesso = true, mensagem = "Bem vindo", data = resposta })); } return(Unauthorized("Credenciais Inválidas..")); }
public ActionResult <RetornoView <Usuario> > Create([FromBody] Usuario usuario) { //var usuarioLogado = _usuarioRepository.usuarioLogado(User.Identity.Name); try { usuario.Senha = TrataHash.GeraMD5Hash(usuario.Senha); _usuarioRepository.Add(usuario); } catch (Exception ex) { var result = new RetornoView <Usuario>() { sucesso = false, erro = ex.Message }; return(BadRequest(result)); } var resultado = new RetornoView <Usuario>() { data = usuario, sucesso = true }; return(CreatedAtRoute("GetUsuario", new { id = usuario.Id }, resultado)); }
public IActionResult RequestToken([FromBody] Usuario request) { var usuario = _context.usuario .Where(e => e.Email == request.Email) .Where(t => t.Senha == TrataHash.GeraMD5Hash(request.Senha)) .FirstOrDefault(); if (usuario != null) { var claims = new[] { new Claim(ClaimTypes.Name, request.Email) }; //Recebe uma instância da classe SymmetricSecurityKey //Armazena a chave de criptografia usada na criação do token var key = new SymmetricSecurityKey( Encoding.UTF8.GetBytes(_configuration["SecurityKey"])); //Recebe um objeto do tipo SigninCredentials contendo a chave de //criptografia e o algoritmo de segurança empregados na geração //de assinaturas digitais para o tokens var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var Token = new JwtSecurityToken( issuer: "http://localhost:5000", audience: "http://localhost:5001/", claims: claims, expires: DateTime.Now.AddHours(1), signingCredentials: creds); //Atualiza o Token do usuário usuario.Token = new JwtSecurityTokenHandler().WriteToken(Token); _context.usuario.Update(usuario); _context.SaveChanges(); var resposta = new Object(); //Verifica o tipo de usuario para retonar o objeto compativel switch (request.Tipo) { //Trocar Baerer por Bearer no front case false: var administrador = _context.usuario .Where(c => c.Id == usuario.Id) .First(); resposta = new { usuario = usuario, Token = new JwtSecurityTokenHandler().WriteToken(Token) }; break; case true: var funcionario = _context.usuario .Where(c => c.Id == usuario.Id) .First(); resposta = new { usuario = usuario, Token = new JwtSecurityTokenHandler().WriteToken(Token) }; break; } return(Ok(new { sucesso = true, mensagem = "Bem vindo", data = resposta })); } return(Unauthorized("Credenciais Inválidas ou Usuario Desativado..")); }