Esempio n. 1
0
        protected void dgvTurnos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (paciente != null)
            {
                if (e.CommandName == "Select")
                {
                    int fila = Convert.ToInt16(e.CommandArgument);
                    int posicion = int.Parse(dgvTurnos.Rows[fila].Cells[0].Text);
                    turno = turnos[posicion];
                    EntidadTurno et = gestorTurno.getEntidadTurno(null, profesional);
                    turno.EntidadTurno = et;
                    turno.EntidadTurno.TipoEntidadTurno = "PROFESIONAL";
                    turno.EntidadTurno.Profesional = profesional;
                    turno.HorarioDet = horarioDet;
                    turno.EstadoTurno = gestorTurno.getEstadoXCodigo("ASI");
                    turno.Paciente = paciente;
                    turno.TipoTurno = gestorTurno.getTipoXCodigo("1");
                    gestorTurno.guardar(turno);

                    Response.Redirect("TurnosPaciente.aspx");
                }
            }
            else
            {
                Response.Redirect("TurnosPaciente.aspx");
            }
        }
Esempio n. 2
0
        public ABMTurno(string agenda,int idagenda,string esp,Turno t,string evento,int idmat)
        {
            InitializeComponent();
            CargarCombos();
            this.agenda = agenda;
            this.idagenda = idagenda;
            this.especialidad = esp;
            turno = new Turno();
            turno = t;
            idmatricula = idmat;
            this.evento = evento;
            dpFecha.Value = turno.Fecha;
            dpHora.Value = DateTime.Now;
            CargarDatos();
            HablitarBotones();

            if (evento == "Eliminar")
            {
                dpHora.Enabled = false;
                dpFecha.Enabled = false;
                btnBuscar.Enabled = false;
            }
            if (evento == "Sobreturno" || (turno.Id!=0 && turno.SobreTurno) )
            {
                dpFecha.Enabled = true;
                dpHora.Enabled = true;
                chbSobreTurno.Checked = true;
            }
        }
        public Autorizacion buscar(Turno turno)
        {
            Autorizacion autorizacion = null;

            if (ConexionBD.getSession().CreateCriteria(typeof(Autorizacion)).Add(Expression.Eq("TurnoAut", turno)).List<Autorizacion>().Count > 0)
            {
                autorizacion = ConexionBD.getSession().CreateCriteria(typeof(Autorizacion)).Add(Expression.Eq("TurnoAut", turno)).List<Autorizacion>().ElementAt(0);

            }
            return autorizacion;
        }
Esempio n. 4
0
        public bool borrar(Turno turno)
        {
            ConexionBD.getSession().Delete(turno);
            ConexionBD.getSession().Flush();

            if (existe(turno))
            {
                return false;
            }
            else { return true; }
        }
Esempio n. 5
0
        public ABMVisita(Turno turn, Visita v,Profesional profe)
        {
            InitializeComponent();
            CargarCuestionarios();
            turno = turn;
            profesional = profe;
            paciente = new Paciente();
            paciente = turn.Paciente;

            gbPaciente.Enabled = false;
            Utils.cargarCombo<TipoDocumento>(cmbTipoDoc, "Descripcion");
            CargarDatos();
        }
Esempio n. 6
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;
        }
Esempio n. 7
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();
        }
Esempio n. 8
0
 private void btnAgregar_Click(object sender, EventArgs e)
 {
     if (dgTurnos.SelectedRows.Count > 0)
     {
         turno = new Turno();
         turno = turnos.ElementAt(dgTurnos.CurrentRow.Index);
         turno.HorarioDet = horarioDet;
         turno.Usuario = usuario;
         actualizarTurno("AGREGAR", turno);
     }
 }
Esempio n. 9
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); }
     }
 }
