internal List <MedicoDAO> getProfesionalesMasConsultados(string semestreSeleccionado, string anioSeleccionado, string mesSeleccionado, decimal planMedicoCod)
        {
            List <MedicoDAO> medicos = new List <MedicoDAO>();

            try
            {
                ParametroParaSP        parametro1 = new ParametroParaSP("plan_medico_id", SqlDbType.Decimal, planMedicoCod);
                ParametroParaSP        parametro2 = new ParametroParaSP("anio", SqlDbType.Int, int.Parse(anioSeleccionado));
                ParametroParaSP        parametro3 = new ParametroParaSP("mes", SqlDbType.Int, int.Parse(mesSeleccionado));
                ParametroParaSP        parametro4 = new ParametroParaSP("semestre", SqlDbType.Int, int.Parse(semestreSeleccionado));
                List <ParametroParaSP> parametros = new List <ParametroParaSP>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);

                this.openDB();

                SqlCommand    procedure = this.createCallableProcedure("BETTER_CALL_JUAN.Procedure_Top_5_Profesionales_Mas_Consultados_Por_Plan", parametros);
                SqlDataReader sqlReader = procedure.ExecuteReader();

                if (sqlReader.HasRows)
                {
                    while (sqlReader.Read())
                    {
                        MedicoDAO medicoDAO = new MedicoDAO();

                        Medico medico = new Medico();
                        medico.matricula = sqlReader.GetDecimal(0);
                        medico.nombre    = sqlReader.GetString(1);
                        medico.apellido  = sqlReader.GetString(2);

                        Especialidad especialidad = new Especialidad();
                        especialidad.codigo      = sqlReader.GetDecimal(3);
                        especialidad.descripcion = sqlReader.GetString(4);

                        medicoDAO.medico             = medico;
                        medicoDAO.especialidadMedico = especialidad;
                        medicoDAO.cantConsultas      = sqlReader.GetInt32(5);

                        medicos.Add(medicoDAO);
                    }
                }
            }
            catch (Exception e)
            {
                medicos = null;
            }
            finally
            {
                this.closeDB();
            }
            return(medicos);
        }
        internal List <MedicoDAO> getProfesionalesConMenosHoras(string semestreSeleccionado, string anioSeleccionado, string mesSeleccionado, decimal especialidadCod)
        {
            List <MedicoDAO> medicos = new List <MedicoDAO>();

            try
            {
                ParametroParaSP        parametro1 = new ParametroParaSP("especialidad_cod", SqlDbType.Decimal, especialidadCod);
                ParametroParaSP        parametro2 = new ParametroParaSP("anio", SqlDbType.Int, int.Parse(anioSeleccionado));
                ParametroParaSP        parametro3 = new ParametroParaSP("mes", SqlDbType.Int, int.Parse(mesSeleccionado));
                ParametroParaSP        parametro4 = new ParametroParaSP("semestre", SqlDbType.Int, int.Parse(semestreSeleccionado));
                List <ParametroParaSP> parametros = new List <ParametroParaSP>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);

                this.openDB();

                SqlCommand    procedure = this.createCallableProcedure("BETTER_CALL_JUAN.Procedure_Top_5_Profesionales_Con_Menos_Horas_Trabajadas_Segun_Especialidad", parametros);
                SqlDataReader sqlReader = procedure.ExecuteReader();

                if (sqlReader.HasRows)
                {
                    while (sqlReader.Read())
                    {
                        MedicoDAO medicoDAO = new MedicoDAO();

                        Medico medico = new Medico();
                        medico.matricula = sqlReader.GetDecimal(0);
                        medico.nombre    = sqlReader.GetString(1);
                        medico.apellido  = sqlReader.GetString(2);

                        medicoDAO.medico = medico;
                        medicoDAO.cantHorasTrabajadas = sqlReader.GetInt32(3);

                        medicos.Add(medicoDAO);
                    }
                }
            }
            catch (Exception e)
            {
                medicos = null;
            }
            finally
            {
                this.closeDB();
            }
            return(medicos);
        }