private void btnModificar_Click(object sender, EventArgs e)
 {
     if (dgDetalle.SelectedRows.Count > 0)
     {
         HorarioDetalle horariodet = detalle.ElementAt<HorarioDetalle>(dgDetalle.CurrentRow.Index);
         abmdetalle = new ABMDetalleHorario(horariodet);
         if (esAreaServicio) { abmdetalle.EsAreaServicio = true; }
         abmdetalle.Desde = dpFechaDesde.Value;
         abmdetalle.Hasta = dpFechaHasta.Value;
         abmdetalle.Matricula = matricula;
         abmdetalle.cargarDetalleHorario();
         abmdetalle.ShowDialog();
         if (abmdetalle.Horariodet != null)
         {
             detalle[dgDetalle.CurrentRow.Index] = abmdetalle.Horariodet;
         }
         cargarGrilla();
     }
 }
 private void btnNuevo_Click(object sender, EventArgs e)
 {
     abmdetalle = new ABMDetalleHorario(new HorarioDetalle());
     if (esAreaServicio) { abmdetalle.EsAreaServicio = true; }
     abmdetalle.Desde = dpFechaDesde.Value;
     abmdetalle.Hasta = dpFechaHasta.Value;
     abmdetalle.Matricula = matricula;
     abmdetalle.ShowDialog();
     if (abmdetalle.Horariodet != null)
     {
         if (esAreaServicio)
         {
             if (!haySolapamiento())
             {
                 detalle.Add(abmdetalle.Horariodet);
             }
             else {
                 MessageBox.Show("La hora de inicio y fin de atención para el día " + abmdetalle.Horariodet.Dia.Descripcion.ToString() + " no están disponibles");
             }
         }else{
             detalle.Add(abmdetalle.Horariodet);
         }
     }
     cargarGrilla();
 }
 private void btnEliminar_Click(object sender, EventArgs e)
 {
     if (dgDetalle.SelectedRows.Count > 0)
     {
         HorarioDetalle horariodet = detalle.ElementAt<HorarioDetalle>(dgDetalle.CurrentRow.Index);
         abmdetalle = new ABMDetalleHorario(horariodet);
         if (esAreaServicio) { abmdetalle.EsAreaServicio = true; }
         abmdetalle.cargarDetalleHorario();
         abmdetalle.ShowDialog();
         if (abmdetalle.Horariodet != null)
         {
             detalle.Remove(abmdetalle.Horariodet);
         }
         cargarGrilla();
     }
 }