Esempio n. 10
0
        public int EncontrarPosicionSobreturno(Turno t, int nInicio)
        {
            int nPos = 0;
            int nDif = 0;

            for (int i = nInicio; i < turnos.Count; i++)
            {
                if (turnos[i].Hora.Hour == t.Hora.Hour)
                {
                    if (turnos[i].Hora.Minute < t.Hora.Minute)
                    {
                        if (i == nInicio)
                        {
                            nDif = t.Hora.Minute - turnos[i].Hora.Minute;
                            nPos = i + 1;
                        }
                        else
                        {
                            if (nDif > t.Hora.Minute - turnos[i].Hora.Minute)
                            {
                                nDif = t.Hora.Minute - turnos[i].Hora.Minute;
                                nPos = i + 1;
                            }
                        }
                    }
                }
            }

            return nPos;
        }
Esempio n. 11
0
 private void btnActualizarHC_Click(object sender, EventArgs e)
 {
     if (dgTurnos.SelectedRows.Count > 0)
     {
         if (dgTurnos.SelectedRows[0].Cells[1].Value.ToString() != "")
         {
             turno = new Turno();
             gestorTurno = new GestorTurno();
             turno = turnos.ElementAt(dgTurnos.CurrentRow.Index);
             abmVisita = new ABMVisita(turno, null, profesional);
             abmVisita.ShowDialog();
         }
     }
 }
Esempio n. 12
0
        private void BuscarTurnos()
        {
            if (horarioDet != null)
            {
                listaTurno = gestorTurno.buscarTodos(horarioDet, DateTime.Parse(calendario.SelectedDate.ToShortDateString()), DateTime.Parse(calendario.SelectedDate.ToShortDateString()));
                if (listaTurno.Count > 0)
                {
                    for (int j = 0; j < turnos.Count; j++)
                    {
                        for (int i = 0; i < listaTurno.Count; i++)
                        {
                            turno = listaTurno[i];

                            if (turnos[j].Hora.ToShortTimeString() == turno.Hora.ToShortTimeString())
                            {
                                turnos[j] = turno;
                                listaTurno.RemoveAt(i);
                                if (i > 0)
                                { i = i - 1; }
                            }
                            else
                            {
                                if (listaTurno[i].SobreTurno)
                                {
                                    listaTurno.RemoveAt(i);
                                    if (i > 0)
                                    { i = i - 1; }
                                }
                            }

                        }
                    }
                }
            }
        }
Esempio n. 13
0
        public void CargarSobreTurno(Turno t)
        {
            int nPosicion = 0;

            for (int i = 0; i < turnos.Count; i++)
            {
                if (turnos[i].Hora.Hour == t.Hora.Hour)
                {
                    nPosicion = EncontrarPosicionSobreturno(t, i);
                    turnos.Insert(nPosicion, t);
                    break;
                }
            }
        }
        public bool EsTurnoLiquidado(Profesional prof, Sucursal suc,Turno turno)
        {
            LiquidacionAgenda liquidacion = null;
            bool v_ok = false;

            if (ConexionBD.getSession().CreateCriteria(typeof(LiquidacionAgenda)).Add(Expression.Eq("Profesional", prof)).Add(Expression.Eq("Sucursal",suc)).List<LiquidacionAgenda>().Count > 0)
            {
                liquidacion = ConexionBD.getSession().CreateCriteria(typeof(LiquidacionAgenda)).Add(Expression.Eq("Profesional", prof)).Add(Expression.Eq("Sucursal",suc)).List<LiquidacionAgenda>().ElementAt<LiquidacionAgenda>(0);
                for (int i = 0; i < liquidacion.LiquidacionDetalle.Count; i++)
                {
                    if (liquidacion.LiquidacionDetalle[i].Turno == turno)
                    {
                        v_ok = true;
                        break;
                    }
                }
            }

            return v_ok;
        }
Esempio n. 15
0
 private void cargarHora(HorarioDetalle hd)
 {
     string hora = hd.HoraDesde.ToShortTimeString();
     string fin = hd.HoraHasta.ToShortTimeString();
     while (!hora.Contains(fin))
     {
         turno = new Turno();
         turno.Fecha = calendario.SelectedDate;
         turno.Hora = DateTime.Parse(hora);
         turno.Hora = DateTime.MinValue.AddHours(turno.Hora.Hour).AddMinutes(turno.Hora.Minute);
         turno.Id = 0;
         turnos.Add(turno);
         hora = DateTime.Parse(hora).AddMinutes(Convert.ToDouble(horarioDet.Frecuencia)).ToShortTimeString();
     }
     Session["turnos"] = turnos;
 }
