/// <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); } }
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_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); } }
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); } }
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; }
public void SetSangre(ETipoDeSangre s) { sangre = s; }
/// <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); }