public async Task <JsonLogin> RefreshDataAsync(string usuario, string contrasena) { Items = new JsonLogin(); var uri = new Uri(string.Format(Constants.RestUrl, string.Empty)) + "/api/login"; try { Dictionary <string, string> pairs = new Dictionary <string, string>(); pairs.Add("usu_nombre", usuario); pairs.Add("usu_contrasenia", contrasena); var json = JsonConvert.SerializeObject(pairs); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(uri, content); if (response.IsSuccessStatusCode) { var data = await response.Content.ReadAsStringAsync(); Items = JsonConvert.DeserializeObject <JsonLogin>(data); } } catch (Exception ex) { Debug.WriteLine(@" ERROR {0}", ex.Message); } return(Items); }
public async void OnLoginButtonClicked(object sender, EventArgs args) { var notificator = DependencyService.Get <IToastNotificator>(); var options = new Notification() { Title = "Title", Description = "Description" }; if (txtUsuario.Text == null || txtContrasena.Text == null) { await notificator.Notify(ToastNotificationType.Error, "Login Incorrecto...", "Por favor ingrese usuario y contraseƱa.", TimeSpan.FromSeconds(2)); return; } JsonLogin jsonLogin = await App.TodoManager.GetTaskAsync(txtUsuario.Text, txtContrasena.Text); if (jsonLogin != null && jsonLogin.status == 200) { Usuario usuario = jsonLogin.data; Application.Current.Properties["user_id"] = usuario.usu_id; Application.Current.Properties["user_nombre"] = usuario.rol_id; Application.Current.Properties["user_token"] = usuario.token; Application.Current.Properties["user_login"] = true; Application.Current.Properties["user"] = JsonConvert.SerializeObject(jsonLogin); await Application.Current.SavePropertiesAsync(); await notificator.Notify(ToastNotificationType.Success, jsonLogin.title == null? "Login" : jsonLogin.title, jsonLogin.message, TimeSpan.FromSeconds(0.7)); loginCorrecto(); } else { if (jsonLogin != null && jsonLogin.status != 0) { await notificator.Notify(ToastNotificationType.Error, jsonLogin != null?jsonLogin.title : "Error", jsonLogin != null?jsonLogin.message : "Ocurrio un error.", TimeSpan.FromSeconds(2)); } else { await notificator.Notify(ToastNotificationType.Error, "Error de Red...", "Datos no validados.", TimeSpan.FromSeconds(1)); } } }