public Resultado <string> IniciarSesion(Comando_IniciarSesion comando) { var resultado = new Resultado <string>(); try { var diccionarioHeader = new Dictionary <string, string>(); diccionarioHeader.Add("--Username", comando.Username); diccionarioHeader.Add("--Password", comando.Password); var url = URL + "/v2/Usuario/IniciarSesion"; var resultadoIniciarSesion = ApiRestCall.CallGet <string>(url, diccionarioHeader); if (!resultadoIniciarSesion.Ok) { resultado.Error = resultadoIniciarSesion.Error; return(resultado); } resultado.Return = resultadoIniciarSesion.Return; } catch (Exception e) { resultado.SetError(e); } return(resultado); }
// ============================================================================================== // // Eventos UI -> Barra navegación // ============================================================================================== // // Eventos UI -> Contenido private async void IniciarSesion_Clicked(object sender, EventArgs e) { string ipGestor = IPGestor.Text ?? ""; string usuario = Usuario.Text ?? ""; string contrasena = Contrasena.Text ?? ""; if (ipGestor == "") { await DisplayAlert("Alerta", "IP del Gestor vacía. Este campo es obligatorio", "Aceptar"); return; } if (usuario == "") { await DisplayAlert("Alerta", "Usuario vacío. Este campo es obligatorio", "Aceptar"); return; } if (contrasena == "") { await DisplayAlert("Alerta", "Contraseña vacía. Este campo es obligatorio", "Aceptar"); return; } if (!ipGestor.EsIPValida()) { await DisplayAlert("Alerta", "La IP introducida no es válida", "Aceptar"); return; } if (usuario.Length > Comun.Global.MAX_CARACTERES_LOGIN) { await DisplayAlert("Alerta", "El Usuario no puede estar formado por más de 20 caracteres", "Aceptar"); return; } if (contrasena.Length > Comun.Global.MAX_CARACTERES_LOGIN) { await DisplayAlert("Alerta", "La Contraseña no puede estar formada por más de 20 caracteres", "Aceptar"); return; } UserDialogs.Instance.ShowLoading("Intentando iniciar sesión..."); var comandoRespuesta = await Task.Run(() => { Global.IPGestor = ipGestor; string respuestaGestor = new Comando_IniciarSesion(usuario, contrasena).Enviar(Global.IPGestor, true); return(respuestaGestor == null ? null : Comando.DeJson <Comando_ResultadoIniciarSesion>(respuestaGestor)); }); if (comandoRespuesta != null) { Procesar_ResultadoIniciarSesion(comandoRespuesta); } else { await UserDialogs.Instance.AlertAsync ( "No se obtuvo respuesta del Gestor.\n\n" + "Comprueba que la dirección IP es correcta y que no hay problemas de conexión.", "Alerta", "Aceptar" ); } UserDialogs.Instance.HideLoading(); }