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); }
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); }
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) })); }