/// <summary>
 /// Carga pacientes de un archivo de texto.
 /// </summary>
 public void Cargar()
 {
     string[] lines = File.ReadAllLines(CUtilities.SAVE_FILE_NAME);
     foreach (string line in lines)
     {
         string[]           lineArray = line.Split('$');
         string             nombre    = lineArray[0];
         string             apellido  = lineArray[1];
         string             dpi       = lineArray[2];
         int                year      = int.Parse(lineArray[3]);
         int                month     = int.Parse(lineArray[4]);
         int                day       = int.Parse(lineArray[5]);
         string             razon     = lineArray[6];
         DateTime           f         = new DateTime(year, month, day);
         ETipoDeSangre      sangre    = (ETipoDeSangre)int.Parse(lineArray[7]);
         string[]           asisArray = lineArray[8].Split('#');
         List <CAsistencia> asisList  = new List <CAsistencia>();
         foreach (string s in asisArray)
         {
             if (string.IsNullOrEmpty(s))
             {
                 continue;
             }
             string[]    asistenciaIndividual = s.Split('_');
             CAsistencia a = new CAsistencia(asistenciaIndividual[0], asistenciaIndividual[1]);
             asisList.Add(a);
         }
         CPaciente p = new CPaciente(nombre, apellido, dpi, f, razon, sangre, asisList);
         listaPacientes.Add(p);
     }
 }
예제 #2
0
        public void AgregarAsistencia(DateTime f, string observacion)
        {
            CAsistencia a = new CAsistencia(f, observacion);

            asistencias.Add(a);
            asistencias.Sort();
            asisReciente    = asistencias[asistencias.Count - 1].fechaString;
            cantAsistencias = asistencias.Count;
        }
        public int CompareTo(object obj)
        {
            CAsistencia a = obj as CAsistencia;

            if (a == null)
            {
                throw new ArgumentNullException("Null argument passed.");
            }
            return(fecha.CompareTo(a.fecha));
        }
 private void btn_Ingresar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         // conseguir datos del paciente de controles
         string nombre   = tB_Ingreso_Nombre.Text;
         string apellido = tB_Ingreso_Apellido.Text;
         string razon    = tB_Ingreso_Razon.Text;
         string dpi      = tB_DPI.Text;
         int    dia      = cB_Dia.SelectedIndex + 1;
         int    mes      = cB_Mes.SelectedIndex + 1;
         // validar fecha de nacimiento
         int year = Math.Min(int.Parse(tB_Year.Text), DateTime.UtcNow.Year);
         List <CAsistencia> asis = new List <CAsistencia>();
         CAsistencia        a    = new CAsistencia(DateTime.UtcNow.ToShortDateString(), tB_AsistPacientes_Observaciones.Text);
         asis.Add(a);
         DateTime      fechaNac = new DateTime(year, mes, dia);
         ETipoDeSangre sangre   = (ETipoDeSangre)cB_Ingreso_Sangre.SelectedIndex;
         // validar datos
         if (string.IsNullOrEmpty(nombre) || string.IsNullOrEmpty(apellido) || sangre == ETipoDeSangre.Cualquiera ||
             string.IsNullOrEmpty(dpi) || string.IsNullOrEmpty(tB_Year.Text))
         {
             MessageBox.Show("Revisa los datos.", "Error", MessageBoxButton.OK,
                             MessageBoxImage.Error);
         }
         else
         {
             // ingresar paciente
             CPaciente p = new CPaciente(nombre, apellido, dpi, fechaNac, razon, sangre, asis);
             admin.AgregarPaciente(p);
             CUtilities.FillListView(lV_Pacientes, admin.GetListaPacientes());
             CUtilities.FillListView(lV_AsistPacientes, admin.GetListaPacientes());
             logSystem.Loggear(ETipoLog.NuevoPaciente, p);
             MessageBox.Show("El paciente ha sido agregado.", "Info", MessageBoxButton.OK,
                             MessageBoxImage.Information);
             // limpiar campos de ingreso
             tB_Ingreso_Nombre.Text   = string.Empty;
             tB_Ingreso_Apellido.Text = string.Empty;
             tB_DPI.Text                     = string.Empty;
             tB_Year.Text                    = string.Empty;
             cB_Dia.SelectedIndex            = 0;
             cB_Mes.SelectedIndex            = 0;
             cB_Ingreso_Sangre.SelectedIndex = 0;
             tB_Ingreso_Razon.Text           = string.Empty;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error al agregar paciente - " + ex.Message, "Error",
                         MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }