public Generator(string root, string versjon) { string inFile = root + @"\PCAxis.Sql\codegenerator2\MakeCodeForCNMMnn\master_" + versjon + ".xml"; string configStubOutFile = root + @"PCAxis.Sql.DbConfig\configstub_" + versjon + ".xml"; string outDirRows = root + @"PCAxis.Sql\QueryLib_" + versjon + @"\GeneratedRows\"; string outDirMetaQ = root + @"PCAxis.Sql\QueryLib_" + versjon + @"\GeneratedMetaQueryParts\"; string outFileSqlDbConfigNN = root + @"PCAxis.Sql.DbConfig\SqlDbConfig_" + versjon + ".cs"; string sqlOutFile = root + @"\PCAxis.Sql\codegenerator2\MakeCodeForCNMMnn\create_cnmm_" + versjon + "_oracle.sql"; XmlTextReader xmlReader = new XmlTextReader(inFile); XmlSerializer pxsSerial = new XmlSerializer(typeof(GrandMaster.GrandMaster)); myMaster = (GrandMaster.GrandMaster)pxsSerial.Deserialize(xmlReader); MetaQueryMaker mqm = new MetaQueryMaker(myMaster, outDirMetaQ); mqm.genMetaQuery(); RowMaker rm = new RowMaker(myMaster, outDirRows); rm.genRowsClasses(); SqlDbConfig_nnMaker sdcm = new SqlDbConfig_nnMaker(myMaster, outFileSqlDbConfigNN); sdcm.genSqlDbCongigSubclass(); ConfigStubMaker csm = new ConfigStubMaker(configStubOutFile, myMaster); csm.genConfigStub(); CreateOracleDBScriptMaker cod = new CreateOracleDBScriptMaker(sqlOutFile, myMaster); cod.genCreateDatabaseSql(); }
internal RowMaker(GrandMaster.GrandMaster myMaster, string outDirRows) { this.myMaster = myMaster; this.outDirRows = outDirRows; }
internal ConfigStubMaker(string configStubOutFile, GrandMaster.GrandMaster myMaster) { this.myMaster = myMaster; this.outFileName = configStubOutFile; }
internal SqlDbConfig_nnMaker(GrandMaster.GrandMaster myMaster, string outFileSqlDbConfig) { this.myMaster = myMaster; this.outFileSqlDbConfig = outFileSqlDbConfig; }
/// <summary> /// Brukes til å merge commentar fil i ny versjon med master fra gammel til ny master /// </summary> public Merger() { Console.WriteLine(String.Format("Starter med versjon {0} på root {1}", versjon, root)); Console.WriteLine("Press Enter for å kjøre eller stopp VS."); Console.ReadLine(); myOut = new GrandMaster.GrandMaster(); string mergeDir = root + @"\PCAxis.Sql\codegenerator2\Merge_Comments_and_oldMaster\"; string file = mergeDir + "old_master_" + versjon + ".xml"; string commentsFile = mergeDir + "CommentsInModel_" + versjon + ".xml"; string utFil = mergeDir + "new_master_" + versjon + ".xml"; System.IO.StreamWriter outFile = new System.IO.StreamWriter(utFil); XmlTextReader xmlReader = new XmlTextReader(file); XmlTextReader xmlReader3 = new XmlTextReader(commentsFile); XmlSerializer oldMasterSerial = new XmlSerializer(typeof(GrandMaster.GrandMaster)); XmlSerializer commentsSerial = new XmlSerializer(typeof(CommentsInModel.CommentsInModel)); XmlSerializer grandSerial = new XmlSerializer(typeof(GrandMaster.GrandMaster)); myComments = (CommentsInModel.CommentsInModel)commentsSerial.Deserialize(xmlReader3); myMaster = (GrandMaster.GrandMaster)oldMasterSerial.Deserialize(xmlReader); StringCollection lang1Tabs = new StringCollection(); //codes int tmpi = 0; //myOut.Codes = myMaster.Codes; /* * myOut.Codes = new GrandMasterCode[myMaster.Codes.Length]; * foreach (MasterCode mc in myMaster.Codes) * { * GrandMasterCode gg = new GrandMasterCode(); * gg.codeName = mc.codeName; * gg.defaultCodeValue = mc.defaultCodeValue; * * myOut.Codes[tmpi] = gg; * tmpi++; * } * //keywords * tmpi = 0; * myOut.Keywords = new GrandMasterKeyword[myMaster.Keywords.Length]; * foreach (MasterKeyword mc in myMaster.Keywords) * { * GrandMasterKeyword gg = new GrandMasterKeyword(); * gg.modelName = mc.modelName; * if (mc.optionalSpecified) * { * gg.optionalSpecified = mc.optionalSpecified; * gg.optional = mc.optional; * } * if(!String.IsNullOrEmpty(mc.defaultLocalName)) * { * gg.defaultLocalName = mc.defaultLocalName; * } * myOut.Keywords[tmpi] = gg; * tmpi++; * } */ //comments fila bestemmer hvilke tabeller som skal med myOut.Tables = new GrandMasterTables(); myOut.Tables.Table = new TableType[myComments.Tables.Table.Length]; tmpi = 0; foreach (Table commTable in myComments.Tables.Table) { TableType tt = new TableType(); tt.modelName = commTable.name; tt.Description = commTable.Description; TableType oldMasterTable = getOldMaster(tt.modelName); bool hasOldMaster = (!(oldMasterTable == null)); tt.Columns = this.getColumns(commTable.Columns, oldMasterTable); if (hasOldMaster) { tt.alias = oldMasterTable.alias; tt.Comment = oldMasterTable.Comment; tt.defaultAlias_lang2 = oldMasterTable.defaultAlias_lang2; #region tt.generate tt.generate = oldMasterTable.generate; #endregion tt.generate //tt.langType fixes this later, together with the new ones //tt.modelName already in place; tt.readBySqlDbConfig = oldMasterTable.readBySqlDbConfig; //tt.tableName fixes this later, together with the new ones } myOut.Tables.Table[tmpi] = tt; tmpi++; } ///setter tabellenes langType og tableName /// foreach (TableType tt in myOut.Tables.Table) { tt.tableName = tt.modelName.ToUpper(); bool minstEnKolHasSL = false; foreach (ColumnType ct in tt.Columns) { if (ct.hasSL) { minstEnKolHasSL = true; } } tt.hasSL = minstEnKolHasSL; } //outFile.WriteLine("11111sdfsdfsfds"); grandSerial.Serialize(outFile, myOut); //outFile.WriteLine("22222sdfsdfsfds"); //outFile.Flush(); Console.Out.WriteLine("Wrote to file: " + utFil); Console.Out.WriteLine("OOOOOOOOOOOOOOOBS KODER og KEYWORDS må legges inn for hånd!!!"); }
internal CreateOracleDBScriptMaker(string configStubOutFile, GrandMaster.GrandMaster myMaster) { this.myMaster = myMaster; this.outFileName = configStubOutFile; }
internal MetaQueryMaker(GrandMaster.GrandMaster myMaster, string outDirMetaQ) { this.myMaster = myMaster; this.outDirMetaQ = outDirMetaQ; }