// por fecha asistencia
 private void btn_Rep_FechaAsist_Buscar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         // obtener fecha de asistencia deseada
         if (string.IsNullOrEmpty(tB_Rep_FechaAsist_Year.Text))
         {
             MessageBox.Show("Revisa el año.", "Error", MessageBoxButton.OK,
                             MessageBoxImage.Error);
         }
         int              day    = cB_Rep_FechaAsist_Day.SelectedIndex + 1;
         int              month  = cB_Rep_FechaAsist_Month.SelectedIndex + 1;
         int              year   = int.Parse(tB_Rep_FechaAsist_Year.Text);
         DateTime         f1     = new DateTime(year, month, day);
         List <CPaciente> set    = admin.GetListaPacientes();
         List <CPaciente> subset = new List <CPaciente>();
         foreach (CPaciente p in set)
         {
             foreach (CAsistencia a in p.asistencias)
             {
                 if (f1.ToShortDateString() == a.fechaString)
                 {
                     subset.Add(p);
                     break;
                 }
             }
         }
         IComparer <CPaciente> c = new CPersonaCompararApellido();
         subset.Sort(c);
         CUtilities.FillListView(lV_Rep_FechaAsis, subset);
     }
     catch { }
 }
        // ordenar por apellidos
        private void SortByLastName(object sender, RoutedEventArgs e)
        {
            lV_Pacientes.Items.Clear();
            IComparer <CPersona> comp = new CPersonaCompararApellido();

            admin.GetListaPacientes().Sort(comp);
            CUtilities.FillListView(lV_Pacientes, admin.GetListaPacientes());
        }