示例#1
0
        public async Task <ActionResult> Detalhes(string idPerfil)
        {
            var cliente = new HttpClient();

            cliente.BaseAddress = new Uri(APIRegistro.GetBaseURI());
            cliente.DefaultRequestHeaders.Accept.Clear();
            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // ############
            idPerfil = "6c2bf86d-eb35-4ce6-94ad-319177b3a40c";
            // ############

            //var httpResponse = await cliente.PostAsJsonAsync("api/Perfil/Detalhes", idPerfil);
            var httpResponse = await cliente.GetAsync("api/Perfil/Detalhes?id=" + idPerfil);

            if (httpResponse.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var retorno = httpResponse.Content.ReadAsAsync <Perfil>();
                var perfil  = new ModeloPerfil()
                {
                    Nome       = retorno.Result.Nome,
                    Email      = retorno.Result.Email,
                    FotoCapa   = retorno.Result.FotoCapa,
                    FotoPerfil = retorno.Result.FotoPerfil,
                    Nascimento = retorno.Result.Nascimento,
                    Sobrenome  = retorno.Result.Sobrenome,
                    Telefone   = retorno.Result.Telefone
                };

                return(View(perfil));
            }

            return(RedirectToAction("Index", "Conteudo"));
        }
示例#2
0
        public async Task <ActionResult> Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model)); // SE O FORMULÁRIO ESTIVER ERRADO RECARREGA A PÁGINA
            }
            // ############## REDIRECIONAR AQUI PARA A API ##############

            //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            //switch (result)
            //{
            //    case SignInStatus.Success:
            //        return RedirectToLocal(returnUrl);
            //    case SignInStatus.LockedOut:
            //        return View("Lockout");
            //    case SignInStatus.RequiresVerification:
            //        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            //    case SignInStatus.Failure:
            //    default:
            //        ModelState.AddModelError("", "Invalid login attempt.");
            //        return View(model);
            //}
            var cliente = new HttpClient();

            cliente.BaseAddress = new Uri(APIRegistro.GetBaseURI());
            cliente.DefaultRequestHeaders.Accept.Clear();
            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            var conteudoFormulario = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("grant_type", "password"),
                new KeyValuePair <string, string>("username", model.Email),
                new KeyValuePair <string, string>("password", model.Senha)
            });

            HttpResponseMessage resposta = await cliente.PostAsync("Token", conteudoFormulario);

            var respostaJson = await resposta.Content.ReadAsStringAsync();

            var jObject = JObject.Parse(respostaJson);

            Session["token"] = jObject.GetValue("access_token").ToString();

            cliente.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", jObject.GetValue("access_token").ToString());

            resposta = await cliente.PostAsJsonAsync("api/Perfil/IdPorEmail", model.Email);

            var idPerfil = await resposta.Content.ReadAsStringAsync();

            //jObject = JObject.Parse(idPerfil);

            // ############## SE TUDO ESTIVER CERTO DIRECIONA PARA O CONTEÚDO ##############
            return(RedirectToAction("Detalhes", "Perfil", new Guid(idPerfil)));
        }
示例#3
0
        public async Task <ActionResult> Registro(RegistroViewModel modelo)
        {
            if (!ModelState.IsValid)
            {
                return(View(modelo)); // SE O FORMULÁRIO ESTIVER ERRADO RECARREGA A PÁGINA
            }
            var cliente = new HttpClient();

            cliente.BaseAddress = new Uri(APIRegistro.GetBaseURI());
            cliente.DefaultRequestHeaders.Accept.Clear();
            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            var httpResponse = await cliente.PostAsJsonAsync("api/Account/Register", modelo);

            var retorno = httpResponse.Content;

            if (retorno.ToString() == "ERRO")
            {
                return(View(modelo));
            }

            return(RedirectToAction("Index", "Conteudo"));
        }