Esempio n. 16
0
 private void btnSobreTurno_Click(object sender, EventArgs e)
 {
     if (dgTurnos.SelectedRows.Count > 0)
     {
         turno = new Turno();
         turno.HorarioDet = horarioDet;
         turno.Fecha = dpDesde.Value;
         turno.SobreTurno = true;
         turno.Usuario = usuario;
         actualizarTurno("Sobreturno", turno);
     }
 }
Esempio n. 17
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); }
         }
     }
 }
Esempio n. 18
0
        public Turno reasignarAlProximoTurnoDisponible(Turno turno)
        {
            Turno nuevoTurno = null;

            if (turno.EntidadTurno.esAreaServicio())
            {
                GestorAreaServicio gas = new GestorAreaServicio();
                nuevoTurno = gas.getSiguienteHorarioDisponible(turno, turno.EntidadTurno.Area);
            }
            else
            {
                GestorProfesional gp = new GestorProfesional();
                nuevoTurno = gp.getSiguienteHorarioDisponible(turno, turno.EntidadTurno.Profesional);
            }

            if (nuevoTurno != null)
            {
                nuevoTurno.informarPaciente();
            }
            return nuevoTurno;
        }
Esempio n. 19
0
        public bool guardar(Turno turno)
        {
            //ConexionBD.getSession().Save(turno.Usuario);
            ConexionBD.getSession().Save(turno);
            ConexionBD.getSession().Flush();

            return existe(turno);
        }
