private void CargarListaAServicios()
        {
            dgAreasServicio.Rows.Clear();
            for (int i = 0; i < listaAS.Count; i++)
            {
                areaServicio = listaAS.ElementAt<AreaServicio>(i);
                dgAreasServicio.Rows.Add("", areaServicio.Codigo, areaServicio.Descripcion,areaServicio.Id);

                if (areaServicio.Habilitado)
                    dgAreasServicio.Rows[i].Cells[0].Style.BackColor = Color.Green;
                else
                    dgAreasServicio.Rows[i].Cells[0].Style.BackColor = Color.Salmon;
            }
        }
예제 #2
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;
            }
        }
예제 #3
0
 private void btnBuscar_Click_1(object sender, EventArgs e)
 {
     elegir = new ElegirAgenda((Sucursal)cmbSucursal.SelectedItem, true);
     elegir.ShowDialog();
     if (elegir.IdEntidad != 0)
     {
         if (elegir.Descripcion == "Area de Servicio")
         {
             gestorArea = new GestorAreaServicio();
             area = new AreaServicio();
             area = gestorArea.buscar(elegir.IdEntidad);
             txtAgenda.Text = area.Descripcion;
             listaHorario = area.Horarios;
             btnVerAgenda.Enabled = true;
             cargarMensajesTurno(0);
         }
         else
         {
             gestorProfesional = new GestorProfesional();
             profesional = new Profesional();
             matricula = new Matricula();
             profesional = gestorProfesional.buscar(elegir.IdEntidad);
             txtAgenda.Text = profesional.Apellidos + ", " + profesional.Nombres;
             matricula = gestorProfesional.buscarMatricula(elegir.IdMatricula);
             listaHorario = matricula.Horarios;
             esp = matricula.Especialidad.Descripcion;
             txtEspecialidad.Text = esp;
             cargarMensajesTurno(matricula.Id);
         }
         mostrarDiasHabilitados();
     }
 }
 private void btnLimpiar_Click(object sender, EventArgs e)
 {
     btnLimpiar.Enabled = false;
     btnBuscarTurnos.Enabled = true;
     area = null;
     dgTurnos.Rows.Clear();
     esp = "";
 }
 private void btnBuscar_Click(object sender, EventArgs e)
 {
     elegir = new ElegirAgenda((Sucursal)cmbSucursal.SelectedItem,false);
     elegir.ShowDialog();
     if (elegir.IdEntidad != 0)
     {
         gestorArea = new GestorAreaServicio();
         area = new AreaServicio();
         area = gestorArea.buscar(elegir.IdEntidad);
         txtAgenda.Text = area.Descripcion;
         listaHorario = area.Horarios;
         cmbEspecialidad.Enabled = false;
     }
     btnLimpiar.Enabled = true;
 }
