//Se encarga de asignar el valor de la fecha y además de que no pueda ser la fecha fin incorrecta private void FechaFinDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { if (FechaFinDatePicker.SelectedDate.HasValue) { DateTime fecha = new DateTime(); fecha = FechaFinDatePicker.SelectedDate.Value; Evento.End = new EventDateTime(); Evento.End.DateTime = new DateTime(fecha.Year, fecha.Month, fecha.Day, 23, 59, 59); if (!CamposCorrectos.ContainsKey(FechaFinDatePicker.Name)) { CamposCorrectos.Add(FechaFinDatePicker.Name, true); ValidarCampos(); } } else { if (CamposCorrectos.ContainsKey(FechaFinDatePicker.Name)) { CamposCorrectos.Remove(FechaFinDatePicker.Name); ValidarCampos(); } } }
//Se encarga de convertir el estado a los valores admitidos por google private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox combobox = (ComboBox)sender; switch (ComboBoxEstado.SelectedIndex) { case 0: Evento.Status = "tentative"; break; case 1: Evento.Status = "confirmed"; break; case 2: Evento.Status = "cancelled"; break; } if (!CamposCorrectos.ContainsKey(combobox.Name)) { CamposCorrectos.Add(combobox.Name, true); ValidarCampos(); } }
//Añade el campo hora tal como seleccionamos uno de los combobos de hora private void ComboBoxHoras_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox hora = (ComboBox)sender; if (!CamposCorrectos.ContainsKey(hora.Name)) { CamposCorrectos.Add(hora.Name, true); ValidarCampos(); } }
//Al cambiar la fecha repasa los dias no disponibles, los marca en el otro calendario, si estos no cuadraran avisa del error. private void FechaInicioDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { FechaFinDatePicker.IsEnabled = true; DateTime fechainicio = DateTime.Now; if (FechaInicioDatePicker.SelectedDate.HasValue) { fechainicio = FechaInicioDatePicker.SelectedDate.Value; } CalendarDateRange cdr = new CalendarDateRange(DateTime.MinValue, fechainicio.AddDays(-1)); FechaFinDatePicker.BlackoutDates.Clear(); try { FechaFinDatePicker.BlackoutDates.Add(cdr); } catch (ArgumentOutOfRangeException) { MessageBox.Show("La fecha de inicio no puede ser posterior a la de fin"); FechaFinDatePicker.SelectedDate = null; FechaFinDatePicker.BlackoutDates.Add(cdr); if (CamposCorrectos.ContainsKey(FechaFinDatePicker.Name)) { CamposCorrectos.Remove(FechaFinDatePicker.Name); } } finally { if (!CamposCorrectos.ContainsKey(FechaInicioDatePicker.Name)) { CamposCorrectos.Add(FechaInicioDatePicker.Name, true); DateTime fecha = new DateTime(); fecha = FechaInicioDatePicker.SelectedDate.Value; Evento.Start = new EventDateTime(); Evento.Start.DateTime = new DateTime(fecha.Year, fecha.Month, fecha.Day, 00, 0, 0); } ValidarCampos(); } }
//Comprueba que el campo de texto no esta vacio y en caso de no estarlo lo añade como correcto a la lista de campos private void TextoFormulario_TextChanged(object sender, TextChangedEventArgs e) { var textbox = (TextBox)sender; if (textbox.Text != String.Empty) { if (!CamposCorrectos.ContainsKey(textbox.Name)) { CamposCorrectos.Add(textbox.Name, true); ValidarCampos(); } } else { if (CamposCorrectos.ContainsKey(textbox.Name)) { CamposCorrectos.Remove(textbox.Name); if (BotonAgregarEvento.IsEnabled == true) { BotonAgregarEvento.IsEnabled = false; } } } }