public void BuscarDetalles(TurnoAtencion atencion)
        {
            double nImporte = 0;
            string afiliado = "";
            string nroAfiliado = "";
            string nroAutorizacion = "";
            gestorAutorizacion = new GestorAutorizacion();
            Autorizacion autorizacion = new Autorizacion();

            for (int i = 0; i < atencion.AtencionDetalle.Count; i++)
            {
                afiliado = "";
                nroAfiliado = "";
                nroAutorizacion = "";
                atenciondet = new TurnoAtencionDetalle();
                atenciondet = atencion.AtencionDetalle[i];

                if (!atenciondet.Presentado)
                {
                    listaDetalle.Add(atenciondet);
                    nImporte = listaDetalle[i].Practica.Anestesista + listaDetalle[i].Practica.Ayudante + listaDetalle[i].Practica.Especialista + listaDetalle[i].Practica.Gastos;
                    afiliado = atencion.Turno.Paciente.Apellidos + " " + atencion.Turno.Paciente.Nombres;
                    nroAfiliado = atencion.NumeroAfiliado;
                    if (atenciondet.Autorizado)
                    {
                        autorizacion = gestorAutorizacion.buscar(atencion.Turno);
                        nroAutorizacion = autorizacion.Detalle[i].NumeroAutorizacion;
                    }
                    dgPrestaciones.Rows.Add(false, atencion.Turno.Fecha.ToShortDateString(), listaDetalle[i].Practica.Descripcion, listaDetalle[i].Cantidad, nImporte, afiliado, nroAfiliado, atencion.NumeroOrden, atencion.NumeroAutorizacion, nroAutorizacion,listaDetalle[i].Id);
                }
            }
        }
예제 #2
0
        public TurnoAtencion buscarAtencion(Turno t)
        {
            TurnoAtencion ta = null;

            IList<TurnoAtencion> resultados = ConexionBD.getSession().CreateCriteria(typeof(TurnoAtencion)).Add(Expression.Eq("Turno.Id", t.Id)).List<TurnoAtencion>();
            if (resultados.Count > 0)
            {
                ta = new TurnoAtencion();
                ta = resultados.ElementAt<TurnoAtencion>(0);
            }

            return ta;
        }
예제 #3
0
        public Cobros(Usuario u, Turno t, TurnoAtencion ta)
        {
            InitializeComponent();
            usuario = new Usuario();
            usuario = u;
            turno = new Turno();
            turno = t;
            turnoAtencion = new TurnoAtencion();
            turnoAtencion = ta;
            gestorOC = new GestorOperacionCaja();
            cajero = new Cajero();

            txtNroCobro.Text = (gestorOC.buscarUltimoNumero()+1).ToString();

            dpFecha.Value = DateTime.Today;
            dpFechaVisita.Value = turno.Fecha;
            dpHora.Value = turno.Hora;

            txtPaciente.Text = turno.Paciente.Apellidos + ", " + turno.Paciente.Nombres;
            txtDoc.Text = turno.Paciente.TipoDocumento.Codigo + " " + turno.Paciente.NumeroDocumento.ToString();
            if (turno.Paciente.Afiliaciones.Count > 0)
            {
                if (turnoAtencion.Plan == turno.Paciente.Afiliaciones[0].Plan)
                {
                    txtNroAfiliado.Text = turno.Paciente.Afiliaciones[0].NroAfiliado;
                }
                txtObraSocial.Text = turnoAtencion.Plan.ObraSocial.Descripcion;
                txtPlan.Text = turnoAtencion.Plan.Descripcion;
            }
            if (turno.EntidadTurno.Area != null)
            {
                txtAgenda.Text = turno.EntidadTurno.Area.Descripcion;
            }
            else
            {
                txtAgenda.Text = turno.EntidadTurno.Profesional.Nombres + " " + turno.EntidadTurno.Profesional.Apellidos;

            }
            CargarDatos();
        }
