コード例 #1
0
        private void DropIrmao(Unitb001Usuario usr, ListaPerguntasDTO lsPerguntas, Duntb004Pessoa p)
        {
            Duntb004Pessoa irmao = db.Duntb004Pessoa
                                   .Where(w => w.CoPessoa != usr.CoPessoa && w.CoFamilia == p.CoFamilia)
                                   .FirstOrDefault();
            PerguntaDTO pe = new PerguntaDTO();

            pe.noTipo      = "DROP";
            pe.deEnunciado = "Qual o nome do seu irmão mais velho?";
            pe.lsOpcoes    = new List <OpcaoDTO>();
            OpcaoDTO op1 = new OpcaoDTO();

            op1.coOpcao = 1;
            op1.noOpcao = "Felipe Caetano";
            OpcaoDTO op2 = new OpcaoDTO();

            op2.coOpcao = 2;
            op2.noOpcao = "Eduardo Caetano";
            OpcaoDTO op3 = new OpcaoDTO();

            op3.coOpcao = 3;
            op3.noOpcao = "Danilo Caetano";
            OpcaoDTO op4 = new OpcaoDTO();

            op4.coOpcao = 4;
            op4.noOpcao = irmao.NoPessoa;
            pe.lsOpcoes.Add(op1);
            pe.lsOpcoes.Add(op2);
            pe.lsOpcoes.Add(op3);
            pe.lsOpcoes.Add(op4);
            lsPerguntas.lsPerguntas.Add(pe);
        }
コード例 #2
0
        public ListaPerguntasDTO PerguntasUsuario()
        {
            var token = this.HttpContext.Request?.Headers["Authorization"].ToString().Replace("Bearer ", "");
            JwtSecurityToken accessToken = new JwtSecurityToken(token);
            Unitb001Usuario  usr         = db.Unitb001Usuario
                                           .Where(i => i.CoPessoa.ToString() == accessToken.Claims.ToArray()[0].Value)
                                           .FirstOrDefault();
            ListaPerguntasDTO lsPerguntas = new ListaPerguntasDTO();
            Duntb004Pessoa    p           = db.Duntb004Pessoa
                                            .Where(w => w.CoPessoa == usr.CoPessoa)
                                            .FirstOrDefault();

            DropIrmao(usr, lsPerguntas, p);
            DataEmprego(lsPerguntas);
            DecimalSalario(lsPerguntas);
            Localizacao(lsPerguntas);
            Foto(lsPerguntas);
            Codigo(lsPerguntas, usr);



            Unitb002LogUsuario log = new Unitb002LogUsuario();

            log.CoClient = db.Unitb003Client
                           .Where(c => c.NoClient.ToString() == accessToken.Claims.ToArray()[3].Value)
                           .FirstOrDefault()
                           .CoClient;
            log.CoPessoa    = usr.CoPessoa;
            log.DhAcesso    = DateTime.Now;
            log.IcSucesso   = false;
            log.TxPerguntas = JsonConvert.SerializeObject(lsPerguntas);
            db.Unitb002LogUsuario.Add(log);
            db.SaveChanges();
            lsPerguntas.coLog = log.CoLog;
            lsPerguntas.lsPerguntas.Where(c => c.noTipo == "CODIGO").FirstOrDefault().deResposta = "";
            return(lsPerguntas);
        }
コード例 #3
0
        public async Task <IActionResult> RespostasUsuario(ListaPerguntasDTO respostas)
        {
            var token = this.HttpContext.Request?.Headers["Authorization"].ToString().Replace("Bearer ", "");
            JwtSecurityToken accessToken = new JwtSecurityToken(token);
            Unitb001Usuario  usr         = db.Unitb001Usuario
                                           .Where(i => i.CoPessoa.ToString() == accessToken.Claims.ToArray()[0].Value)
                                           .FirstOrDefault();
            Duntb004Pessoa p = db.Duntb004Pessoa
                               .Where(w => w.CoPessoa == usr.CoPessoa)
                               .FirstOrDefault();
            bool valido = true;

            if (!ValidaIrmao(respostas))
            {
                valido = false;
            }
            if (!ValidaDataEmprego(respostas, usr))
            {
                valido = false;
            }
            if (!ValidaDecimalSalario(respostas, usr))
            {
                valido = false;
            }
            if (!ValidaLocalizacao(respostas))
            {
                valido = false;
            }
            if (!ValidaFoto(respostas))
            {
                valido = false;
            }
            if (!ValidaCodigo(respostas))
            {
                valido = false;
            }
            if (!valido)
            {
                return(StatusCode(401, respostas));
            }
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes("THIS IS USED TO SIGN AND VERIFY JWT TOKENS, REPLACE IT WITH YOUR OWN SECRET, IT CAN BE ANY STRING");
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim("id", usr.CoPessoa.ToString()),
                    new Claim("name", usr.NoUsuario.ToString()),
                    new Claim("email", usr.EdEmail.ToString()),
                    new Claim("clientId", accessToken.Claims.ToArray()[3].Value),
                    new Claim("coLog", respostas.coLog.ToString())
                }),
                Expires            = DateTime.UtcNow.AddMinutes(5),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key),
                                                            SecurityAlgorithms.HmacSha256Signature)
            };

            var tokenBanco = tokenHandler.CreateToken(tokenDescriptor);

            return(CreatedAtAction("", new TokenDTO
            {
                AccessToken = tokenHandler.WriteToken(tokenBanco)
            }));
        }