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); } }
//czyta tylko z tablicy DefModel2D, dane zostaną dodane później do każdego modelu osobno i będą dopisywane do pliku osobno //dane z tej metody będą użyte do odtworzenia struktury, do której następnie będą iteracyjnie dopisane dane private void readSelectedModelDeclarationsFromDB(string selectedModelIds) { string queryFilter = SqlQueries.getModelsByIdFilter.Replace("@iDs", selectedModelIds); QueryData modelData = readModelsFromDB(queryFilter); List <object[]> models = modelData.getQueryData(); List <string> paramTypes = modelData.getDataTypes(); for (int i = 0; i < models.Count; i++) { object[] model = models[i]; Model2D model2D = new Model2D(); model2D.czyArch = model[SqlQueries.getModels_czyArchIndex]; model2D.czyArch_dataType = paramTypes[SqlQueries.getModels_czyArchIndex]; model2D.dataModel = model[SqlQueries.getModels_dataModelIndex]; model2D.dataModel_dataType = paramTypes[SqlQueries.getModels_dataModelIndex]; model2D.directoryId = model[SqlQueries.getModels_directoryIdIndex]; model2D.directoryId_dataType = paramTypes[SqlQueries.getModels_directoryIdIndex]; model2D.idModel = model[SqlQueries.getModels_idModelIndex]; model2D.idModel_dataType = paramTypes[SqlQueries.getModels_idModelIndex]; model2D.idUzytk = model[SqlQueries.getModels_idUzytkIndex]; model2D.idUzytk_dataType = paramTypes[SqlQueries.getModels_idUzytkIndex]; model2D.idUzytkWlasciciel = model[SqlQueries.getModels_idUzytkWlascicielIndex]; model2D.idUzytkWlasciciel_dataType = paramTypes[SqlQueries.getModels_idUzytkWlascicielIndex]; model2D.nazwaModel = model[SqlQueries.getModels_nazwaModelIndex]; model2D.nazwaModel_dataType = paramTypes[SqlQueries.getModels_nazwaModelIndex]; model2D.opisModel = model[SqlQueries.getModels_opisModelIndex]; model2D.opisModel_dataType = paramTypes[SqlQueries.getModels_opisModelIndex]; ModelDirectory modelDir; directoryTreeControl1.checkedDirectories.TryGetValue(model2D.directoryId.ToString(), out modelDir); model2D.modelDir = modelDir; selectedModelDeclarations.Add(model2D); } }