Esempio n. 20
0
 public bool existe(Turno t)
 {
     if (ConexionBD.getSession().CreateCriteria(typeof(Turno)).Add(Expression.Eq("Id", t.Id)).List<Turno>().Count > 0)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
Esempio n. 21
0
 private void btnModificar_Click(object sender, EventArgs e)
 {
     if (dgTurnos.SelectedRows.Count > 0)
     {
         turno = new Turno();
         turno = turnos.ElementAt(dgTurnos.CurrentRow.Index);
         actualizarTurno("", turno);
     }
 }
 private void btnAgregar_Click(object sender, EventArgs e)
 {
     if (dgTurnos.SelectedRows.Count > 0)
     {
         turno = new Turno();
         turno.Usuario = usuario;
         actualizarTurno("");
     }
 }
Esempio n. 23
0
        public void ActualizarListaTurnos(Turno t)
        {
            for (int i = 0; i < turnos.Count; i++)
            {
                if (t.Fecha.ToShortDateString() == turnos[i].Fecha.ToShortDateString())
                {
                    if (t.Hora.ToShortTimeString() == turnos[i].Hora.ToShortTimeString())
                    {
                        turnos[i] = t;
                    }
                    else
                    {
                        if (t.SobreTurno)
                        {
                            CargarSobreTurno(t);
                            break;
                        }

                    }
                }
            }
        }
Esempio n. 24
0
        public void actualizarTurno(string evento, Turno t)
        {
            string agenda = "";
            int idagenda = 0;
            int idmatricula = 0;
            if (area != null)
            {
                agenda = "Area";
                idagenda = area.Id;
            }
            else
            {
                idagenda = profesional.Id;
                idmatricula = matricula.Id;
            }

            if (dgTurnos.SelectedRows.Count > 0)
            {
                abmturno = new ABMTurno(agenda, idagenda, esp, t, evento, idmatricula);
                abmturno.ShowDialog();
                if (abmturno.Turno != null)
                {
                    t = abmturno.Turno;
                    ActualizarListaTurnos(t);
                }
            }
            CargarGrilla();
        }
        public Turno getSiguienteHorarioDisponible(Turno turno, Profesional profesional)
        {
            GestorTurno gTurnos = new GestorTurno();
            Turno turnoNuevo = null;
            DateTime fecha = turno.Fecha.AddDays(1);
            bool encontrado = false;

            foreach (Matricula matricula in profesional.Matriculas)
            {
                foreach (Horario horario in matricula.Horarios)
                {
                    while (fecha.CompareTo(horario.Desde) > 0 && fecha.CompareTo(horario.Hasta) < 0 && !encontrado)
                    {

                        foreach (HorarioDetalle horarioDet in horario.Detalle)
                        {
                            if (fecha.DayOfWeek.ToString() == horarioDet.Dia.DescIngles)
                            {
                                DateTime hora = horarioDet.HoraDesde;
                                int minutoDiferencia = (int)horarioDet.HoraHasta.Subtract(horarioDet.HoraDesde).TotalMinutes;
                                int cantTurnos = minutoDiferencia / horarioDet.Frecuencia;
                                for (int i = 0; i < cantTurnos; i++)
                                {
                                    turnoNuevo = gTurnos.buscar(horarioDet, fecha, hora);
                                    if (turnoNuevo == null)
                                    {
                                        turnoNuevo = new Turno();
                                        turnoNuevo.Fecha = fecha;
                                        turnoNuevo.Hora = hora;
                                        turnoNuevo.EntidadTurno = turno.EntidadTurno;
                                        turnoNuevo.EstadoTurno = turno.EstadoTurno;
                                        turnoNuevo.HorarioDet = horarioDet;
                                        turnoNuevo.Paciente = turno.Paciente;
                                        turnoNuevo.TipoTurno = turno.TipoTurno;
                                        turnoNuevo.Observacion = turno.Observacion;
                                        gTurnos.guardar(turnoNuevo);
                                        turno.EstadoTurno = gTurnos.getEstadoXCodigo(EstadoTurno.CANCELADO);
                                        gTurnos.guardar(turno);
                                        encontrado = true;
                                    }
                                    if (encontrado) { break; }
                                    hora = hora.AddMinutes(horarioDet.Frecuencia);
                                }
                                if (encontrado) { break; }
                            }
                        }
                        if (encontrado) { break; }
                        fecha = fecha.AddDays(1);
                    }
                    if (encontrado) { break; }
                }
                if (encontrado) { break; }
            }

            return turnoNuevo;
        }
Esempio n. 26
0
        public void BuscarTurnos()
        {
            if (horarioDet != null)
            {
                listaTurno = gestorTurno.buscarTodos(horarioDet, DateTime.Parse(dpDesde.Value.ToShortDateString()), DateTime.Parse(dpDesde.Value.ToShortDateString()));
                if (listaTurno.Count > 0)
                {
                    for (int j = 0; j < turnos.Count; j++)
                    {
                        for (int i = 0; i < listaTurno.Count; i++)
                        {
                            turno = new Turno();
                            turno = listaTurno[i];

                            if (turnos[j].Hora.ToShortTimeString() == turno.Hora.ToShortTimeString())
                            {
                                turnos[j] = turno;
                                listaTurno.RemoveAt(i);
                                if (i > 0)
                                { i = i - 1; }
                            }
                            else
                            {
                                if (listaTurno[i].SobreTurno)
                                {
                                    CargarSobreTurno(turno);
                                    listaTurno.RemoveAt(i);
                                    if (i > 0)
                                    { i = i - 1; }
                                }
                            }

                        }
                    }
                }
            }
        }
Esempio n. 27
0
 private void btnCancelar_Click(object sender, EventArgs e)
 {
     turno = null;
     Dispose();
 }
Esempio n. 28
0
 public void cargarHora(HorarioDetalle hd)
 {
     string hora = hd.HoraDesde.ToShortTimeString();
     string fin = hd.HoraHasta.ToShortTimeString();
     while (!hora.Contains(fin))
     {
         turno = new Turno();
         turno.Fecha = dpDesde.Value;
         turno.Hora = DateTime.Parse(hora);
         turno.Id = 0;
         turnos.Add(turno);
         hora = DateTime.Parse(hora).AddMinutes(Convert.ToDouble(horarioDet.Frecuencia)).ToShortTimeString();
     }
 }