Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using App8.Services;
- using App8.ViewModels;
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.Net.Http;
- using System.Net.Http.Headers;
- using System.Text;
- using System.Threading.Tasks;
- using Xamarin.Essentials;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- namespace App8
- {
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class Login : ContentPage
- {
- public Login()
- {
- InitializeComponent();
- }
- public async Task<bool> LoginAsync(string login, string senha)
- {
- var KeyValues = new List<KeyValuePair<string, string>>
- {
- new KeyValuePair<string, string >("login", login),
- new KeyValuePair<string, string >("senha", senha),
- };
- var request = new HttpRequestMessage(
- HttpMethod.Post, "http://10.83.1.72:3000/auth");
- request.Content = new FormUrlEncodedContent(KeyValues);
- var client = new HttpClient();
- var response = await client.SendAsync(request);
- var token = await response.Content.ReadAsStringAsync();
- if (response.StatusCode == System.Net.HttpStatusCode.OK)
- {
- await SaveToken("token", token);
- await SaveToken("login", login);
- await SaveToken("senha", senha);
- return true;
- }
- else
- {
- return false;
- }
- }
- public async Task<bool> SaveToken(string chave, string valor)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(valor))
- {
- await SecureStorage.SetAsync(chave, valor);
- return true;
- }
- return false;
- }
- catch
- {
- return false;
- }
- }
- public async Task VerificarLogin()
- {
- LoginViewModel usuario = new LoginViewModel()
- {
- login = Convert.ToString(login.Text),
- senha = Convert.ToString(senha.Text)
- };
- if (await LoginAsync(usuario.login, usuario.senha) == true)
- {
- var token = await SecureStorage.GetAsync("token");
- var login = await SecureStorage.GetAsync("login");
- var senha = await SecureStorage.GetAsync("senha");
- await DisplayAlert("Alert", login + "Usuario com Sucesso!", "OK");
- await Navigation.PushAsync(new PageTwo()); /// COLOQUEI AQUI A PAGINA 2
- }
- else
- {
- await DisplayAlert("Alert", "Usuario ou Senha incorretos", "OK");
- }
- }
- public async Task<bool> verificarUsuarioLogado()
- {
- if (await SecureStorage.GetAsync("token") != null)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- private async void Button_Clicked(object sender, EventArgs e)
- {
- if (await verificarUsuarioLogado())
- {
- await Navigation.PushAsync(new PageTwo());
- }
- else
- {
- await VerificarLogin();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement