Beispiel #1
0
        private static void importKnowledge()
        {
            var csvTable = new DataTable();

            using (var csvReader = new CsvReader(new StreamReader(System.IO.File.OpenRead(@"C:\Users\Sam\Desktop\Fork\db_24_3_excel\csv\Knowledge.csv")), true))
            {
                csvTable.Load(csvReader);
            }

            for (int j = 0; j < csvTable.Rows.Count; j += 2)
            {
                int                 i = j + 1;
                const double        blankIndicator = -1;
                AttributeImportance tmpLevel;
                AttributeLevel      tmpImportance;

                if (csvTable.Rows[j][7] is System.DBNull || csvTable.Rows[j][9] is System.DBNull || csvTable.Rows[i][9] is System.DBNull)
                {
                    tmpImportance = new AttributeLevel(Convert.ToDouble(value: csvTable.Rows[i][6].ToString()), n: blankIndicator, stdError: blankIndicator, lowerCI: blankIndicator, upperCI: blankIndicator, suppress: "N", date: Convert.ToDateTime(csvTable.Rows[i][13].ToString()), source: csvTable.Rows[i][14].ToString(), notRelevant: "N");
                    tmpLevel      = new AttributeImportance(Convert.ToDouble(value: csvTable.Rows[j][6].ToString()), n: blankIndicator, stdError: blankIndicator, lowerCI: blankIndicator, upperCI: blankIndicator, suppress: "N", date: Convert.ToDateTime(csvTable.Rows[j][13].ToString()), source: csvTable.Rows[j][14].ToString());
                }
                else
                {
                    tmpImportance = new AttributeLevel(Convert.ToDouble(value: csvTable.Rows[i][6].ToString()), n: Convert.ToDouble(csvTable.Rows[i][7].ToString()), stdError: Convert.ToDouble(csvTable.Rows[i][8].ToString()), lowerCI: Convert.ToDouble(csvTable.Rows[i][9].ToString()), upperCI: Convert.ToDouble(csvTable.Rows[i][10].ToString()), suppress: csvTable.Rows[i][11].ToString(), date: Convert.ToDateTime(csvTable.Rows[i][13].ToString()), source: csvTable.Rows[i][14].ToString(), notRelevant: csvTable.Rows[i][12].ToString());
                    tmpLevel      = new AttributeImportance(Convert.ToDouble(value: csvTable.Rows[j][6].ToString()), n: Convert.ToDouble(csvTable.Rows[j][7].ToString()), stdError: Convert.ToDouble(csvTable.Rows[j][8].ToString()), lowerCI: Convert.ToDouble(csvTable.Rows[j][9].ToString()), upperCI: Convert.ToDouble(csvTable.Rows[j][10].ToString()), suppress: csvTable.Rows[j][11].ToString(), date: Convert.ToDateTime(csvTable.Rows[j][13].ToString()), source: csvTable.Rows[j][14].ToString());
                }

                string elementID       = csvTable.Rows[i][2].ToString();
                string elementName     = csvTable.Rows[i][3].ToString();
                string occupationID    = csvTable.Rows[j][0].ToString();
                int    occupationIndex = MasterOccupationList.FindIndex(p => p.SOCCode.Equals(occupationID));

                JobAttribute tmpAttribute = new JobAttribute(elementName, elementID, tmpImportance, tmpLevel, Constants.AttributeType.Knowledge);
                MasterOccupationList[occupationIndex].Knowledge.Add(tmpAttribute);

                int attributeIndex = MasterKnowledgeList.FindIndex(p => p.ElementID.Equals(elementID));
                if (attributeIndex == -1)
                {
                    MasterKnowledgeList.Add(new Attribute(elementName, elementID, MasterOccupationList[occupationIndex].SOCCode, Constants.AttributeType.Knowledge));
                }
                else
                {
                    MasterKnowledgeList[attributeIndex].OccupationIDs.Add(MasterOccupationList[occupationIndex].SOCCode);
                }
            }
        }
