public Especialidad buscarEspecialidadXHorarioDet(HorarioDetalle horarioDetalle)
        {
            Especialidad especialidad = null;
            GestorGenerico gg = new GestorGenerico();

            string consulta = "SELECT e.idespecialidad ";
            consulta += " FROM especialidad e WHERE idespecialidad IN ";
            consulta += " (SELECT m.idespecialidad ";
            consulta += " FROM matricula m ";
            consulta += " JOIN horario h ON h.idmatricula=m.idmatricula ";
            consulta += " JOIN horariodetalle hd ON hd.idhorario=h.idhorario ";
            consulta += " WHERE hd.idhorariodetalle="+horarioDetalle.Id+")";

            IDataReader dr = ConexionBD.GetReportData(consulta);
            int idespecialidad = 0;
            if (dr.Read())
            {
                idespecialidad = int.Parse(dr["idespecialidad"].ToString());
            }
            dr.Close();
            if (idespecialidad > 0)
            {
                especialidad = gg.getXID<Especialidad>(idespecialidad);
            }

            return especialidad;
        }
        public Turno buscar(HorarioDetalle det, DateTime fecha, DateTime hora)
        {
            ICriteria criteria = ConexionBD.getSession().CreateCriteria(typeof(Turno)).Add(Expression.Eq("HorarioDet", det)).Add(Expression.Eq("Fecha", fecha)).Add(Expression.Eq("Hora", hora));
            IList<Turno> turnos = ConexionBD.GetPorFiltros<Turno>(criteria);

            return turnos.Count > 0 ? turnos.ElementAt(0) : null;
        }