예제 #4
0
        public void CargarDatos()
        {
            if (agenda == "Area")
            {
                GestorAreaServicio gestorArea = new GestorAreaServicio();
                AreaServicio area = new AreaServicio();
                area = gestorArea.buscar(idagenda);
                horarios = area.Horarios;
                txtAgenda.Text = area.Descripcion;

                EntidadTurno et = gestor.getEntidadTurno(area, null);
                if (et == null)
                {
                    turno.EntidadTurno = new EntidadTurno();
                }
                else
                {
                    turno.EntidadTurno = et;
                }

                turno.EntidadTurno.TipoEntidadTurno = "AREASERVICIO";
                turno.EntidadTurno.Area = area;
            }
            else
            {
                GestorProfesional gestorProfesional = new GestorProfesional();
                Profesional profesional = new Profesional();
                Matricula matricula = new Matricula();
                profesional = gestorProfesional.buscar(idagenda);
                txtAgenda.Text = profesional.Apellidos + ", " + profesional.Nombres;
                txtEspecialidad.Text = especialidad;
                matricula = gestorProfesional.buscarMatricula(idmatricula);
                horarios = matricula.Horarios;
                EntidadTurno et=gestor.getEntidadTurno(null,profesional);
                if (et == null)
                {
                    turno.EntidadTurno = new EntidadTurno();
                }
                else
                {
                    turno.EntidadTurno = et;
                }

                turno.EntidadTurno.TipoEntidadTurno = "PROFESIONAL";
                turno.EntidadTurno.Profesional = profesional;
            }
            if (evento != "Sobreturno")
            {
                dpFecha.Value = turno.Fecha;
                dpHora.Value = turno.Hora;
            }
            if (turno.Id != 0)
            {
                atencion = new TurnoAtencion();
                cmbEstado.SelectedItem = turno.EstadoTurno;
                cmbTipoTurno.SelectedItem = turno.TipoTurno;
                paciente = new Paciente();
                paciente = turno.Paciente;
                txtDoc.Text = paciente.TipoDocumento.Codigo + " " + paciente.NumeroDocumento.ToString();
                txtPaciente.Text = paciente.Apellidos + ", " + paciente.Nombres;
                btnBuscar.Enabled = false;
                chbSobreTurno.Checked = turno.SobreTurno;
                txtImpAdicional.Text = turno.ImporteAdicional.ToString();
                if (paciente.Afiliaciones.Count > 0)
                {
                    txtObraSocial.Text = paciente.Afiliaciones[0].Plan.ObraSocial.Descripcion;
                    txtPlan.Text = paciente.Afiliaciones[0].Plan.Descripcion;
                    txtNroAfiliado.Text = paciente.Afiliaciones[0].NroAfiliado;
                }
                if (gestor.buscarAtencion(turno) != null)
                {
                    atencion = gestor.buscarAtencion(turno);
                    listaDetalleAtencion = atencion.AtencionDetalle;
                    planElegido = new Plan();
                    planElegido = atencion.Plan;
                    txtOS.Text = atencion.Plan.ObraSocial.Descripcion;
                    txtPlanAtencion.Text = atencion.Plan.Descripcion;
                    txtNroOrden.Text = atencion.NumeroOrden;
                    txtNroAfilAtencion.Text = atencion.NumeroAfiliado;
                    txtNroAuto.Text = atencion.NumeroAutorizacion;
                    CargarGrillaDetalle();
                    panelTurno.Enabled = false;
                }
                txtNroAuto.Enabled = true;
                txtNroOrden.Enabled = true;
                txtImpAdicional.Enabled = true;
                CargarRecordatorios();
            }
            else
            {
                panelAtencion.Enabled = false;
            }
        }