Beispiel #2
0
        //create skills, add them to the occupations
        public static void ONET_importOccupations()
        {
            MasterOccupationList = JSON_IO.Import_OccupationList(Helper.Publics.FILENAMES.OCCUPATIONS + ".txt");
            foreach (Occupation o in MasterOccupationList)
            {
                o.Skills         = new List <JobAttribute>();
                o.Abilities      = new List <JobAttribute>();
                o.Knowledge      = new List <JobAttribute>();
                o.AlternateNames = new List <string>();
            }

            var csvTable = new DataTable();

            using (var csvReader = new CsvReader(new StreamReader(System.IO.File.OpenRead(@"C:\Users\Sam\Desktop\Fork\db_24_3_excel\csv\Skills.csv")), true))
            {
                csvTable.Load(csvReader);
            }

            for (int j = 0; j < csvTable.Rows.Count; j += 2)
            {
                int                 i = j + 1;
                const double        blankIndicator = -1;
                AttributeImportance tmpLevel;
                AttributeLevel      tmpImportance;
                // if (9660 <= i && i <= 9728)
                if (csvTable.Rows[j][7] is System.DBNull)
                {
                    tmpImportance = new AttributeLevel(Convert.ToDouble(value: csvTable.Rows[i][6].ToString()), n: blankIndicator, stdError: blankIndicator, lowerCI: blankIndicator, upperCI: blankIndicator, suppress: "N", date: Convert.ToDateTime(csvTable.Rows[i][13].ToString()), source: csvTable.Rows[i][14].ToString(), notRelevant: "N");
                    tmpLevel      = new AttributeImportance(Convert.ToDouble(value: csvTable.Rows[j][6].ToString()), n: blankIndicator, stdError: blankIndicator, lowerCI: blankIndicator, upperCI: blankIndicator, suppress: "N", date: Convert.ToDateTime(csvTable.Rows[j][13].ToString()), source: csvTable.Rows[j][14].ToString());
                }
                else
                {
                    tmpImportance = new AttributeLevel(Convert.ToDouble(value: csvTable.Rows[i][6].ToString()), n: Convert.ToDouble(csvTable.Rows[i][7].ToString()), stdError: Convert.ToDouble(csvTable.Rows[i][8].ToString()), lowerCI: Convert.ToDouble(csvTable.Rows[i][9].ToString()), upperCI: Convert.ToDouble(csvTable.Rows[i][10].ToString()), suppress: csvTable.Rows[i][11].ToString(), date: Convert.ToDateTime(csvTable.Rows[i][13].ToString()), source: csvTable.Rows[i][14].ToString(), notRelevant: csvTable.Rows[i][12].ToString());
                    tmpLevel      = new AttributeImportance(Convert.ToDouble(value: csvTable.Rows[j][6].ToString()), n: Convert.ToDouble(csvTable.Rows[j][7].ToString()), stdError: Convert.ToDouble(csvTable.Rows[j][8].ToString()), lowerCI: Convert.ToDouble(csvTable.Rows[j][9].ToString()), upperCI: Convert.ToDouble(csvTable.Rows[j][10].ToString()), suppress: csvTable.Rows[j][11].ToString(), date: Convert.ToDateTime(csvTable.Rows[j][13].ToString()), source: csvTable.Rows[j][14].ToString());
                }

                string elementID       = csvTable.Rows[i][2].ToString();
                string elementName     = csvTable.Rows[i][3].ToString();
                string occupationID    = csvTable.Rows[j][0].ToString();
                int    occupationIndex = MasterOccupationList.FindIndex(p => p.SOCCode.Equals(occupationID));

                JobAttribute tmpSkill = new JobAttribute(elementName, elementID, tmpImportance, tmpLevel, Constants.AttributeType.Skill);
                MasterOccupationList[occupationIndex].Skills.Add(tmpSkill);

                int skillIndex = MasterSkillList.FindIndex(p => p.ElementID.Equals(elementID));
                if (skillIndex == -1)
                {
                    MasterSkillList.Add(new Attribute(elementName, elementID, MasterOccupationList[occupationIndex].SOCCode, Constants.AttributeType.Skill));
                }
                else
                {
                    MasterSkillList[skillIndex].OccupationIDs.Add(MasterOccupationList[occupationIndex].SOCCode);
                }
            }

            importAbility();
            importKnowledge();
            importJobZones();
            importAltOccNames();

            JSON_IO.JSON_Export_OccupationList(MasterOccupationList, Helper.Publics.FILENAMES.OCCUPATIONS);

            JSON_IO.Export_AttributeList(MasterSkillList, Helper.Publics.FILENAMES.SKILLS);
            JSON_IO.Export_AttributeList(MasterKnowledgeList, Helper.Publics.FILENAMES.KNOWLEDGE);
            JSON_IO.Export_AttributeList(MasterAbilityList, Helper.Publics.FILENAMES.ABILITIES);
        }