/// <summary> /// Si el paciente se encuentra en la base, se guarda el turno en la base. Sino, se graba en un XML /// </summary> /// <param name="turno"></param> /// <returns></returns> private bool GuardarTurnos(Turnos turno) { bool success = false; try { if (PacientesDAO.VerificarPorId(turno.IdPaciente)) { TurnosDAO.Insertar(turno); } else { var auxPaciente = Paciente.BuscarPacienteEnListaXmlPorId(AgregarTurnoForm.ListaPacientesXml, turno.IdPaciente); Xml <Turnos> xmlTurno = new Xml <Turnos>(); xmlTurno.Ruta = String.Format("{0}\\SegundoParcialUtn\\TurnosClinica\\{1}-{2}-{3}.xml", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), auxPaciente.Apellido, auxPaciente.Nombre, turno.FechaTurno.ToString("MMMM dd")); xmlTurno.Guardar(turno); } success = true; } catch (Exception e) { Texto error = new Texto(); error.Guardar($"{e.Message} - Metodo: GuardarTurnos()"); success = false; } return(success); }
/// <summary> /// Guarda en un archivo binario un turno /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnGuardarBinario_Click(object sender, EventArgs e) { try { var auxTurno = (Turnos)lstBoxTurnosTerminados.SelectedItem; var auxPaciente = PacientesDAO.TraerPorId(auxTurno.IdPaciente); if (auxPaciente is null) { auxPaciente = Paciente.BuscarPacienteEnListaXmlPorId(AgregarTurnoForm.ListaPacientesXml, auxTurno.IdPaciente); } Binario binarioTurno = new Binario(); binarioTurno.Ruta = String.Format("{0}\\SegundoParcialUtn\\TurnosClinica\\{1}-{2}-{3}.bin", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), auxPaciente.Apellido, auxPaciente.Nombre, auxTurno.FechaTurno.ToString("MMMM dd")); bool success = binarioTurno.Guardar(auxTurno); if (!success) { MessageBox.Show("No se pudo binarizar el turno"); } } catch (Exception ex) { Texto error = new Texto(); error.Guardar($"{ex.Message} - Metodo: btnGuardarBinario_Click()"); } }
/// <summary> /// Cambia los label de los nombres de los pacientes mientras /// que haya turnos disponibles /// </summary> private void CambiarLabel() { //Valido que haya al menos un turno if (this.listaTurnosRestantes.Count > 0) { var auxPaciente = PacientesDAO.TraerPorId(this.listaTurnosRestantes[0].IdPaciente); if (auxPaciente is null) { foreach (Paciente paciente in AgregarTurnoForm.ListaPacientesXml) { if (paciente.Id == this.listaTurnosRestantes[0].IdPaciente) { lblNombrePaciente.Text = String.Format($"{paciente.Apellido}, {paciente.Nombre}"); break; } } } else { lblNombrePaciente.Text = String.Format($"{auxPaciente.Apellido}, {auxPaciente.Nombre}"); } } //Si no existe, no muestro nada else { lblNombrePaciente.Text = "No hay paciente"; } //Valido que haya al menos dos turnos if (this.listaTurnosRestantes.Count > 1) { var auxPaciente = PacientesDAO.TraerPorId(this.listaTurnosRestantes[1].IdPaciente); if (auxPaciente is null) { foreach (Paciente paciente in AgregarTurnoForm.ListaPacientesXml) { if (paciente.Id == this.listaTurnosRestantes[1].IdPaciente) { lblNombreSigPaciente.Text = String.Format($"{paciente.Apellido}, {paciente.Nombre}"); break; } } } else { lblNombreSigPaciente.Text = String.Format($"{auxPaciente.Apellido}, {auxPaciente.Nombre}"); } } //Si no existe, no muestro nada else { lblNombreSigPaciente.Text = "No hay paciente"; } }
/// <summary> /// Carga las listas de Pacientes y Espcialistas desde los XML /// </summary> private void CargarXml() { //Pacientes Xml <List <Paciente> > xmlPacientes = new Xml <List <Paciente> >(); xmlPacientes.Ruta = String.Format("{0}\\SegundoParcialUtn\\ArchivosClinica\\PacientesSegundaClinica.xml", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); try { listaPacientesXml = xmlPacientes.Leer(); foreach (Paciente paciente in listaPacientesXml) { //pregunto si ese paciente no esta en la base, y si no esta lo meto en la lista if (!PacientesDAO.Comparar(paciente)) { lstPacientesXml.Items.Add(paciente); } } lstPacientesXml.DisplayMember = "Nombre"; } catch (XmlException e) { Texto error = new Texto(); error.Guardar($"{e.Message} - Metodo: CargarXml()"); MessageBox.Show("No se pudo cargar la lista externa de Pacientes"); rdoBtnExternoPaciente.Visible = false; } //Especialistas try { Xml <List <Especialista> > xmlEspecialistas = new Xml <List <Especialista> >(); xmlEspecialistas.Ruta = String.Format("{0}\\SegundoParcialUtn\\ArchivosClinica\\DoctoresSegundaClinica.xml", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); listaEspecialistasXml = xmlEspecialistas.Leer(); foreach (Especialista espe in listaEspecialistasXml) { //pregunto si ese especialista no esta en la base, y si no esta lo meto en la lista if (!EspecialistasDAO.Comparar(espe)) { lstEspecialistaXml.Items.Add(espe); } } lstEspecialistaXml.DisplayMember = "Nombre"; } catch (XmlException e) { Texto error = new Texto(); error.Guardar($"{e.Message} - Metodo: CargarXml()"); MessageBox.Show("No se pudo cargar la lista externa de Especialistas"); rdoBtnExternoEspecialista.Visible = false; } }