private void readPowierzchniaFromDB(Model2D model) { string query = SqlQueries.getPowierzchnie + SqlQueries.getPowierzchnie_FilterAllInModel + model.idModel; QueryData powierzchnieData = reader.readFromDB(query); List <string> paramTypes = powierzchnieData.getDataTypes(); for (int i = 0; i < powierzchnieData.getDataRowsNumber(); i++) { Powierzchnia pow = new Powierzchnia(); 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(); pow.powDataTable = reader.readFromDBToDataTable(SqlQueries.getPowierzchnie + SqlQueries.getPowierzchnie_FilterSingleById + pow.idPow); readPowierzchniaDataFromDB(pow); model.addPowierzchnia(pow); } }
private void writePowierzchniaToDB(Model2D model) { uint maxPowId = 0; string tableName = dbConnector.getTableNameFromQuery(SqlQueries.getPowierzchnie); for (int i = 0; i < model.powierzchnieList.Count; i++) { Powierzchnia pow = model.powierzchnieList[i]; writer.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; //zapisuję dane szczegółowe każdej powierzchni do bazy, tj. punkty, trójkąty itd writePowierzchniaDataToDB(pow); } }
private List <Model2D> readSelectedModelsFromDB() { List <Model2D> selectedModels = new List <Model2D>(); string modelIds = ""; foreach (ListViewItem checkedModel in modelsListView.CheckedItems) { modelIds += (checkedModel.Text + ","); } int index = modelIds.LastIndexOf(","); string queryFilter = SqlQueries.getModelsByIdFilter.Replace("@iDs", modelIds.Remove(index, 1)); 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]; readPowierzchniaFromDB(model2D); selectedModels.Add(model2D); } return(selectedModels); }