예제 #5
0
 private void btnEliminar_Click(object sender, EventArgs e)
 {
     DialogResult res = new DialogResult();
     TurnoAtencion ta = new TurnoAtencion();
     if (dgTurnos.SelectedRows.Count > 0)
     {
         res = MessageBox.Show("Esta seguro que desea eliminar el turno seleccionado", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
         if (res == DialogResult.Yes)
         {
             turno = new Turno();
             turno = turnos.ElementAt(dgTurnos.CurrentRow.Index);
             ta = gestorTurno.buscarAtencion(turno);
             if (ta == null)
             {
                 if (turno.SobreTurno)
                 {
                     turnos.RemoveAt(dgTurnos.CurrentRow.Index);
                     CargarGrilla();
                 }
                 else
                 {
                     actualizarTurno("Eliminar", turno);
                 }
             }
             else
             { MessageBox.Show("El turno que intenta eliminar tiene asociada una atención a paciente", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Error); }
         }
     }
 }
예제 #6
0
 private void btnCobro_Click(object sender, EventArgs e)
 {
     TurnoAtencion ta = new TurnoAtencion();
     turno = new Turno();
     turno = turnos.ElementAt(dgTurnos.CurrentRow.Index);
     ta = gestorTurno.buscarAtencion(turno);
     if (ta == null)
     {
         MessageBox.Show("Este paciente no ha sido atendido, no puede efectuar el cobro", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     else
     {
         if (!turno.Cobrado)
         {
             Cobros c = new Cobros(usuario, turno, ta);
             string msjError = "";
             Cajero caj = new Cajero();
             if (Utils.ValidarCierreAbierto(usuario, c.ListaCYCajero, c.ListaCaja, out msjError, out caj))
             {
                 c.Cajero = caj;
                 c.ShowDialog();
                 if (c.Cobro != null)
                 {
                     turno.Cobrado = true;
                     gestorTurno.guardar(turno);
                 }
             }
             else
                 MessageBox.Show(msjError);
         }
         else
         { MessageBox.Show("Este turno ya tiene un cobro asignado", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information); }
     }
 }
 private void btnBuscarVisita_Click(object sender, EventArgs e)
 {
     elegirAtencion = new ElegirAtencion(nroAfiliado, plan);
     elegirAtencion.ShowDialog();
     if (elegirAtencion.Atencion != null)
     {
         atencion=new TurnoAtencion();
         atencion = elegirAtencion.Atencion;
         dpFechaVisita.Value = atencion.Turno.Fecha;
         dpHora.Value = DateTime.Parse(atencion.Turno.Hora.ToShortTimeString());
         if (atencion.Turno.EntidadTurno.Profesional.Id != 0)
         {
             txtAgenda.Text = atencion.Turno.EntidadTurno.Profesional.Apellidos + ", " + atencion.Turno.EntidadTurno.Profesional.Nombres;
             txtEspecialidad.Text = "";
         }
         else
         {
             if (atencion.Turno.EntidadTurno.Area.Id != 0)
             {
                 txtAgenda.Text = atencion.Turno.EntidadTurno.Area.Descripcion;
                 txtEspecialidad.Text = "";
             }
         }
         detalleAtencion = atencion.AtencionDetalle;
         for (int i = 0; i < detalleAtencion.Count; i++)
         {
             detalle = new AutorizacionDetalle();
             detalle.Autorizado = false;
             detalle.Cantidad = detalleAtencion[i].Cantidad;
             detalle.MontoGastos = detalleAtencion[i].Practica.Gastos;
             detalle.MontoHonorarios = detalleAtencion[i].Practica.Especialista;
             detalle.Practica = detalleAtencion[i].Practica;
             detalle.Presentado = false;
             detalle.Renglon = detalleAtencion[i].Renglon;
             listaDetalle.Add(detalle);
         }
         CargarDetalle();
     }
 }
예제 #8
0
 public bool guardarAtencion(TurnoAtencion atencion)
 {
     try
     {
         ConexionBD.getSession().Save(atencion);
         ConexionBD.getSession().Flush();
         return true;
     }
     catch { return false; }
 }