예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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()");
            }
        }
예제 #3
0
        /// <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";
            }
        }
예제 #4
0
        /// <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;
            }
        }