/// <summary>
        /// Returns a list of RefVariableName objects with the provided refVarName.
        /// </summary>
        /// <param name="refVarName"></param>
        /// <returns></returns>
        public static List <RefVariableName> GetRefVarNamesPrefix(string prefix)
        {
            List <RefVariableName> refVarNames = new List <RefVariableName>();

            string query = "SELECT refVarName, VarLabel, DomainNum, Domain, TopicNum, Topic, ContentNum, Content, ProductNum, Product FROM qryVariableInfo WHERE SUBSTRING(refVarName,1,2) = @prefix ORDER BY refVarName";

            using (SqlDataAdapter sql = new SqlDataAdapter())
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ISISConnectionString"].ConnectionString))
                {
                    conn.Open();

                    sql.SelectCommand = new SqlCommand(query, conn);
                    sql.SelectCommand.Parameters.AddWithValue("@prefix", prefix);
                    try
                    {
                        using (SqlDataReader rdr = sql.SelectCommand.ExecuteReader())
                        {
                            while (rdr.Read())
                            {
                                RefVariableName rv = new RefVariableName()
                                {
                                    refVarName = (string)rdr["refVarName"],
                                    VarLabel   = (string)rdr["VarLabel"],
                                    Domain     = new DomainLabel((int)rdr["DomainNum"], (string)rdr["Domain"]),
                                    Topic      = new TopicLabel((int)rdr["TopicNum"], (string)rdr["Topic"]),
                                    Content    = new ContentLabel((int)rdr["ContentNum"], (string)rdr["Content"]),
                                    Product    = new ProductLabel((int)rdr["ProductNum"], (string)rdr["Product"])
                                };
                                refVarNames.Add(rv);
                            }
                        }
                    }
                    catch (Exception)
                    {
                        int i = 0;
                    }
                }
            return(refVarNames);
        }
        /// <summary>
        /// Returns a list of containing all refVarNames for a particular survey.
        /// </summary>
        /// <param name="surveyCode"></param>
        /// <returns></returns>
        public static List <RefVariableName> GetAllRefVars(string surveyCode)
        {
            List <RefVariableName> refVarNames = new List <RefVariableName>();

            string query = "SELECT  * FROM VarNames.FN_GetSurveyRefVars(@survey)";

            using (SqlDataAdapter sql = new SqlDataAdapter())
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ISISConnectionString"].ConnectionString))
                {
                    conn.Open();

                    sql.SelectCommand = new SqlCommand(query, conn);
                    sql.SelectCommand.Parameters.AddWithValue("@survey", surveyCode);
                    try
                    {
                        using (SqlDataReader rdr = sql.SelectCommand.ExecuteReader())
                        {
                            while (rdr.Read())
                            {
                                RefVariableName rv = new RefVariableName()
                                {
                                    refVarName = (string)rdr["refVarName"],
                                    VarLabel   = (string)rdr["VarLabel"],
                                    Domain     = new DomainLabel((int)rdr["DomainNum"], (string)rdr["Domain"]),
                                    Topic      = new TopicLabel((int)rdr["TopicNum"], (string)rdr["Topic"]),
                                    Content    = new ContentLabel((int)rdr["ContentNum"], (string)rdr["Content"]),
                                    Product    = new ProductLabel((int)rdr["ProductNum"], (string)rdr["Product"])
                                };
                                refVarNames.Add(rv);
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                }
            return(refVarNames);
        }