コード例 #1
0
 /// <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
        private void GuardarCambios()
        {
            // validar datos
            string        nNombre   = tB_ModPac_Nombres.Text;
            string        nApellido = tB_ModPac_Apellidos.Text;
            string        dpi       = tB_ModPac_DPI.Text;
            int           day       = cB_ModPac_FechaDia.SelectedIndex + 1;
            int           month     = cB_ModPac_FechaMes.SelectedIndex + 1;
            int           year      = int.Parse(tB_ModPac_FechaYear.Text);
            ETipoDeSangre s         = (ETipoDeSangre)cB_ModPac_TipoSangre.SelectedIndex + 1;

            if (string.IsNullOrEmpty(nNombre) || string.IsNullOrEmpty(nApellido) ||
                string.IsNullOrEmpty(dpi) || year < 0 || year > DateTime.UtcNow.Year)
            {
                MessageBox.Show("Revisa los datos.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            // guardar cambios
            CPaciente p = CAdminPacientes.instance.GetPaciente(index);
            DateTime  f = new DateTime(year, month, day);

            p.SetNombre(nNombre);
            p.SetApellido(nApellido);
            p.SetDPI(dpi);
            p.SetFechaNacimiento(f);
            p.SetSangre(s);
            cambiosGuardados = true;
            MessageBox.Show("Cambios guardados.", "Info", MessageBoxButton.OK,
                            MessageBoxImage.Information);
        }
コード例 #3
0
 private void btn_Buscar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         string        nombre   = tB_Ingreso_Nombre.Text;
         string        apellido = tB_Ingreso_Apellido.Text;
         ETipoDeSangre sangre   = (ETipoDeSangre)cB_Ingreso_Sangre.SelectedIndex;
         CUtilities.FillListView(lV_Pacientes, admin.BuscarPacientes(nombre, apellido, sangre));
     }
     catch (Exception ex) { MessageBox.Show(ex.Message); }
 }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
 public CPaciente(string nombre, string apellido, string dpi, DateTime f, string razon,
                  ETipoDeSangre sangre, List <CAsistencia> asistencias)
 {
     this.nombre     = nombre;
     this.apellido   = apellido;
     this.dpi        = dpi;
     fechaNacimiento = f;
     fechaNacS       = fechaNacimiento.ToShortDateString();
     this.razon      = razon;
     this.sangre     = sangre;
     this.sangreS    = CUtilities.StringValueOf(sangre);
     CalcularEdad();
     this.asistencias = asistencias;
     cantAsistencias  = asistencias.Count;
     asisReciente     = asistencias[cantAsistencias - 1].fechaString;
 }
コード例 #6
0
 public void SetSangre(ETipoDeSangre s)
 {
     sangre = s;
 }
コード例 #7
0
        /// <summary>
        /// Busca pacientes en la lista de pacientes, dependiendo de los criterios de
        /// busqueda que el usuario especifique. Esta feo pero no se como usar LINQ o
        /// bases de datos :/. Por ahora supongo que le hace ganas.
        /// </summary>
        /// <param name="nombre"></param>
        /// <param name="apellido"></param>
        /// <param name="sangre"></param>
        /// <returns></returns>
        public List <CPaciente> BuscarPacientes(string nombre, string apellido, ETipoDeSangre sangre)
        {
            List <CPaciente> subconjunto = new List <CPaciente>();

            // ningun filtro
            if (nombre == string.Empty && apellido == string.Empty && sangre == ETipoDeSangre.Cualquiera)
            {
                foreach (CPaciente p in listaPacientes)
                {
                    subconjunto.Add(p);
                }
            }
            // por nombre
            else if (nombre != string.Empty && apellido == string.Empty && sangre == ETipoDeSangre.Cualquiera)
            {
                foreach (CPaciente p in listaPacientes)
                {
                    if (p.nombre == nombre)
                    {
                        subconjunto.Add(p);
                    }
                }
            }
            // por nombre y sangre
            else if (nombre != string.Empty && apellido == string.Empty && sangre != ETipoDeSangre.Cualquiera)
            {
                foreach (CPaciente p in listaPacientes)
                {
                    if (p.nombre == nombre && p.GetSangre() == sangre)
                    {
                        subconjunto.Add(p);
                    }
                }
            }

            // por apellido
            else if (nombre == string.Empty && apellido != string.Empty && sangre == ETipoDeSangre.Cualquiera)
            {
                foreach (CPaciente p in listaPacientes)
                {
                    if (p.apellido == apellido)
                    {
                        subconjunto.Add(p);
                    }
                }
            }
            // por apellido y sangre
            else if (nombre == string.Empty && apellido != string.Empty && sangre != ETipoDeSangre.Cualquiera)
            {
                foreach (CPaciente p in listaPacientes)
                {
                    if (p.apellido == apellido && p.GetSangre() == sangre)
                    {
                        subconjunto.Add(p);
                    }
                }
            }
            // por tipo de sangre
            else if (nombre == string.Empty && apellido == string.Empty)
            {
                foreach (CPaciente p in listaPacientes)
                {
                    if (p.GetSangre() == sangre)
                    {
                        subconjunto.Add(p);
                    }
                }
            }
            // por nombre, apellido y sangre
            else
            {
                foreach (CPaciente p in listaPacientes)
                {
                    if (p.nombre == nombre && p.apellido == apellido && p.GetSangre() == sangre)
                    {
                        subconjunto.Add(p);
                    }
                }
            }
            return(subconjunto);
        }