Beispiel #1
0
        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);
        }
Beispiel #2
0
        // ============================================================================================== //

        // 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();
        }