private async Task CreateUpdateStoredProcedure(DbUtilities dbConn)
        {
            List <DataAccessDef> accessDefs = await GetDataAccessDefinitions();

            var dataTypes = accessDefs.Select(s => s.DataType).Where(s => s != "Index").ToList();

            foreach (string dataType in dataTypes)
            {
                DataAccessDef accessDef = accessDefs.First(x => x.DataType == dataType);
                BuildUpdateProcedure(dbConn, dataType, accessDef);
            }
            RuleManagement rm      = new RuleManagement();
            string         type    = "Rules";
            DataAccessDef  ruleDef = rm.GetDataAccessDefinition(type);

            BuildUpdateProcedure(dbConn, type, ruleDef);
            type = "Functions";
            DataAccessDef functionDef = rm.GetDataAccessDefinition(type);

            BuildUpdateProcedure(dbConn, type, functionDef);
        }
        private async Task CreateGetStoredProcedure(DbUtilities dbConn)
        {
            RuleManagement rm      = new RuleManagement();
            string         type    = "Rules";
            DataAccessDef  ruleDef = rm.GetDataAccessDefinition(type);

            BuildGetProcedure(dbConn, type, ruleDef);
            BuildGetProcedureWithId(dbConn, type, ruleDef);
            type = "Functions";
            DataAccessDef functionDef = rm.GetDataAccessDefinition(type);

            BuildGetProcedure(dbConn, type, functionDef);
            BuildGetProcedureWithId(dbConn, type, functionDef);

            IndexAccess ia = new IndexAccess();

            type = "Index";
            DataAccessDef indexDef = ia.GetDataAccessDefinition();

            BuildGetProcedure(dbConn, type, indexDef);
            BuildGetProcedureWithQcString(dbConn, indexDef);
        }