src/database/db_recipe.cpp

Fri, 29 Jul 2022 13:12:26 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 29 Jul 2022 13:12:26 +0200
changeset 373
b02aca4e926c
parent 294
afc763d9fd89
child 374
74d541ac514c
permissions
-rw-r--r--

First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.

249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * db_recipe.cpp is part of bmsapp.
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 #include "global.h"
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 #include "db_recipe.h"
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 bool DB_recipe::load(Recipe *reci, QDialog *dialog, int recno)
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 QSqlQuery query, yquery;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 query.prepare("SELECT * FROM recipes WHERE record = :recno");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 query.bindValue(":recno", recno);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 query.exec();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 if (! query.first()) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
30 qWarning() << "loadRecipe seek error record" << recno;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 QMessageBox::warning(dialog, QObject::tr("Database error"), QObject::tr("MySQL error: record %1 not found").arg(recno));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 dialog->done(QDialog::Rejected); // At this stage, this doesn't work because the dialog is not yet visible.
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 return false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 // QSqlRecord rec = query.record();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 // for (int i = 0; i < rec.count(); i++)
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 // qDebug() << i << rec.fieldName(i) << query.value(i);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 reci->record = query.value("record").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 reci->uuid = query.value("uuid").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 reci->locked = query.value("locked").toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 reci->st_name = query.value("st_name").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 reci->st_letter = query.value("st_letter").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 reci->st_guide = query.value("st_guide").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 reci->st_category = query.value("st_category").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 reci->st_category_number = query.value("st_category_number").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 reci->st_type = query.value("st_type").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 reci->st_og_min = query.value("st_og_min").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 reci->st_og_max = query.value("st_og_max").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 reci->st_fg_min = query.value("st_fg_min").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 reci->st_fg_max = query.value("st_fg_max").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 reci->st_ibu_min = query.value("st_ibu_min").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 reci->st_ibu_max = query.value("st_ibu_max").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 reci->st_color_min = query.value("st_color_min").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 reci->st_color_max = query.value("st_color_max").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 reci->st_carb_min = query.value("st_carb_min").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 reci->st_carb_max = query.value("st_carb_max").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 reci->st_abv_min = query.value("st_abv_min").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 reci->st_abv_max = query.value("st_abv_max").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 reci->name = query.value("name").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 reci->notes = query.value("notes").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 reci->type = query.value("type").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 reci->batch_size = query.value("batch_size").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 reci->boil_size = query.value("boil_size").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 reci->boil_time = query.value("boil_time").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 reci->efficiency = query.value("efficiency").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 reci->est_og = query.value("est_og").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 reci->est_fg = query.value("est_fg").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 reci->est_abv = query.value("est_abv").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 reci->est_color = query.value("est_color").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 reci->color_method = query.value("color_method").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 reci->est_ibu = query.value("est_ibu").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 reci->ibu_method = query.value("ibu_method").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 reci->est_carb = query.value("est_carb").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 reci->sparge_temp = query.value("sparge_temp").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 reci->sparge_ph = query.value("sparge_ph").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 reci->sparge_volume = query.value("sparge_volume").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 reci->sparge_source = query.value("sparge_source").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 reci->sparge_acid_type = query.value("sparge_acid_type").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 reci->sparge_acid_perc = query.value("sparge_acid_perc").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 reci->sparge_acid_amount = query.value("sparge_acid_amount").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 reci->mash_ph = query.value("mash_ph").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 reci->mash_name = query.value("mash_name").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 reci->calc_acid = query.value("calc_acid").toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 reci->w1_name = query.value("w1_name").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 reci->w1_amount = query.value("w1_amount").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 reci->w1_calcium = query.value("w1_calcium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 reci->w1_sulfate = query.value("w1_sulfate").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 reci->w1_chloride = query.value("w1_chloride").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 reci->w1_sodium = query.value("w1_sodium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 reci->w1_magnesium = query.value("w1_magnesium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 reci->w1_total_alkalinity = query.value("w1_total_alkalinity").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 reci->w1_ph = query.value("w1_ph").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 reci->w1_cost = query.value("w1_cost").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 reci->w2_name = query.value("w2_name").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 reci->w2_amount = query.value("w2_amount").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 reci->w2_calcium = query.value("w2_calcium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 reci->w2_sulfate = query.value("w2_sulfate").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 reci->w2_chloride = query.value("w2_chloride").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 reci->w2_sodium = query.value("w2_sodium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 reci->w2_magnesium = query.value("w2_magnesium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 reci->w2_total_alkalinity = query.value("w2_total_alkalinity").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 reci->w2_ph = query.value("w2_ph").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 reci->w2_cost = query.value("w2_cost").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 reci->wg_amount = query.value("wg_amount").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 reci->wg_calcium = query.value("wg_calcium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 reci->wg_sulfate = query.value("wg_sulfate").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 reci->wg_chloride = query.value("wg_chloride").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 reci->wg_sodium = query.value("wg_sodium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 reci->wg_magnesium = query.value("wg_magnesium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 reci->wg_total_alkalinity = query.value("wg_total_alkalinity").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 reci->wg_ph = query.value("wg_ph").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 reci->wb_calcium = query.value("wb_calcium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 reci->wb_sulfate = query.value("wb_sulfate").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 reci->wb_chloride = query.value("wb_chloride").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 reci->wb_sodium = query.value("wb_sodium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122 reci->wb_magnesium = query.value("wb_magnesium").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 reci->wb_total_alkalinity = query.value("wb_total_alkalinity").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 reci->wb_ph = query.value("wb_ph").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 reci->wa_acid_name = query.value("wa_acid_name").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 reci->wa_acid_perc = query.value("wa_acid_perc").toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 reci->wa_base_name = query.value("wa_base_name").toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 QJsonParseError parseError;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 const auto& f_json = query.value("json_fermentables").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 if (!f_json.trimmed().isEmpty()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 const auto& formattedJson = QString("%1").arg(f_json);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 QJsonDocument fermentables = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
135 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 } else if (fermentables.isArray()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 double percentcheck = 0;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 for (int i = 0; i < fermentables.array().size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 QJsonObject obj = fermentables.array().at(i).toObject();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 Fermentables f;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
141 f.name = obj["f_name"].toString();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
142 f.origin = obj["f_origin"].toString();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
143 f.supplier = obj["f_supplier"].toString();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
144 f.amount = obj["f_amount"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
145 f.cost = obj["f_cost"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
146 f.type = obj["f_type"].toInt();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
147 f.yield = obj["f_yield"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
148 f.color = obj["f_color"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
149 f.coarse_fine_diff = obj["f_coarse_fine_diff"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
150 f.moisture = obj["f_moisture"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
151 f.diastatic_power = obj["f_diastatic_power"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
152 f.protein = obj["f_protein"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
153 f.dissolved_protein = obj["f_dissolved_protein"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
154 f.max_in_batch = obj["f_max_in_batch"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
155 f.graintype = obj["f_graintype"].toInt();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
156 f.added = obj["f_added"].toInt();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
157 f.recommend_mash = obj["f_recommend_mash"].toInt() ? true:false;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
158 f.add_after_boil = obj["f_add_after_boil"].toInt() ? true:false;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
159 f.adjust_to_total_100 = obj["f_adjust_to_total_100"].toInt() ? true:false;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
160 f.percentage = obj["f_percentage"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
161 f.di_ph = obj["f_di_ph"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
162 f.acid_to_ph_57 = obj["f_acid_to_ph_57"].toDouble();
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
163 if (f.adjust_to_total_100)
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 reci->fermentables_use100 = true;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
165 percentcheck += f.percentage;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 reci->fermentables.append(f);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
167 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
168 if (percentcheck == 0) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
169 /* Missing percentages, fix it. */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
170 double total = 0;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
171 for (int i = 0; i < reci->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
172 if (reci->fermentables.at(i).added < 4)
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
173 total += reci->fermentables.at(i).amount;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
174 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
175 for (int i = 0; i < reci->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
176 if (reci->fermentables.at(i).added < 4)
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
177 reci->fermentables[i].percentage = round((reci->fermentables.at(i).amount / total) * 10000.0) / 100.0;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
178 }
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
179 qInfo() << "fixed missing percentages";
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
180 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
181 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
183 qDebug() << "empty fermentables";
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
185
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186 const auto& h_json = query.value("json_hops").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
187 if (!h_json.trimmed().isEmpty()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 const auto& formattedJson = QString("%1").arg(h_json);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
189 QJsonDocument hops = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
190 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
191 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
192 } else if (hops.isArray()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
193 for (int i = 0; i < hops.array().size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 QJsonObject obj = hops.array().at(i).toObject();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
195 Hops h;
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
196 h.name = obj["h_name"].toString();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
197 h.origin = obj["h_origin"].toString();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
198 h.amount = obj["h_amount"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
199 h.cost = obj["h_cost"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
200 h.type = obj["h_type"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
201 h.form = obj["h_form"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
202 h.useat = obj["h_useat"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
203 h.time = obj["h_time"].toInt();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
204 h.alpha = obj["h_alpha"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
205 h.beta = obj["h_beta"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
206 h.hsi = obj["h_hsi"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
207 h.humulene = obj["h_humulene"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
208 h.caryophyllene = obj["h_caryophyllene"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
209 h.cohumulone = obj["h_cohumulone"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
210 h.myrcene = obj["h_myrcene"].toDouble();
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
211 h.total_oil = obj["h_total_oil"].toDouble();
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
212 reci->hops.append(h);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
213 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
214 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
215 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
216 qDebug() << "empty hops";
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
217 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218
280
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
219 const auto& json = query.value("json_miscs").toString();
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
220 if (!json.trimmed().isEmpty()) {
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
221 const auto& formattedJson = QString("%1").arg(json);
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
222 QJsonDocument miscs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
223 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
224 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
225 } else if (miscs.isArray()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
226 for (int i = 0; i < miscs.array().size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
227 QJsonObject obj = miscs.array().at(i).toObject();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
228 Miscs m;
294
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
229 m.name = obj["m_name"].toString();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
230 m.amount = obj["m_amount"].toDouble();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
231 m.type = obj["m_type"].toInt();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
232 m.use_use = obj["m_use_use"].toInt();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
233 m.time = obj["m_time"].toDouble();
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
234 m.amount_is_weight = obj["m_amount_is_weight"].toInt() ? true:false;
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
235 m.cost = obj["m_cost"].toDouble();
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
236 reci->miscs.append(m);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
237 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
238 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
239 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
240 qDebug() << "empty miscs";
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
241 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
242
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
243 const auto& y_json = query.value("json_yeasts").toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
244 if (!y_json.trimmed().isEmpty()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
245 const auto& formattedJson = QString("%1").arg(y_json);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
246 QJsonDocument yeasts = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
247 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
248 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
249 } else if (yeasts.isArray()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
250 for (int i = 0; i < yeasts.array().size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
251 QJsonObject obj = yeasts.array().at(i).toObject();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
252 Yeasts y;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
253 /* First some defaults for newer fields. */
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
254 y.tolerance = y.harvest_time = y.pitch_temperature = y.zymocide = 0;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
255 y.sta1 = y.bacteria = y.harvest_top = y.pofpos = false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
256 y.gr_hl_lo = 50;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
257 y.sg_lo = 1.04;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
258 y.gr_hl_hi = 80;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
259 y.sg_hi = 1.08;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
260 /* Now get what we have got */
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
261 y.name = obj["y_name"].toString();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
262 y.laboratory = obj["y_laboratory"].toString();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
263 y.product_id = obj["y_product_id"].toString();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
264 y.amount = obj["y_amount"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
265 y.type = obj["y_type"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
266 y.form = obj["y_form"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
267 y.min_temperature = obj["y_min_temperature"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
268 y.max_temperature = obj["y_max_temperature"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
269 y.flocculation = obj["y_flocculation"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
270 y.attenuation = obj["y_attenuation"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
271 y.cells = obj["y_cells"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
272 y.tolerance = obj["y_tolerance"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
273 y.inventory = obj["y_inventory"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
274 y.use = obj["y_use"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
275 y.sta1 = obj["y_sta1"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
276 y.bacteria = obj["y_bacteria"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
277 y.harvest_top = obj["y_harvest_top"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
278 y.harvest_time = obj["y_harvest_time"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
279 y.pitch_temperature = obj["y_pitch_temperature"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
280 y.pofpos = obj["y_pofpos"].toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
281 y.zymocide = obj["y_zymocide"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
282 y.gr_hl_lo = obj["y_gr_hl_lo"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
283 y.sg_lo = obj["y_sg_lo"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
284 y.gr_hl_hi = obj["y_gr_hl_hi"].toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
285 y.sg_hi = obj["y_sg_hi"].toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
286 y.cost = obj["y_cost"].toDouble();
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
287
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
288 if (y.tolerance == 0 || y.cells == 0) { // More and better tests?
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
289 /*
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
290 * Possible data upgrade needed.
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
291 */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
292 yquery.prepare("SELECT tolerance,cells,sta1,bacteria,harvest_top,harvest_time,pitch_temperature,"
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
293 "pofpos,zymocide,gr_hl_lo,sg_lo,gr_hl_hi,sg_hi "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
294 "FROM inventory_yeasts WHERE name=:name AND laboratory=:laboratory AND product_id=:product_id");
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
295 yquery.bindValue(":name", y.name);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
296 yquery.bindValue(":laboratory", y.laboratory);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
297 yquery.bindValue(":product_id", y.product_id);
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
298 yquery.exec();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
299 if (yquery.first()) {
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
300 y.tolerance = yquery.value(0).toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
301 y.cells = yquery.value(1).toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
302 y.sta1 = yquery.value(2).toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
303 y.bacteria = yquery.value(3).toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
304 y.harvest_top = yquery.value(4).toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
305 y.harvest_time = yquery.value(5).toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
306 y.pitch_temperature = yquery.value(6).toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
307 y.pofpos = yquery.value(7).toInt() ? true:false;
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
308 y.zymocide = yquery.value(8).toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
309 y.gr_hl_lo = yquery.value(9).toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
310 y.sg_lo = yquery.value(10).toDouble();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
311 y.gr_hl_hi = yquery.value(11).toInt();
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
312 y.sg_hi = yquery.value(12).toDouble();
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
313 } else {
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
314 qDebug() << y.name << y.product_id << "not found for upgrade";
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
315 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
316 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
317 reci->yeasts.append(y);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
318 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
319 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
320 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
321 qDebug() << "empty yeasts";
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
322 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
323
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
324 const auto& ma_json = query.value("json_mashs").toString().trimmed();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
325 if (!ma_json.trimmed().isEmpty()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
326 const auto& formattedJson = QString("%1").arg(ma_json);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
327 QJsonDocument mashs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
328 if (parseError.error != QJsonParseError::NoError) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
329 qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
330 } else if (mashs.isArray()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
331 for (int i = 0; i < mashs.array().size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
332 QJsonObject obj = mashs.array().at(i).toObject();
287
83e66c6b6e07 Renamed struct Mashs to MashSteps
Michiel Broek <mbroek@mbse.eu>
parents: 284
diff changeset
333 MashSteps m;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
334 m.step_name = obj["step_name"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
335 m.step_type = obj["step_type"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
336 m.step_volume = obj["step_volume"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
337 m.step_infuse_amount = obj["step_infuse_amount"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
338 m.step_infuse_temp = obj["step_infuse_temp"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
339 m.step_temp = obj["step_temp"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
340 m.step_time = obj["step_time"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
341 m.ramp_time = obj["ramp_time"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
342 m.end_temp = obj["end_temp"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
343 m.step_wg_ratio = obj["step_wg_ratio"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
344 reci->mashs.append(m);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
345 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
346 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
347 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
348 qDebug() << "empty mashs";
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
349 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
350
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
351 qInfo() << "loadRecipe" << reci->record << "done";
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
352 return true;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
353 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
354
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
355
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
356 bool DB_recipe::save(Recipe *reci, QDialog *dialog)
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
357 {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
358 QSqlQuery query;
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
359 QString sql = "";
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
360
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
361 if (reci->record == -1) {
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
362 sql = "INSERT INTO recipes SET ";
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
363 } else {
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
364 sql = "UPDATE recipes SET ";
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
365 }
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
366 sql.append("locked=:locked, st_name=:st_name, st_letter=:st_letter, "
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
367 "st_guide=:st_guide, st_category=:st_category, st_category_number=:st_catnr, st_type=:st_type, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
368 "st_og_min=:st_og_min, st_og_max=:st_og_max, st_fg_min=:st_fg_min, st_fg_max=:st_fg_max, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
369 "st_ibu_min=:st_ibu_min, st_ibu_max=:st_ibu_max, st_color_min=:st_color_min, st_color_max=:st_color_max, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
370 "st_carb_min=:st_carb_min, st_carb_max=:st_carb_max, st_abv_min=:st_abv_min, st_abv_max=:st_abv_max, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
371 "name=:name, notes=:notes, type=:type, batch_size=:batch_size, boil_size=:boil_size, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
372 "boil_time=:boil_time, efficiency=:efficiency, est_og=:est_og, est_fg=:est_fg, est_abv=:est_abv, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
373 "est_color=:est_color, color_method=:color_method, est_ibu=:est_ibu, ibu_method=:ibu_method, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
374 "est_carb=:est_carb, sparge_temp=:sparge_temp, sparge_ph=:sparge_ph, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
375 "sparge_volume=:sparge_volume, sparge_source=:sparge_source, sparge_acid_type=:sparge_acid_type, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
376 "sparge_acid_perc=:sparge_acid_perc, sparge_acid_amount=:sparge_acid_amount, mash_ph=:mash_ph, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
377 "mash_name=:mash_name, calc_acid=:calc_acid, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
378 "w1_name=:w1_name, w1_amount=:w1_amount, w1_calcium=:w1_calcium, w1_sulfate=:w1_sulfate, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
379 "w1_chloride=:w1_chloride, w1_sodium=:w1_sodium, w1_magnesium=:w1_magnesium, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
380 "w1_total_alkalinity=:w1_total_alkalinity, w1_ph=:w1_ph, w1_cost=:w1_cost, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
381 "w2_name=:w2_name, w2_amount=:w2_amount, w2_calcium=:w2_calcium, w2_sulfate=:w2_sulfate, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
382 "w2_chloride=:w2_chloride, w2_sodium=:w2_sodium, w2_magnesium=:w2_magnesium, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
383 "w2_total_alkalinity=:w2_total_alkalinity, w2_ph=:w2_ph, w2_cost=:w2_cost, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
384 "wg_amount=:wg_amount, wg_calcium=:wg_calcium, wg_sulfate=:wg_sulfate, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
385 "wg_chloride=:wg_chloride, wg_sodium=:wg_sodium, wg_magnesium=:wg_magnesium, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
386 "wg_total_alkalinity=:wg_total_alkalinity, wg_ph=:wg_ph, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
387 "wb_calcium=:wb_calcium, wb_sulfate=:wb_sulfate, wb_chloride=:wb_chloride, wb_sodium=:wb_sodium, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
388 "wb_magnesium=:wb_magnesium, wb_total_alkalinity=:wb_total_alkalinity, wb_ph=:wb_ph, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
389 "wa_acid_name=:wa_acid_name, wa_acid_perc=:wa_acid_perc, wa_base_name=:wa_base_name, "
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
390 "json_fermentables=:json_fermentables, json_hops=:json_hops, json_miscs=:json_miscs, "
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
391 "json_yeasts=:json_yeasts, json_mashs=:json_mashs");
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
392 if (reci->record == -1) {
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
393 sql.append(", uuid=:uuid");
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
394 } else {
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
395 sql.append(" WHERE record = :recno");
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
396 }
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
397
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
398 query.prepare(sql);
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
399 query.bindValue(":locked", reci->locked ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
400 query.bindValue(":st_name", reci->st_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
401 query.bindValue(":st_letter", reci->st_letter);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
402 query.bindValue(":st_guide", reci->st_guide);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
403 query.bindValue(":st_category", reci->st_category);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
404 query.bindValue(":st_catnr", reci->st_category_number);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
405 query.bindValue(":st_type", reci->st_type);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
406 query.bindValue(":st_og_min", round(reci->st_og_min * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
407 query.bindValue(":st_og_max", round(reci->st_og_max * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
408 query.bindValue(":st_fg_min", round(reci->st_fg_min * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
409 query.bindValue(":st_fg_max", round(reci->st_fg_max * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
410 query.bindValue(":st_ibu_min", round(reci->st_ibu_min * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
411 query.bindValue(":st_ibu_max", round(reci->st_ibu_max * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
412 query.bindValue(":st_color_min", round(reci->st_color_min * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
413 query.bindValue(":st_color_max", round(reci->st_color_max * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
414 query.bindValue(":st_carb_min", round(reci->st_carb_min * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
415 query.bindValue(":st_carb_max", round(reci->st_carb_max * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
416 query.bindValue(":st_abv_min", round(reci->st_abv_min * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
417 query.bindValue(":st_abv_max", round(reci->st_abv_max * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
418 query.bindValue(":name", reci->name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
419 query.bindValue(":notes", reci->notes);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
420 query.bindValue(":type", reci->type);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
421 query.bindValue(":batch_size", round(reci->batch_size * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
422 query.bindValue(":boil_size", round(reci->boil_size * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
423 query.bindValue(":boil_time", round(reci->boil_time * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
424 query.bindValue(":efficiency", round(reci->efficiency * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
425 query.bindValue(":est_og", round(reci->est_og * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
426 query.bindValue(":est_fg", round(reci->est_fg * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
427 query.bindValue(":est_abv", round(reci->est_abv * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
428 query.bindValue(":est_color", round(reci->est_color * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
429 query.bindValue(":color_method", reci->color_method);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
430 query.bindValue(":est_ibu", round(reci->est_ibu * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
431 query.bindValue(":ibu_method", reci->ibu_method);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
432 query.bindValue(":est_carb", round(reci->est_carb * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
433 query.bindValue(":sparge_temp", round(reci->sparge_temp * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
434 query.bindValue(":sparge_ph", round(reci->sparge_ph * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
435 query.bindValue(":sparge_volume", round(reci->sparge_volume * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
436 query.bindValue(":sparge_source", reci->sparge_source);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
437 query.bindValue(":sparge_acid_type", reci->sparge_acid_type);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
438 query.bindValue(":sparge_acid_perc", round(reci->sparge_acid_perc * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
439 query.bindValue(":sparge_acid_amount", round(reci->sparge_acid_amount * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
440 query.bindValue(":mash_ph", round(reci->mash_ph * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
441 query.bindValue(":mash_name", reci->mash_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
442 query.bindValue(":calc_acid", reci->calc_acid ?1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
443 query.bindValue(":w1_name", reci->w1_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
444 query.bindValue(":w1_amount", round(reci->w1_amount * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
445 query.bindValue(":w1_calcium", round(reci->w1_calcium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
446 query.bindValue(":w1_sulfate", round(reci->w1_sulfate * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
447 query.bindValue(":w1_chloride", round(reci->w1_chloride * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
448 query.bindValue(":w1_sodium", round(reci->w1_sodium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
449 query.bindValue(":w1_magnesium", round(reci->w1_magnesium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
450 query.bindValue(":w1_total_alkalinity", round(reci->w1_total_alkalinity * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
451 query.bindValue(":w1_ph", round(reci->w1_ph * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
452 query.bindValue(":w1_cost", round(reci->w1_cost * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
453 query.bindValue(":w2_name", reci->w2_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
454 query.bindValue(":w2_amount", round(reci->w2_amount * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
455 query.bindValue(":w2_calcium", round(reci->w2_calcium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
456 query.bindValue(":w2_sulfate", round(reci->w2_sulfate * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
457 query.bindValue(":w2_chloride", round(reci->w2_chloride * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
458 query.bindValue(":w2_sodium", round(reci->w2_sodium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
459 query.bindValue(":w2_magnesium", round(reci->w2_magnesium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
460 query.bindValue(":w2_total_alkalinity", round(reci->w2_total_alkalinity * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
461 query.bindValue(":w2_ph", round(reci->w2_ph * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
462 query.bindValue(":w2_cost", round(reci->w2_cost * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
463 query.bindValue(":wg_amount", round(reci->wg_amount * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
464 query.bindValue(":wg_calcium", round(reci->wg_calcium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
465 query.bindValue(":wg_sulfate", round(reci->wg_sulfate * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
466 query.bindValue(":wg_chloride", round(reci->wg_chloride * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
467 query.bindValue(":wg_sodium", round(reci->wg_sodium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
468 query.bindValue(":wg_magnesium", round(reci->wg_magnesium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
469 query.bindValue(":wg_total_alkalinity", round(reci->wg_total_alkalinity * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
470 query.bindValue(":wg_ph", round(reci->wg_ph * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
471 query.bindValue(":wb_calcium", round(reci->wb_calcium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
472 query.bindValue(":wb_sulfate", round(reci->wb_sulfate * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
473 query.bindValue(":wb_chloride", round(reci->wb_chloride * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
474 query.bindValue(":wb_sodium", round(reci->wb_sodium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
475 query.bindValue(":wb_magnesium", round(reci->wb_magnesium * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
476 query.bindValue(":wb_total_alkalinity", round(reci->wb_total_alkalinity * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
477 query.bindValue(":wb_ph", round(reci->wb_ph * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
478 query.bindValue(":wa_acid_name", reci->wa_acid_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
479 query.bindValue(":wa_acid_perc", round(reci->wa_acid_perc * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
480 query.bindValue(":wa_base_name", reci->wa_base_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
481
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
482 if (reci->fermentables.size() == 0) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
483 query.bindValue(":json_fermentables", "[]");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
484 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
485 QJsonArray array;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
486 for (int i = 0; i < reci->fermentables.size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
487 QJsonObject obj;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
488 obj.insert("f_name", reci->fermentables.at(i).name);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
489 obj.insert("f_origin", reci->fermentables.at(i).origin);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
490 obj.insert("f_supplier", reci->fermentables.at(i).supplier);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
491 obj.insert("f_amount", round(reci->fermentables.at(i).amount * 10000) / 10000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
492 obj.insert("f_cost", round(reci->fermentables.at(i).cost * 1000) / 1000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
493 obj.insert("f_type", reci->fermentables.at(i).type);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
494 obj.insert("f_yield", round(reci->fermentables.at(i).yield * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
495 obj.insert("f_color", round(reci->fermentables.at(i).color * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
496 obj.insert("f_coarse_fine_diff", round(reci->fermentables.at(i).coarse_fine_diff * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
497 obj.insert("f_moisture", round(reci->fermentables.at(i).moisture * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
498 obj.insert("f_diastatic_power", round(reci->fermentables.at(i).diastatic_power * 100000) / 100000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
499 obj.insert("f_protein", round(reci->fermentables.at(i).protein * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
500 obj.insert("f_dissolved_protein", round(reci->fermentables.at(i).dissolved_protein * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
501 obj.insert("f_max_in_batch", reci->fermentables.at(i).max_in_batch);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
502 obj.insert("f_graintype", reci->fermentables.at(i).graintype);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
503 obj.insert("f_added", reci->fermentables.at(i).added);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
504 obj.insert("f_recommend_mash", reci->fermentables.at(i).recommend_mash ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
505 obj.insert("f_add_after_boil", reci->fermentables.at(i).add_after_boil ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
506 obj.insert("f_adjust_to_total_100", reci->fermentables.at(i).adjust_to_total_100 ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
507 obj.insert("f_percentage", round(reci->fermentables.at(i).percentage * 10) / 10);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
508 obj.insert("f_di_ph", round(reci->fermentables.at(i).di_ph * 100000) / 100000);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
509 obj.insert("f_acid_to_ph_57", round(reci->fermentables.at(i).acid_to_ph_57 * 100000) / 100000);
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
510 array.append(obj); /* Append this object */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
511 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
512 QJsonDocument doc;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
513 doc.setArray(array);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
514 query.bindValue(":json_fermentables", doc.toJson(QJsonDocument::Compact));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
515 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
516
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
517 if (reci->hops.size() == 0) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
518 query.bindValue(":json_hops", "[]");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
519 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
520 QJsonArray array;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
521 for (int i = 0; i < reci->hops.size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
522 QJsonObject obj;
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
523 obj.insert("h_name", reci->hops.at(i).name);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
524 obj.insert("h_origin", reci->hops.at(i).origin);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
525 obj.insert("h_amount", round(reci->hops.at(i).amount * 10000) / 10000);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
526 obj.insert("h_cost", round(reci->hops.at(i).cost * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
527 obj.insert("h_type", reci->hops.at(i).type);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
528 obj.insert("h_form", reci->hops.at(i).form);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
529 obj.insert("h_useat", reci->hops.at(i).useat);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
530 obj.insert("h_time", round(reci->hops.at(i).time));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
531 obj.insert("h_alpha", round(reci->hops.at(i).alpha * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
532 obj.insert("h_beta", round(reci->hops.at(i).beta * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
533 obj.insert("h_hsi", round(reci->hops.at(i).hsi * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
534 obj.insert("h_humulene", round(reci->hops.at(i).humulene * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
535 obj.insert("h_caryophyllene", round(reci->hops.at(i).caryophyllene * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
536 obj.insert("h_cohumulone", round(reci->hops.at(i).cohumulone * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
537 obj.insert("h_myrcene", round(reci->hops.at(i).myrcene * 100) / 100);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 280
diff changeset
538 obj.insert("h_total_oil", round(reci->hops.at(i).total_oil * 100) / 100);
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
539 array.append(obj); /* Append this object */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
540 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
541 QJsonDocument doc;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
542 doc.setArray(array);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
543 query.bindValue(":json_hops", doc.toJson(QJsonDocument::Compact));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
544 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
545
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
546 if (reci->miscs.size() == 0) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
547 query.bindValue(":json_miscs", "[]");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
548 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
549 QJsonArray array;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
550 for (int i = 0; i < reci->miscs.size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
551 QJsonObject obj;
294
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
552 obj.insert("m_name", reci->miscs.at(i).name);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
553 obj.insert("m_amount", round(reci->miscs.at(i).amount * 10000) / 10000);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
554 obj.insert("m_type", reci->miscs.at(i).type);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
555 obj.insert("m_use_use", reci->miscs.at(i).use_use);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
556 obj.insert("m_time", round(reci->miscs.at(i).time));
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
557 obj.insert("m_amount_is_weight", reci->miscs.at(i).amount_is_weight ? 1:0);
afc763d9fd89 Fixed losing miscs ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 287
diff changeset
558 obj.insert("m_cost", round(reci->miscs.at(i).cost * 10000) / 10000);
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
559 array.append(obj); /* Append this object */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
560 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
561 QJsonDocument doc;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
562 doc.setArray(array);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
563 query.bindValue(":json_miscs", doc.toJson(QJsonDocument::Compact));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
564 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
565
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
566 if (reci->yeasts.size() == 0) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
567 query.bindValue(":json_yeasts", "[]");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
568 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
569 QJsonArray array;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
570 for (int i = 0; i < reci->yeasts.size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
571 QJsonObject obj;
284
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
572 obj.insert("y_name", reci->yeasts.at(i).name);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
573 obj.insert("y_laboratory", reci->yeasts.at(i).laboratory);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
574 obj.insert("y_product_id", reci->yeasts.at(i).product_id);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
575 obj.insert("y_amount", round(reci->yeasts.at(i).amount * 10000) / 10000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
576 obj.insert("y_type", reci->yeasts.at(i).type);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
577 obj.insert("y_form", reci->yeasts.at(i).form);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
578 obj.insert("y_min_temperature", round(reci->yeasts.at(i).min_temperature * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
579 obj.insert("y_max_temperature", round(reci->yeasts.at(i).max_temperature * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
580 obj.insert("y_flocculation", reci->yeasts.at(i).flocculation);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
581 obj.insert("y_attenuation", round(reci->yeasts.at(i).attenuation * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
582 obj.insert("y_cells", reci->yeasts.at(i).cells);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
583 obj.insert("y_tolerance", round(reci->yeasts.at(i).tolerance * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
584 obj.insert("y_inventory", round(reci->yeasts.at(i).inventory * 10000) / 10000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
585 obj.insert("y_use", reci->yeasts.at(i).use);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
586 obj.insert("y_sta1", reci->yeasts.at(i).sta1 ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
587 obj.insert("y_bacteria", reci->yeasts.at(i).bacteria ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
588 obj.insert("y_harvest_top", reci->yeasts.at(i).harvest_top ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
589 obj.insert("y_harvest_time", reci->yeasts.at(i).harvest_time);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
590 obj.insert("y_pitch_temperature", round(reci->yeasts.at(i).pitch_temperature * 10) / 10);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
591 obj.insert("y_pofpos", reci->yeasts.at(i).pofpos ? 1:0);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
592 obj.insert("y_zymocide", reci->yeasts.at(i).zymocide);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
593 obj.insert("y_gr_hl_lo", reci->yeasts.at(i).gr_hl_lo);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
594 obj.insert("y_sg_lo", round(reci->yeasts.at(i).sg_lo * 1000) / 1000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
595 obj.insert("y_gr_hl_hi", reci->yeasts.at(i).gr_hl_hi);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
596 obj.insert("y_sg_hi", round(reci->yeasts.at(i).sg_hi * 1000) / 1000);
33bb98c33e6a Member names for yeasts normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
597 obj.insert("y_cost", round(reci->yeasts.at(i).cost * 1000) / 1000);
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
598 array.append(obj); /* Append this object */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
599 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
600 QJsonDocument doc;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
601 doc.setArray(array);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
602 query.bindValue(":json_yeasts", doc.toJson(QJsonDocument::Compact));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
603 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
604
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
605 if (reci->mashs.size() == 0) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
606 query.bindValue(":json_mashs", "[]");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
607 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
608 QJsonArray array;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
609 for (int i = 0; i < reci->mashs.size(); i++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
610 QJsonObject obj;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
611 obj.insert("step_name", reci->mashs.at(i).step_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
612 obj.insert("step_type", reci->mashs.at(i).step_type);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
613 obj.insert("step_volume", round(reci->mashs.at(i).step_volume * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
614 obj.insert("step_infuse_amount", round(reci->mashs.at(i).step_infuse_amount * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
615 obj.insert("step_infuse_temp", round(reci->mashs.at(i).step_infuse_temp * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
616 obj.insert("step_temp", round(reci->mashs.at(i).step_temp * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
617 obj.insert("step_time", round(reci->mashs.at(i).step_time * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
618 obj.insert("ramp_time", round(reci->mashs.at(i).ramp_time * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
619 obj.insert("end_temp", round(reci->mashs.at(i).end_temp * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
620 obj.insert("step_wg_ratio", round(reci->mashs.at(i).step_wg_ratio * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
621 array.append(obj); /* Append this object */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
622 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
623 QJsonDocument doc;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
624 doc.setArray(array);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
625 query.bindValue(":json_mashs", doc.toJson(QJsonDocument::Compact));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
626 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
627
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
628 if (reci->record == -1) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
629 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
630 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
631 query.bindValue(":recno", reci->record);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
632 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
633 query.exec();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
634 if (query.lastError().isValid()) {
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
635 qWarning() << "saveRecipe" << query.lastError();
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
636 QMessageBox::warning(dialog, QObject::tr("Database error"),
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
637 QObject::tr("MySQL error: %1\n%2\n%3")
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
638 .arg(query.lastError().nativeErrorCode())
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
639 .arg(query.lastError().driverText())
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
640 .arg(query.lastError().databaseText()));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
641 return false;
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
642 }
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
643
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
644 /*
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
645 * If this was a new recipe, find out what record number we
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
646 * have got and set it. So when the user saves this record
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
647 * again, it will be updated instead of inserting a new copy.
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
648 */
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
649 if (reci->record < 0) {
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
650 QVariant id = query.lastInsertId();
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
651 reci->record = id.toInt();
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
652 qInfo() << "saveRecipe Inserted record" << reci->record;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
653 } else {
262
6bab9440aeb9 Code cleanup in database functions.
Michiel Broek <mbroek@mbse.eu>
parents: 256
diff changeset
654 qInfo() << "saveRecipe Updated record" << reci->record;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
655 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
656 return true;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
657 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
658
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
659
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
660 bool DB_recipe::dele(QDialog *dialog, int recno)
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
661 {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
662 QSqlQuery query;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
663
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
664 query.prepare("DELETE FROM recipes WHERE record = :recno");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
665 query.bindValue(":recno", recno);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
666 query.exec();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
667 if (query.lastError().isValid()) {
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
668 qWarning() << "deleteRecipe" << query.lastError();
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
669 QMessageBox::warning(dialog, QObject::tr("Database error"),
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
670 QObject::tr("MySQL error: %1\n%2\n%3")
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
671 .arg(query.lastError().nativeErrorCode())
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
672 .arg(query.lastError().driverText())
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
673 .arg(query.lastError().databaseText()));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
674 return false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
675 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
676
256
c136bd15b084 Make use of new logging handler.
Michiel Broek <mbroek@mbse.eu>
parents: 249
diff changeset
677 qInfo() << "deleteRecipe Deleted" << recno;
249
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
678 return true;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
679 }
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
680

mercurial