/// <summary>
 /// Elimina el paciente de la lista de pacientes.
 /// </summary>
 /// <param name="p">El objeto paciente que se desea eliminar de la lista.</param>
 public void EliminarPaciente(CPaciente p)
 {
     if (p != null)
     {
         listaPacientes.Remove(p);
     }
 }
 /// <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);
     }
 }
Esempio n. 3
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);
        }
 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);
     }
 }
        // *************************************************************

        // ingresar asistencia a un paciente
        private void btn_AsistPacientes_IngresarAsistencia_Click(object sender, RoutedEventArgs e)
        {
            // agregar una asistencia al paciente seleccionado
            if (lV_AsistPacientes.SelectedIndex >= 0)
            {
                try
                {
                    int day   = cB_AsistPacientes_Dia.SelectedIndex + 1;
                    int month = cB_AsistPacientes_Mes.SelectedIndex + 1;
                    // validar fecha de asistencia
                    int      year = Math.Min(int.Parse(tB_AsistPacientes_Year.Text), DateTime.UtcNow.Year);
                    DateTime f    = new DateTime(year, month, day);
                    string   o    = tB_AsistPacientes_Observaciones.Text;
                    if (string.IsNullOrEmpty(o))
                    {
                        throw new ArgumentException("La observacion no es valida.");
                    }
                    CPaciente p = admin.GetPaciente(lV_AsistPacientes.SelectedIndex);
                    // no se puede ingresar asistencia anterior a nacimiento del paciente
                    if (p.fechaNacimiento > f)
                    {
                        MessageBox.Show("Fecha de asistencia no es valida.", "Error", MessageBoxButton.OK,
                                        MessageBoxImage.Error);
                        return;
                    }
                    p.AgregarAsistencia(f, o);
                    logSystem.Loggear(ETipoLog.AgregoAsistencia, p);
                    MessageBox.Show("Asistencia ingresada.", "Info", MessageBoxButton.OK,
                                    MessageBoxImage.Information);
                }
                catch
                {
                    MessageBox.Show("Revisa los datos.", "Error.", MessageBoxButton.OK,
                                    MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show("Por favor selecciona un paciente.", "Error",
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 private void btn_Ingreso_Eliminar_Click(object sender, RoutedEventArgs e)
 {
     if (lV_Pacientes.SelectedIndex >= 0)
     {
         try
         {
             MessageBoxResult result = MessageBox.Show("Eliminar paciente?", "Confirmar",
                                                       MessageBoxButton.YesNo, MessageBoxImage.Exclamation);
             if (result == MessageBoxResult.Yes)
             {
                 CPaciente p = admin.GetPaciente(lV_Pacientes.SelectedIndex);
                 admin.EliminarPaciente(lV_Pacientes.SelectedIndex);
                 CUtilities.FillListView(lV_Pacientes, admin.GetListaPacientes());
                 CUtilities.FillListView(lV_AsistPacientes, admin.GetListaPacientes());
                 logSystem.Loggear(ETipoLog.EliminoPaciente, p);
             }
         }
         catch (Exception ex) { MessageBox.Show(ex.Message); }
     }
 }
 /// <summary>
 /// Agrega un nuevo paciente a la lista de pacientes.
 /// </summary>
 /// <param name="p">El objeto paciente que se desea agregar a la lista.</param>
 public void AgregarPaciente(CPaciente p)
 {
     listaPacientes.Add(p);
 }
Esempio n. 8
0
 public Window_ModificarPaciente(int index)
 {
     InitializeComponent();
     this.index = index;
     paciente   = CAdminPacientes.instance.GetPaciente(index);
 }