Exemple #3
0
 public Turno()
 {
     tipoTurno = new TipoTurno();
     estadoTurno = new EstadoTurno();
     horarioDet = new HorarioDetalle();
     paciente = new Paciente();
     //usuario = new Usuario();
 }
        public void ValidarFechaYHora()
        {
            GestorHorario gestorHorario = new GestorHorario();
            horario = new Horario();
            horarioDet = new HorarioDetalle();

            for (int i = 0; i < horarios.Count; i++)
            {
                if (horarios[i].Desde <= DateTime.Parse(dpFecha.Value.ToShortDateString()) && horarios[i].Hasta >= DateTime.Parse(dpFecha.Value.ToShortDateString()))
                {
                    listadet = horarios[i].Detalle;
                }
            }
            if (listadet.Count == 0)
            {
                MessageBox.Show("No hay agendas disponibles para esa fecha","Información");
            }
            for (int j = 0; j < listadet.Count; j++)
            {
                GestorDia gestorDia = new GestorDia();
                Dia dia = gestorDia.buscar(dpFecha.Value.DayOfWeek.ToString());
                if (dia == listadet[j].Dia)
                {
                    horarioDet = listadet.ElementAt<HorarioDetalle>(j);
                }
            }
            if (horarioDet.Id != 0)
            {
                IList<Turno> listaTurno = new List<Turno>();
                listaTurno = gestor.buscarTodos(horarioDet, DateTime.Parse(dpFecha.Value.ToShortDateString()), DateTime.Parse(dpFecha.Value.ToShortDateString()));
                if (listaTurno.Count > 0)
                {
                    for (int i = 0; i < listaTurno.Count; i++)
                    {
                        if (listaTurno[i].Hora.ToShortTimeString() == dpHora.Value.ToShortTimeString())
                        {
                            dpHora.Value = turno.Hora;
                            MessageBox.Show("Este turno ya esta asignado", "Turno asignado");
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("El profesional o area de servicio no atiende el día de la semana seleccionado","Día no válido");
                dpFecha.Value = turno.Fecha;
            }
        }
        public void BuscarDetalleHorario()
        {
            gestorHorario = new GestorHorario();
            horario = new Horario();
            listaDet = new List<HorarioDetalle>();
            horarioDet = null;
            gestorTurno = new GestorTurno();

            for (int i = 0; i < listaHorario.Count; i++)
            {
                horario = listaHorario.ElementAt<Horario>(i);
                listaDet = horario.Detalle;
                for (int j = 0; j < listaDet.Count; j++)
                {
                    horarioDet = new HorarioDetalle();
                    horarioDet = listaDet.ElementAt<HorarioDetalle>(j);
                    BuscarTurnos();
                }
            }
            listaTurno = listaTurno.OrderBy(t => t.Fecha).ToList();
            listaTurno = listaTurno.OrderBy(t => t.Hora.ToShortTimeString()).ToList();
        }
Exemple #6
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();
     }
 }
Exemple #7
0
        public void BuscarTurnosLibres()
        {
            gestorHorario = new GestorHorario();
            horario = new Horario();
            listaDet = new List<HorarioDetalle>();
            horarioDet = null;

            for (int i = 0; i < listaHorario.Count; i++)
            {
                if (listaHorario[i].Desde <= DateTime.Parse(dpDesde.Value.ToShortDateString()) && listaHorario[i].Hasta >= DateTime.Parse(dpDesde.Value.ToShortDateString()))
                {
                    horario = listaHorario.ElementAt<Horario>(i);
                    listaDet = horario.Detalle;
                }
            }

            if (listaDet.Count > 0)
            {
                gestorHD = new GestorHorarioDetalle();
                for (int i = 0; i < listaDet.Count; i++)
                {
                    gestorDia = new GestorDia();
                    Dia dia = gestorDia.buscar(dpDesde.Value.DayOfWeek.ToString());
                    if (dia == listaDet[i].Dia)
                    {
                        if (gestorHD.buscar(listaDet.ElementAt<HorarioDetalle>(i).Id, dia) != null)
                        {
                            horarioDet = new HorarioDetalle();
                            horarioDet = gestorHD.buscar(listaDet.ElementAt<HorarioDetalle>(i).Id, dia);
                        }
                    }
                }
                if (horarioDet != null)
                {
                    cargarHora(horarioDet);
                }
            }
        }
        public void cargarHora(HorarioDetalle hd,DateTime fecha,string agenda,int idagenda,int idmatricula)
        {
            string hora = hd.HoraDesde.ToShortTimeString();
            string fin = hd.HoraHasta.ToShortTimeString();
            while (!hora.Contains(fin))
            {
                dgTurnos.Rows.Add(fecha.ToShortDateString(),DateTime.Parse(hora).ToShortTimeString(), hd.Dia.Descripcion, agenda, hd.Id,idagenda,idmatricula);
                hora = DateTime.Parse(hora).AddMinutes(Convert.ToDouble(horarioDet.Frecuencia)).ToShortTimeString();

            }
        }
        public void CargarDetalle(IList<HorarioDetalle> lista, string agenda, int idagenda,int idmatricula,DateTime fecha)
        {
            gestorHD = new GestorHorarioDetalle();
            for (int i = 0; i < lista.Count; i++)
            {
                horarioDet = null;
                GestorDia gestorDia = new GestorDia();
                Dia dia = gestorDia.buscar(fecha.DayOfWeek.ToString());
                if (dia == listaDet[i].Dia)
                {
                    if (gestorHD.buscar(lista.ElementAt<HorarioDetalle>(i).Id, dia) != null)
                    {
                        horarioDet = new HorarioDetalle();
                        horarioDet = gestorHD.buscar(lista.ElementAt<HorarioDetalle>(i).Id, dia);
                    }
                }
                if (horarioDet != null)
                {
                    cargarHora(horarioDet, fecha, agenda,idagenda,idmatricula);
                    gestorTurno = new GestorTurno();

                    listaTurno = gestorTurno.buscarTodos(horarioDet, fecha, fecha);
                    if (listaTurno.Count > 0)
                    {
                        for (int f = 0; f < listaTurno.Count; f++)
                        {
                            for (int k = 0; k < dgTurnos.Rows.Count; k++)
                            {
                                if (dgTurnos.Rows[k].Cells[1].Value.ToString() == listaTurno[f].Hora.ToShortTimeString() && dgTurnos.Rows[k].Cells[0].Value.ToString() == listaTurno[f].Fecha.ToShortDateString())
                                {
                                    dgTurnos.Rows.RemoveAt(k);
                                }
                            }
                        }
                    }
                }
            }
        }
        public IList<Turno> buscarTodos(HorarioDetalle det,DateTime desde,DateTime hasta)
        {
            IList<Turno> turnos = null;
            ICriteria criteria = ConexionBD.getSession().CreateCriteria(typeof(Turno)).Add(Expression.Eq("HorarioDet", det)).Add(Expression.Between("Fecha",desde,hasta.AddHours(23).AddMinutes(59)));

            turnos = ConexionBD.GetPorFiltros<Turno>(criteria);
            return turnos;
        }
 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;
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            ConexionBD.esSICWeb = true;
            ConexionBD.getSession();
            GestorProfesional gestorProfesional = new GestorProfesional();
            string idmatricula = Session["IDMatricula"].ToString();
            Matricula matricula = gestorProfesional.buscarMatricula(int.Parse(idmatricula));

            profesional = (Profesional)Session["Profesional"];
            lblMedico.InnerText = profesional.Apellidos + ", " + profesional.Nombres;
            lblEspecialidad.InnerHtml = matricula.Especialidad.Descripcion;
            if (!Page.IsPostBack)
            {
                listaHorario = matricula.Horarios;
                Session["listaHorario"] = listaHorario;
                horarioAS = new Horario();
                listaDetHo = new List<HorarioDetalle>();
                DateTime fecha = DateTime.Today;

                for (int i = 0; i < listaHorario.Count; i++)
                {
                    if (listaHorario[i].Desde <= fecha && listaHorario[i].Hasta >= fecha)
                    {
                        horarioAS = listaHorario.ElementAt<Horario>(i);
                        listaDetHo = horarioAS.Detalle;
                        Session["horarioAS"] = horarioAS;
                        Session["listaDetHo"] = listaDetHo;
                    }
                }

                if (listaDetHo.Count() > 0)
                {
                    //dpDesde.seleccionarDias(horarioAS);
                }
                Session["turnos"] = turnos;
            }
            else {

                horarioAS = (Horario) Session["horarioAS"];
                listaDetHo = (IList<HorarioDetalle>)Session["listaDetHo"];
                listaHorario = (IList<Horario>) Session["listaHorario"];
                turnos = (IList<Turno>) Session["turnos"];
                horario = (Horario) Session["horario"];
                listaDet = (IList<HorarioDetalle>) Session["listaDet"];
                horarioDet = (HorarioDetalle) Session["horarioDet"];

            }
            paciente = (Paciente) Session["Paciente"];
        }
 public ABMDetalleHorario(HorarioDetalle horario)
 {
     InitializeComponent();
     horariodet = horario;
     cargarCombo();
 }
 private void btnCancelar_Click(object sender, EventArgs e)
 {
     horariodet = null;
     Dispose();
 }