Beispiel #1
0
        private void readPowierzchniaDataFromDB(ModelPowierzchnia pow)
        {
            string   query    = "";
            DBReader dbReader = new DBReader(dbConnection);

            ModelPunkty points = new ModelPunkty();

            query            = SqlQueries.getPoints + pow.idPow;
            points.pointData = dbReader.readFromDBToDataTable(query);
            pow.points       = points;

            if (saveModelOption == 1)           //tj pełne modele, tylko wtedy wczytuję trójkąty
            {
                ModelTriangles triangles = new ModelTriangles();
                query = SqlQueries.getTriangles + pow.idPow;
                triangles.triangleData = dbReader.readFromDBToDataTable(query);
                pow.triangles          = triangles;
            }

            ModelLinie breaklines = new ModelLinie();

            query = SqlQueries.getBreaklines + pow.idPow;
            breaklines.breaklineData = dbReader.readFromDBToDataTable(query);
            pow.breaklines           = breaklines;

            ModelGrid grids = new ModelGrid();

            query          = SqlQueries.getGrids + pow.idPow;
            grids.gridData = dbReader.readFromDBToDataTable(query);
            pow.grids      = grids;
        }
Beispiel #2
0
        private void writePowierzchniaToDB(ModelBundle modelDataBundle)
        {
            Model2D model      = modelDataBundle.models[0];         //każda paczka zawiera tylko jeden model
            int     newModelId = 0;

            modelIdsAfterRestoreDict.TryGetValue(model.idModel, out newModelId);
            model.setNewModelIdInPowierzchnia(newModelId);

            uint   maxPowId  = 0;
            string tableName = dbConnector.getTableNameFromQuery(SqlQueries.getPowierzchnieNoBlob);

            for (int i = 0; i < model.powierzchnieList.Count; i++)
            {
                ModelPowierzchnia pow = model.powierzchnieList[i];

                dbWriter.writeBulkDataToDB(pow.powDataTable, tableName);

                if (i == 0)       //analogicznie jak w przypadku wpisywania deklaracji modeli, po dodaniu pierwszej powierzchni odczytuję jej ID z bazy
                {
                    maxPowId = getMaxPowierzchniaIdFromDB();
                }
                else            //kolejne ID tworzę sam
                {
                    maxPowId++;
                }
                //w każdej powierzchni, w danych składowych tj trójkątów, punktów itd  zmieniam ID powierzchni na nowy, w nowej bazie danych
                pow.idPow = maxPowId;
                //mając id aktualizuję PowObrys
                dbWriter.executeQuery("Update DefPowierzchni set PowObrys = '" + pow.powObrys + "'" + SqlQueries.getPowierzchnie_byIdPowFilter + pow.idPow);

                //zapisuję dane szczegółowe każdej powierzchni do bazy, tj. punkty, trójkąty itd
                //writePowierzchniaDataToDB(pow);
            }
        }
Beispiel #3
0
        private void writePowierzchniaDataToDB(ModelPowierzchnia pow)
        {
            string tableName = "";
            uint   newIdPow  = uint.Parse(pow.idPow.ToString());

            tableName = dbConnector.getTableNameFromQuery(SqlQueries.getPoints);
            ModelPunkty points = pow.points;

            if (points.setNewIdPow(newIdPow))
            {
                dbWriter.writeBulkDataToDB(points.pointData, tableName);
            }

            tableName = dbConnector.getTableNameFromQuery(SqlQueries.getTriangles);
            ModelTriangles triangles = pow.triangles;

            if (triangles != null)                              //jest null jeżeli zapisuję same punkty
            {
                if (triangles.setNewIdPow(newIdPow))
                {
                    dbWriter.writeBulkDataToDB(triangles.triangleData, tableName);
                }
            }

            tableName = dbConnector.getTableNameFromQuery(SqlQueries.getGrids);
            ModelGrid grids = pow.grids;

            if (grids.setNewIdPow(newIdPow))
            {
                dbWriter.writeBulkDataToDB(grids.gridData, tableName);
            }

            tableName = dbConnector.getTableNameFromQuery(SqlQueries.getBreaklines);
            ModelLinie breaklines = pow.breaklines;

            if (breaklines.setNewIdPow(newIdPow))
            {
                dbWriter.writeBulkDataToDB(breaklines.breaklineData, tableName);
            }
        }
Beispiel #4
0
        private void readPowierzchniaFromDB(Model2D model)
        {
            DBReader dbReader = new DBReader(dbConnection);
            //najpierw potrzebuję jedynie utworzyć obiekty ModelPowierzchnia, potrzebuję do tego tylko niektóre dane
            string query = SqlQueries.getPowierzchnieDeclaration + SqlQueries.getPowierzchnie_byIdModelFilter + model.idModel;

            QueryData     powierzchnieData = dbReader.readFromDB(query);
            List <string> paramTypes       = powierzchnieData.getDataTypes();

            for (int i = 0; i < powierzchnieData.getDataRowsNumber(); i++)
            {
                ModelPowierzchnia pow = new ModelPowierzchnia();

                pow.idPow = powierzchnieData.getQueryData()[i][SqlQueries.getPowierzchnie_idPowIndex];

                pow.idModel          = powierzchnieData.getQueryData()[i][SqlQueries.getPowierzchnie_idModelIndex];
                pow.idModel_dataType = paramTypes[SqlQueries.getPowierzchnie_idModelIndex];

                pow.nazwaPow          = powierzchnieData.getQueryData()[i][SqlQueries.getPowierzchnie_nazwaPowIndex];
                pow.nazwaPow_dataType = paramTypes[SqlQueries.getPowierzchnie_nazwaPowIndex];

                pow.powierzchniaData = powierzchnieData.getQueryData()[i];
                pow.columnHeaders    = powierzchnieData.getHeaders();
                pow.columnDataTypes  = powierzchnieData.getDataTypes();

                //teraz w zależności od opcji czytam pełne dane powierzchni i zapisuję do DataTable
                if (saveModelOption == 0)
                {
                    pow.powDataTable = dbReader.readFromDBToDataTable(SqlQueries.getPowierzchnieNoBlob + SqlQueries.getPowierzchnie_byIdPowFilter + pow.idPow);
                }
                else
                {
                    pow.powDataTable = dbReader.readFromDBToDataTable(SqlQueries.getPowierzchnieFull + SqlQueries.getPowierzchnie_byIdPowFilter + pow.idPow);
                }
                //readPowierzchniaDataFromDB(pow);
                pow.powObrys = dbReader.readScalarFromDB("Select PowObrys from DefPowierzchni " + SqlQueries.getPowierzchnie_byIdPowFilter + pow.idPow).ToString();
                model.addPowierzchnia(pow);
            }
        }
Beispiel #5
0
 public void addPowierzchnia(ModelPowierzchnia pow)
 {
     powierzchnieList.Add(pow);
 }