예제 #6
0
        private void validarCambios()
        {
            if (evento == "modificar" && areaServicio != null)
            {
                //cargo los cambios en un objeto nuevo para compararlo con el que ya tenia
                AreaServicio asNuevo = new AreaServicio();
                asNuevo.Id = areaServicio.Id;

                asNuevo.setDatos(txtCodigo.Text, txtDescripcion.Text, listaHorario, areaServicio.Habilitado);

                if (!Utils.sonIguales(areaServicio, asNuevo))
                {
                    DialogResult v_res = MessageBox.Show("Ha realizado cambios.\nDesea guardar los cambios?", "Guardar cambios", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (v_res == DialogResult.Yes)
                    {
                        guardarDatos();
                    }
                }
            }
        }
예제 #7
0
 private void buscarAreaServicio()
 {
     ElegirAreaServicio eas = new ElegirAreaServicio();
     eas.ShowDialog();
     if (eas.AreaServicio != null)
     {
         areaServicio = eas.AreaServicio;
         txtCodigo.Text = areaServicio.Codigo;
         txtDescripcion.Text = areaServicio.Descripcion;
         listaHorario = areaServicio.Horarios;
     }
 }
예제 #8
0
 public EntidadTurno getEntidadTurno(AreaServicio areaServicio,Profesional prof)
 {
     EntidadTurno retorno = null;
     if (areaServicio != null && ConexionBD.getSession().CreateCriteria(typeof(EntidadTurno)).Add(Expression.Eq("Area", areaServicio)).List<EntidadTurno>().Count>0)
         retorno = ConexionBD.getSession().CreateCriteria(typeof(EntidadTurno)).Add(Expression.Eq("Area", areaServicio)).List<EntidadTurno>()[0];
     if (prof != null && ConexionBD.getSession().CreateCriteria(typeof(EntidadTurno)).Add(Expression.Eq("Profesional", prof)).List<EntidadTurno>().Count>0)
         retorno = ConexionBD.getSession().CreateCriteria(typeof(EntidadTurno)).Add(Expression.Eq("Profesional", prof)).List<EntidadTurno>()[0];
     return retorno;
 }
 public bool existe(AreaServicio areaServicio)
 {
     if (ConexionBD.getSession().CreateCriteria(typeof(AreaServicio)).Add(Expression.Eq("Codigo", areaServicio.Codigo)).List<AreaServicio>().Count > 0)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
        internal Turno getSiguienteHorarioDisponible(Turno turno, AreaServicio areaServicio)
        {
            GestorTurno gTurnos = new GestorTurno();
            Turno turnoNuevo = null;
            DateTime fecha = turno.Fecha.AddDays(1);
            bool encontrado = false;

            foreach (Horario horario in areaServicio.Horarios)
            {
                while (fecha.CompareTo(horario.Desde) > 0 && fecha.CompareTo(horario.Hasta) < 0)
                {

                    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;
                                    turnoNuevo.Usuario = turno.Usuario;
                                    gTurnos.guardar(turnoNuevo);
                                    turno.EstadoTurno = gTurnos.getEstadoXCodigo(EstadoTurno.REPROGRAMADO);
                                    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; }
            }

            return turnoNuevo;
        }
        public bool guardar(AreaServicio areaServicio)
        {
            ConexionBD.getSession().Save(areaServicio);
            ConexionBD.getSession().Flush();

            return existe(areaServicio);
        }
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            if ((Sucursal)cmbSucursal.SelectedItem != null)
            {
                elegir = new ElegirAgenda((Sucursal)cmbSucursal.SelectedItem, true);
                elegir.ShowDialog();
                if (elegir.IdEntidad != 0)
                {
                    gestorTurno = new GestorTurno();
                    idEntidad = elegir.IdEntidad;
                    if (elegir.Descripcion == "Area de Servicio")
                    {
                        gestorArea = new GestorAreaServicio();
                        area = new AreaServicio();
                        area = gestorArea.buscar(elegir.IdEntidad);
                        txtAgenda.Text = area.Descripcion;
                        listaHorario = area.Horarios;
                        agenda = new EntidadTurno();
                        agenda = gestorTurno.getEntidadTurno(area, null);

                    }
                    else
                    {
                        gestorProfesional = new GestorProfesional();
                        profesional = new Profesional();
                        matricula = new Matricula();
                        profesional = gestorProfesional.buscar(elegir.IdEntidad);
                        txtAgenda.Text = profesional.Apellidos + ", " + profesional.Nombres;
                        matricula = gestorProfesional.buscarMatricula(elegir.IdMatricula);
                        listaHorario = matricula.Horarios;
                        esp = matricula.Especialidad.Descripcion;
                        txtEspecialidad.Text = esp;
                        agenda = new EntidadTurno();
                        agenda = gestorTurno.getEntidadTurno(null, profesional);
                    }
                }
            }
            else { MessageBox.Show("Debe seleccionar una sucursal","Atención",MessageBoxButtons.OK,MessageBoxIcon.Information); }
        }
예제 #13
0
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            elegir = new ElegirAgenda((Sucursal)cmbSucursal.SelectedItem, true);
            elegir.ShowDialog();
            if (elegir.IdEntidad != 0)
            {

                if (elegir.Descripcion == "Area de Servicio")
                {
                    gestorAreaServicio = new GestorAreaServicio();
                    areaServicio = gestorAreaServicio.buscar(elegir.IdEntidad);
                    txtAgenda.Text = areaServicio.Descripcion;
                    listaHorario = areaServicio.Horarios;
                    entidadTurno = gestorTurno.getEntidadTurno(areaServicio, null);
                }
                else
                {
                    gestorProfesional = new GestorProfesional();
                    profesional = gestorProfesional.buscar(elegir.IdEntidad);
                    txtAgenda.Text = profesional.Apellidos + ", " + profesional.Nombres;
                    matricula = gestorProfesional.buscarMatricula(elegir.IdMatricula);
                    listaHorario = matricula.Horarios;
                    entidadTurno = gestorTurno.getEntidadTurno(null, profesional);
                }
                mostrarDiasHabilitados();
            }
        }
 private void dgAreasServicio_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dgAreasServicio.SelectedRows.Count > 0)
     {
         areaServicio = listaAS.ElementAt<AreaServicio>(dgAreasServicio.CurrentRow.Index);
         Dispose();
     }
 }
 private void btnSalir_Click(object sender, EventArgs e)
 {
     areaServicio = null;
     Dispose();
 }