public Confirmacion(RespuestaToken token,
                            SesionViewModel sesionVM,
                            RepeticionViewModel ejercicioVM,
                            List <TensionServos> tensiones,
                            VideoController videoController)
        {
            InitializeComponent();
            this._videoController = videoController;

            Sesion                = sesionVM;
            Ejercicio             = ejercicioVM;
            RespuestaToken        = token;
            DuracionLabel.Content = "Duracion: " + Ejercicio.Duracion;
            Tensiones             = tensiones;
            ContentTokenLabel(Ejercicio.Token);
            ContentEjercicioLabel(Ejercicio.Ejercicio + "");

            int Duracion = (int)(new TimeSpan(_videoController.FinGrabacion - _videoController.InicioGrabacion)).TotalSeconds;

            Duracion       = Duracion == 0 ? 1 : Duracion;
            FPS            = _videoController.framesBmp.Count / Duracion;
            CurrentFrameNo = 0;
            if (_videoController != null && _videoController.framesBmp.Count > 0)
            {
                PlayVideoBitMap();
            }
            else
            {
                GuardarVideoButton.IsEnabled = false;
            }
        }
 public SesionSoloBrazo(RespuestaToken token, SesionViewModel sesionVM, RepeticionViewModel ejercicioVM)
 {
     InitializeComponent();
     Sesion             = sesionVM;
     Ejercicio          = ejercicioVM;
     Ejercicio.Duracion = new TimeSpan(0, 0, 0);
     Token             = token;
     arduinoController = new ArduinoController();
     videoController   = new VideoController();
 }
 public Principal(RespuestaToken token, SesionViewModel sesionVM, RepeticionViewModel ejercicioVM)
 {
     InitializeComponent();
     flagSkeleton         = false;
     flagObjeto           = false;
     datosDistancia       = null;
     colorImagenDistancia = null;
     RespuestaToken       = token;
     Sesion             = sesionVM;
     Ejercicio          = ejercicioVM;
     angulos            = new Angulos();
     puntos             = new Puntos();
     Ejercicio.Duracion = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
     arduinoController  = new ArduinoController();
     videoController    = new VideoController();
 }
Beispiel #4
0
        public static RespuestaToken ValidarToken(string token)
        {
            var respuestaToken = new RespuestaToken();
            var result         = Enviar(API_TOKEN, METHOD_GET, token);

            if (RequestNoValida(result))
            {
                return(respuestaToken);
            }
            if (Convert.ToBoolean(result.isValid))
            {
                respuestaToken.Paciente         = new Patient(result.patient);
                respuestaToken.Repeticiones     = Convert.ToInt32(result.repetitions);
                respuestaToken.Ejercicio        = new Exercise(null, result.exercise);
                respuestaToken.CodigoTokenValid = TOKEN_VALIDO;
            }
            else
            {
                respuestaToken.CodigoTokenValid = TOKEN_INVALIDO;
            }
            return(respuestaToken);
        }
        // Se agrega esta funcion para asignar el trabajo una sola vez, y despues dentro de "ValidarToken()" solo se llama a la misma.
        private void ValidarTokenBackGruondWorker()
        {
            backgroundWorker.DoWork += (s, e) =>
            {
                ProgressBar.Dispatcher.Invoke(progressBarDelegate, Visibility.Visible);
                //IconoValidarToken.Dispatcher.Invoke(iconoTokenDelegate,Visibility.Hidden);
                //DNITextBox.Dispatcher.Invoke(dNIPacienteDelegate,Visibility.Hidden);
                //SesionTextBox.Dispatcher.Invoke(sesionPacienteDelegate,Visibility.Hidden);
                //ValidarTokenBtn.Dispatcher.Invoke(tokenButtonDelegate,Visibility.Hidden);
                // Thread.Sleep(5000); // Es solo para ver como queda la animacion este sleep.
                // Valido el token DNI + Sesion
                RespuestaToken = ServerHelper.ValidarToken(Sesion.Token);
                var result = RespuestaToken;
                Sesion.TokenVerificado = true;
                // Muestro el Snackbar
                switch (result.CodigoTokenValid)
                {
                case ServerHelper.TOKEN_SINCONEXION:
                    Snackbar.Dispatcher.Invoke(snackBarDelegate, "No hay conexión a internet para validar el token.");
                    EstadoVentanaLabel.Dispatcher.Invoke(estadoGeneralDelegate, "Sin conexión");
                    DificultadRatingBar.Dispatcher.Invoke(ratingBarDelegate, Visibility.Hidden);
                    SinConexiónTextBlock.Dispatcher.Invoke(sinConexionTextBlockDelegate, Visibility.Visible);
                    SinConexionCard.Dispatcher.Invoke(sinConexionCardDelegate, Visibility.Visible);
                    IniRehabBtn.Dispatcher.Invoke(iniRehabBtnDelegate, true);
                    Sesion.TokenValido = false;
                    break;

                case ServerHelper.TOKEN_INVALIDO:
                    Snackbar.Dispatcher.Invoke(snackBarDelegate, "Token inválido. Revisa los datos.");
                    DificultadRatingBar.Dispatcher.Invoke(ratingBarDelegate, Visibility.Hidden);
                    TokenInvalidoTextBlock.Dispatcher.Invoke(tokenInvalidoTextBlockDelegate, Visibility.Visible);
                    SinConexionCard.Dispatcher.Invoke(sinConexionCardDelegate, Visibility.Visible);
                    EstadoVentanaLabel.Dispatcher.Invoke(estadoGeneralDelegate, "Token rechazado");
                    IniRehabBtn.Dispatcher.Invoke(iniRehabBtnDelegate, false);
                    Sesion.TokenValido = false;
                    break;

                case ServerHelper.TOKEN_VALIDO:
                    if (result.Ejercicio.Nombre != "Reach")
                    {
                        EjercicioPersonalizado = true;
                    }
                    Snackbar.Dispatcher.Invoke(snackBarDelegate, "Token Válido.");
                    EstadoVentanaLabel.Dispatcher.Invoke(estadoGeneralDelegate, "Token válido");
                    Sesion.TokenValido = true;
                    IdLabel.Dispatcher.Invoke(labelIdDelegate, result.Paciente.PacienteId);
                    NombreLabel.Dispatcher.Invoke(labelNombreDelegate, result.Paciente.Nombre);
                    PacienteCard.Dispatcher.Invoke(pacienteCardDelegate, Visibility.Visible);
                    SinConexionCard.Dispatcher.Invoke(sinConexionCardDelegate, Visibility.Hidden);
                    NombreEjercicioLabel.Dispatcher.Invoke(nombreEjercicioDelegate, result.Ejercicio.Nombre);
                    DificultadRatingBar.Dispatcher.Invoke(dificultadEjercicioDelegate, result.Ejercicio.Dificultad);
                    DificultadRatingBar.Dispatcher.Invoke(ratingBarDelegate, Visibility.Visible);
                    RepeticionesEjercicioLabel.Dispatcher.Invoke(repeticionesEjercicioDelegate, result.Repeticiones);
                    IniRehabBtn.Dispatcher.Invoke(iniRehabBtnDelegate, true);
                    break;

                default:
                    break;
                }
                AtrasBtn.Dispatcher.Invoke(atrasBtnDelegate, Visibility.Visible);
                ProgressBar.Dispatcher.Invoke(progressBarDelegate, Visibility.Hidden);
            };
        }