コード例 #1
0
        //-----------------Eventos ui-------------------//


        //Inicia los temporizadores con los valores introducidos en los campos de texto.

        private void Comenzar_click(object sender, RoutedEventArgs e)
        {
            bool tiempoProductivoValido = EsValido(TiempoProductivomTextBox.Text);
            bool tiempoDescansoValido   = EsValido(TiempoDescansomTextBox.Text);

            bloque.ResetBloque();
            if (temporizador.Enabled())
            {
                temporizador.Stop();
            }
            if (TemporizadorGrafico.IsEnabled())
            {
                TemporizadorGrafico.StopTemporizador();
            }

            if (tiempoProductivoValido && tiempoDescansoValido)
            {
                bloque.MinutosProductivos = Int32.Parse(TiempoProductivomTextBox.Text);
                bloque.MinutosDescanso    = Int32.Parse(TiempoDescansomTextBox.Text);

                //Setup hora temporizador grafico
                if (!bloque.ProductivoCumplido)
                {
                    if (bloque.MinutosProductivos >= 60)
                    {
                        TemporizadorGrafico.Hora = (int)Math.Floor((decimal)(bloque.MinutosProductivos / 60));
                    }
                    else
                    {
                        TemporizadorGrafico.Hora = 0;
                    }

                    TemporizadorGrafico.Minuto = bloque.MinutosProductivos % 60;
                }
                else
                {
                    if (bloque.MinutosDescanso >= 60)
                    {
                        TemporizadorGrafico.Hora = (int)Math.Floor((decimal)(bloque.MinutosDescanso / 60));
                    }
                    else
                    {
                        TemporizadorGrafico.Hora = 0;
                    }

                    TemporizadorGrafico.Minuto = bloque.MinutosDescanso % 60;
                }

                //Setup temporizador
                if (!bloque.ProductivoCumplido)
                {
                    temporizador.Minutos = bloque.MinutosProductivos;
                }
                else
                {
                    temporizador.Minutos = bloque.MinutosDescanso;
                }

                (sender as Button).IsEnabled  = false;
                (sender as Button).Visibility = Visibility.Hidden;

                temporizador.Start();
                TemporizadorGrafico.StartTemporizador();

                bloque.EstadoBloque = (int)Clases.Estado.Productivo;
                this.Dispatcher.Invoke(ActualizarLabelEstado);

                PausaContBtn.IsEnabled  = true;
                PausaContBtn.Visibility = Visibility.Visible;
                PausaContBtn.ToolTip    = "Pausar el contador";

                DetenerBtn.IsEnabled  = true;
                DetenerBtn.Visibility = Visibility.Visible;

                TiempoProductivomTextBox.IsEnabled = false;
                TiempoDescansomTextBox.IsEnabled   = false;
            }
            else
            {
                if (!tiempoProductivoValido)
                {
                    ErrorProd.Visibility         = Visibility.Visible;
                    PreviewLblTiempoProd.Content = "";
                }
                if (!tiempoDescansoValido)
                {
                    ErrorDesc.Visibility         = Visibility.Visible;
                    PreviewLblTiempoDesc.Content = "";
                }
            }
        }