Beispiel #1
0
        private void CargarDatosPrueba()
        {
            PasoReceta paso = new PasoReceta
            {
                _IdPasoReceta = 1,
                _Descripcion  = "Para empezar vea el video y siga las instrucciones. Va a precisar una espatula, dos huevos y sal.",
                _UrlVideo     = "https://www.youtube.com/watch?v=ZJy1ajvMU1k"
            };
            PasoReceta paso2 = new PasoReceta
            {
                _IdPasoReceta = 2,
                _Descripcion  = "Acto seguido espere cinco minutos a que se cocinen los huevos. Mientras tanto marine el pescado con condimento verde y sal.",
                _TiempoReloj  = 360
            };
            PasoReceta paso3 = new PasoReceta
            {
                _IdPasoReceta = 3,
                _Descripcion  = "Para terminar, espere otros 2 minutos a que se frite el pescado. Ensalse a gusto. ¡Buen provecho!",
                _TiempoReloj  = 120
            };
            List <PasoReceta> pasos = new List <PasoReceta>
            {
                paso,
                paso2,
                paso3
            };

            Receta._Pasos = pasos;
        }
 public PasoRecetaPage(Receta rec, PasoReceta pas, Usuario usr)
 {
     InitializeComponent();
     _PasoRecetaVM = new PasoRecetaVM(rec, pas);
     Usuario       = usr;
     GenerarControl();
     GenerarBotonesAtrasSiguiente();
     BindearDescripcion();
     Navigation.RemovePage(this);
     BindingContext = _PasoRecetaVM;
 }
        //Metodo que genera un control Image con la foto del paso receta y la pone en el StackLayout 'layoutControl'
        private void GenerarControlImagen(PasoReceta paso)
        {
            Image imagen = new Image
            {
                //Ni idea como bindear esto todavia: imagen.Source = _PasoRecetaVM._Paso.imagen;
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions   = LayoutOptions.Center,
                Aspect            = Aspect.AspectFill
            };

            layoutControl.Children.Add(imagen);
        }
        //Metodo que vuelve al paso anterior de la receta. Si no hay un paso anterior no hace nada (no deberia verse la flecha en este caso).
        public async void PasoAnterior()
        {
            int idPaso = _PasoRecetaVM._Paso._IdPasoReceta;

            try
            {
                //Se hace idPaso -2 porque el id de PasoReceta empieza en 1 y el indice de la lista en 0.
                videoPlayer.Pause();
                PasoReceta pasoAnterior = _PasoRecetaVM._Receta._Pasos[idPaso - 2];
                await Navigation.PushAsync(new PasoRecetaPage(_PasoRecetaVM._Receta, pasoAnterior, Usuario));
            }
            catch
            {
            }
        }
        //Metodo que pasa al siguiente paso de la receta. Si no hay un paso siguiente no hace nada (no deberia verse la flecha en este caso).
        public async void PasoSiguiente()
        {
            int idPaso = _PasoRecetaVM._Paso._IdPasoReceta;

            try
            {
                //Se pone la variable "idPaso" sin modificarla porque el ID de PasoReceta empieza en 1, y el indice de la lista
                //en 0.
                PasoReceta proxPaso = _PasoRecetaVM._Receta._Pasos[idPaso];
                videoPlayer.Pause();
                await Navigation.PushAsync(new PasoRecetaPage(_PasoRecetaVM._Receta, proxPaso, Usuario));
            }
            catch
            {
            }
        }
        private void GenerarControlReloj(PasoReceta paso)
        {
            timer = new Stopwatch();
            AgregarLabelATimer();
            AgregarEventosTapTimer();
            gridTimer.Opacity = 1;

            /*
             * Image start = GenerarBotonStart();
             * Image stop = GenerarBotonStop();
             * Image reset = GenerarBotonReset();
             *
             * layoutControl.Children.Add(start);
             * layoutControl.Children.Add(stop);
             * layoutControl.Children.Add(reset);
             */
        }
        public void GenerarControl()
        {
            PasoReceta paso = _PasoRecetaVM._Paso;

            if (paso._UrlVideo != null)
            {
                GenerarControlVideo(paso);
                return;
            }
            if (paso._TiempoReloj != 0)
            {
                GenerarControlReloj(paso);
                return;
            }
            if (paso._Foto != null)
            {
                GenerarControlImagen(paso);
            }
        }
Beispiel #8
0
 public PasoRecetaVM(Receta rec, PasoReceta pas)
 {
     this._Receta = rec;
     this._Paso   = pas;
 }
 private void GenerarControlVideo(PasoReceta paso)
 {
     videoPlayer.Source  = YouTubeVideoIdExtension.Convert(paso._UrlVideo);
     videoPlayer.Opacity = 1;
     videoPlayer.Play();
 }