public override Pessoa Get(int id) { try { var pessoa = Servico.BuscarPorId(id); if (pessoa?.Cartoes != null && pessoa.Cartoes.Any()) { pessoa.Cartoes = _cartaoServico.DescriptografarCartoes(pessoa.Cartoes); } return(pessoa); } catch (NotFoundException) { throw new HttpResponseException(HttpStatusCode.NotFound); } }
public bool TemAcesso(Usuario usuario) { var dbUsuario = usuarioServico.BuscarPorId(usuario.Id); cartaoServico.DescriptografarCartoes(dbUsuario.Pessoa.Cartoes); var participante = new Participant().FromUsuario(dbUsuario); participante.catalogId = clubeSettings.Credentials.CatalogId; participante.clientId = clubeSettings.Credentials.ClientId; participante.profileId = clubeSettings.Credentials.ProfileId; var premiarClube = new PremiarClubeProvider(clubeSettings); var authenticatedPremiarClube = premiarClube.Me(participante); var temAcesso = authenticatedPremiarClube.TemAcesso(); if (!temAcesso) { premiarClube.Participantes.Criar(participante); var cartao = dbUsuario.Pessoa.Cartoes.FirstOrDefault(); cartao.DadosClube = JsonConvert.SerializeObject(participante); cartaoServico.Criptografar(cartao); cartaoServico.Salvar(cartao); //CreditarPontos(participante); temAcesso = authenticatedPremiarClube.TemAcesso(); } if (temAcesso) { throw new RedirectException(204, $"https://{clubeSettings.Credentials.CampaignName}.premmiar.com.br/#/auth?access_token={authenticatedPremiarClube.Participantes.Api.RawToken}"); } return(temAcesso); }