Example #1
0
        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();
        }
Example #2
0
 internal RowMaker(GrandMaster.GrandMaster myMaster, string outDirRows)
 {
     this.myMaster   = myMaster;
     this.outDirRows = outDirRows;
 }
Example #3
0
        internal ConfigStubMaker(string configStubOutFile, GrandMaster.GrandMaster myMaster)
        {
            this.myMaster = myMaster;

            this.outFileName = configStubOutFile;
        }
Example #4
0
 internal SqlDbConfig_nnMaker(GrandMaster.GrandMaster myMaster, string outFileSqlDbConfig)
 {
     this.myMaster           = myMaster;
     this.outFileSqlDbConfig = outFileSqlDbConfig;
 }
Example #5
0
        /// <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!!!");
        }
Example #6
0
 internal CreateOracleDBScriptMaker(string configStubOutFile, GrandMaster.GrandMaster myMaster)
 {
     this.myMaster    = myMaster;
     this.outFileName = configStubOutFile;
 }
Example #7
0
 internal MetaQueryMaker(GrandMaster.GrandMaster myMaster, string outDirMetaQ)
 {
     this.myMaster    = myMaster;
     this.outDirMetaQ = outDirMetaQ;
 }