public IActionResult LoginV3( [FromServices] SigningConfigurations signingConfigurations, [FromServices] TokenConfigurations tokenConfigurations, [FromBody] dynamic user) { try { string cpf = user.Cpf.Value; string senha = user.Senha.Value; var usuario = new UsuarioProxy().BuscarPorLoginSenha(cpf, senha); if (usuario != null) { var grupo = new UsuarioGrupoProxy().BuscarPorUsuario(usuario.USR_CODIGO); bool pensionista = grupo != null && grupo.GRP_CODIGO == 32 ? true : false; string sqContratoTrabalho; if (pensionista) { var processo = new ProcessoBeneficioProxy().BuscarPorCdPessoa(usuario.CD_PESSOA.Value); sqContratoTrabalho = processo.SQ_CONTRATO_TRABALHO.ToString(); } else { var dadosPessoais = new DadosPessoaisProxy().BuscarPorCdPessoa(usuario.CD_PESSOA.Value).First(); sqContratoTrabalho = dadosPessoais.SQ_CONTRATO_TRABALHO.ToString(); } var claims = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Cpf", usuario.USR_LOGIN), new KeyValuePair <string, string>("CdPessoa", usuario.CD_PESSOA.ToString()), new KeyValuePair <string, string>("Admin", usuario.USR_ADMINISTRADOR), new KeyValuePair <string, string>("SqContratoTrabalho", sqContratoTrabalho), new KeyValuePair <string, string>("Pensionista", pensionista.ToString()) }; var token = AuthenticationToken.Generate(signingConfigurations, tokenConfigurations, usuario.USR_LOGIN, claims); return(Json(new { token.AccessToken, token.Authenticated, token.Created, token.Expiration, token.Message, pensionista })); } else { throw new Exception("MatrĂcula ou senha incorretos!"); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult SelecionarMatricula( [FromServices] SigningConfigurations signingConfigurations, [FromServices] TokenConfigurations tokenConfigurations, string matricula) { try { bool pensionista = false; var usuario = new UsuarioProxy().BuscarPorCPF(Cpf); var contratoTrabalho = new ContratoTrabalhoProxy().BuscarPorCpfComPlanoAtivo(Cpf).First(x => x.NR_REGISTRO == matricula); var cdPessoa = contratoTrabalho.CD_PESSOA; var sqContratoTrabalho = contratoTrabalho.SQ_CONTRATO_TRABALHO; var processo = new ProcessoBeneficioProxy().BuscarPorCdPessoa(cdPessoa); if (processo != null) { pensionista = true; sqContratoTrabalho = processo.SQ_CONTRATO_TRABALHO.Value; } var claims = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Cpf", Cpf), new KeyValuePair <string, string>("CdPessoa", cdPessoa.ToString()), new KeyValuePair <string, string>("Admin", Admin ? "S" : "N"), new KeyValuePair <string, string>("SqContratoTrabalho", sqContratoTrabalho.ToString()), new KeyValuePair <string, string>("Pensionista", pensionista.ToString()) }; var token = AuthenticationToken.Generate(signingConfigurations, tokenConfigurations, Cpf, claims); return(Ok(new { token.AccessToken, Pensionista = pensionista })); } catch (Exception ex) { return(BadRequest(ex.Message)); } }