//-----------------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 = ""; } } }