src/database/db_recipe.cpp

Mon, 13 Jun 2022 10:54:23 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 13 Jun 2022 10:54:23 +0200
changeset 280
efc213beb605
parent 262
6bab9440aeb9
child 282
d1d208a857b0
permissions
-rw-r--r--

Member names of miscs normalized. This was a leftover from porting from php code.

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;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 f.f_name = obj["f_name"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142 f.f_origin = obj["f_origin"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 f.f_supplier = obj["f_supplier"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 f.f_amount = obj["f_amount"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 f.f_cost = obj["f_cost"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146 f.f_type = obj["f_type"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147 f.f_yield = obj["f_yield"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148 f.f_color = obj["f_color"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 f.f_coarse_fine_diff = obj["f_coarse_fine_diff"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150 f.f_moisture = obj["f_moisture"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151 f.f_diastatic_power = obj["f_diastatic_power"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152 f.f_protein = obj["f_protein"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153 f.f_dissolved_protein = obj["f_dissolved_protein"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 f.f_max_in_batch = obj["f_max_in_batch"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 f.f_graintype = obj["f_graintype"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 f.f_added = obj["f_added"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 f.f_recommend_mash = obj["f_recommend_mash"].toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158 f.f_add_after_boil = obj["f_add_after_boil"].toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
159 f.f_adjust_to_total_100 = obj["f_adjust_to_total_100"].toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
160 f.f_percentage = obj["f_percentage"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161 f.f_di_ph = obj["f_di_ph"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162 f.f_acid_to_ph_57 = obj["f_acid_to_ph_57"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
163 if (f.f_adjust_to_total_100)
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;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
165 percentcheck += f.f_percentage;
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++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
172 if (reci->fermentables.at(i).f_added < 4)
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
173 total += reci->fermentables.at(i).f_amount;
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++) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
176 if (reci->fermentables.at(i).f_added < 4)
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
177 reci->fermentables[i].f_percentage = round((reci->fermentables.at(i).f_amount / total) * 10000.0) / 100.0;
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;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196 h.h_name = obj["h_name"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
197 h.h_origin = obj["h_origin"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
198 h.h_amount = obj["h_amount"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
199 h.h_cost = obj["h_cost"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
200 h.h_type = obj["h_type"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
201 h.h_form = obj["h_form"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202 h.h_useat = obj["h_useat"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
203 h.h_time = obj["h_time"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
204 h.h_alpha = obj["h_alpha"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 h.h_beta = obj["h_beta"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
206 h.h_hsi = obj["h_hsi"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207 h.h_humulene = obj["h_humulene"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
208 h.h_caryophyllene = obj["h_caryophyllene"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
209 h.h_cohumulone = obj["h_cohumulone"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210 h.h_myrcene = obj["h_myrcene"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211 h.h_total_oil = obj["h_total_oil"].toDouble();
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;
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
229 m.name = obj["name"].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
230 m.amount = obj["amount"].toDouble();
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
231 m.type = obj["type"].toInt();
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
232 m.use_use = obj["use_use"].toInt();
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
233 m.time = obj["time"].toDouble();
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
234 m.amount_is_weight = obj["amount_is_weight"].toInt() ? true:false;
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
235 m.cost = obj["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. */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
254 y.y_tolerance = y.y_harvest_time = y.y_pitch_temperature = y.y_zymocide = 0;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
255 y.y_sta1 = y.y_bacteria = y.y_harvest_top = y.y_pofpos = false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
256 y.y_gr_hl_lo = 50;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
257 y.y_sg_lo = 1.04;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
258 y.y_gr_hl_hi = 80;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
259 y.y_sg_hi = 1.08;
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 */
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
261 y.y_name = obj["y_name"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
262 y.y_laboratory = obj["y_laboratory"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
263 y.y_product_id = obj["y_product_id"].toString();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
264 y.y_amount = obj["y_amount"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
265 y.y_type = obj["y_type"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
266 y.y_form = obj["y_form"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
267 y.y_min_temperature = obj["y_min_temperature"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
268 y.y_max_temperature = obj["y_max_temperature"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
269 y.y_flocculation = obj["y_flocculation"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
270 y.y_attenuation = obj["y_attenuation"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
271 y.y_cells = obj["y_cells"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
272 y.y_tolerance = obj["y_tolerance"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
273 y.y_inventory = obj["y_inventory"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
274 y.y_use = obj["y_use"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
275 y.y_sta1 = obj["y_sta1"].toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
276 y.y_bacteria = obj["y_bacteria"].toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
277 y.y_harvest_top = obj["y_harvest_top"].toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
278 y.y_harvest_time = obj["y_harvest_time"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
279 y.y_pitch_temperature = obj["y_pitch_temperature"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
280 y.y_pofpos = obj["y_pofpos"].toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
281 y.y_zymocide = obj["y_zymocide"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
282 y.y_gr_hl_lo = obj["y_gr_hl_lo"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
283 y.y_sg_lo = obj["y_sg_lo"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
284 y.y_gr_hl_hi = obj["y_gr_hl_hi"].toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
285 y.y_sg_hi = obj["y_sg_hi"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
286 y.y_cost = obj["y_cost"].toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
287
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
288 if (y.y_tolerance == 0 || y.y_cells == 0) { // More and better tests?
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");
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
295 yquery.bindValue(":name", y.y_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
296 yquery.bindValue(":laboratory", y.y_laboratory);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
297 yquery.bindValue(":product_id", y.y_product_id);
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()) {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
300 y.y_tolerance = yquery.value(0).toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
301 y.y_cells = yquery.value(1).toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
302 y.y_sta1 = yquery.value(2).toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
303 y.y_bacteria = yquery.value(3).toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
304 y.y_harvest_top = yquery.value(4).toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
305 y.y_harvest_time = yquery.value(5).toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
306 y.y_pitch_temperature = yquery.value(6).toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
307 y.y_pofpos = yquery.value(7).toInt() ? true:false;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
308 y.y_zymocide = yquery.value(8).toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
309 y.y_gr_hl_lo = yquery.value(9).toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
310 y.y_sg_lo = yquery.value(10).toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
311 y.y_gr_hl_hi = yquery.value(11).toInt();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
312 y.y_sg_hi = yquery.value(12).toDouble();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
313 } else {
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
314 qDebug() << y.y_name << y.y_product_id << "not found for upgrade";
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();
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
333 Mashs m;
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;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
488 obj.insert("f_name", reci->fermentables.at(i).f_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
489 obj.insert("f_origin", reci->fermentables.at(i).f_origin);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
490 obj.insert("f_supplier", reci->fermentables.at(i).f_supplier);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
491 obj.insert("f_amount", round(reci->fermentables.at(i).f_amount * 10000) / 10000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
492 obj.insert("f_cost", round(reci->fermentables.at(i).f_cost * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
493 obj.insert("f_type", reci->fermentables.at(i).f_type);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
494 obj.insert("f_yield", round(reci->fermentables.at(i).f_yield * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
495 obj.insert("f_color", round(reci->fermentables.at(i).f_color * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
496 obj.insert("f_coarse_fine_diff", round(reci->fermentables.at(i).f_coarse_fine_diff * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
497 obj.insert("f_moisture", round(reci->fermentables.at(i).f_moisture * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
498 obj.insert("f_diastatic_power", round(reci->fermentables.at(i).f_diastatic_power * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
499 obj.insert("f_protein", round(reci->fermentables.at(i).f_protein * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
500 obj.insert("f_dissolved_protein", round(reci->fermentables.at(i).f_dissolved_protein * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
501 obj.insert("f_max_in_batch", reci->fermentables.at(i).f_max_in_batch);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
502 obj.insert("f_graintype", reci->fermentables.at(i).f_graintype);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
503 obj.insert("f_added", reci->fermentables.at(i).f_added);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
504 obj.insert("f_recommend_mash", reci->fermentables.at(i).f_recommend_mash ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
505 obj.insert("f_add_after_boil", reci->fermentables.at(i).f_add_after_boil ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
506 obj.insert("f_adjust_to_total_100", reci->fermentables.at(i).f_adjust_to_total_100 ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
507 obj.insert("f_percentage", round(reci->fermentables.at(i).f_percentage * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
508 obj.insert("f_di_ph", round(reci->fermentables.at(i).f_di_ph * 100000) / 100000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
509 obj.insert("f_acid_to_ph_57", round(reci->fermentables.at(i).f_acid_to_ph_57 * 100000) / 100000);
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;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
523 obj.insert("h_name", reci->hops.at(i).h_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
524 obj.insert("h_origin", reci->hops.at(i).h_origin);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
525 obj.insert("h_amount", round(reci->hops.at(i).h_amount * 10000) / 10000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
526 obj.insert("h_cost", round(reci->hops.at(i).h_cost * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
527 obj.insert("h_type", reci->hops.at(i).h_type);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
528 obj.insert("h_form", reci->hops.at(i).h_form);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
529 obj.insert("h_useat", reci->hops.at(i).h_useat);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
530 obj.insert("h_time", round(reci->hops.at(i).h_time));
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
531 obj.insert("h_alpha", round(reci->hops.at(i).h_alpha * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
532 obj.insert("h_beta", round(reci->hops.at(i).h_beta * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
533 obj.insert("h_hsi", round(reci->hops.at(i).h_hsi * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
534 obj.insert("h_humulene", round(reci->hops.at(i).h_humulene * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
535 obj.insert("h_caryophyllene", round(reci->hops.at(i).h_caryophyllene * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
536 obj.insert("h_cohumulone", round(reci->hops.at(i).h_cohumulone * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
537 obj.insert("h_myrcene", round(reci->hops.at(i).h_myrcene * 100) / 100);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
538 obj.insert("h_total_oil", round(reci->hops.at(i).h_total_oil * 100) / 100);
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;
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
552 obj.insert("name", reci->miscs.at(i).name);
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
553 obj.insert("amount", round(reci->miscs.at(i).amount * 10000) / 10000);
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
554 obj.insert("type", reci->miscs.at(i).type);
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
555 obj.insert("use_use", reci->miscs.at(i).use_use);
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
556 obj.insert("time", round(reci->miscs.at(i).time));
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
557 obj.insert("amount_is_weight", reci->miscs.at(i).amount_is_weight ? 1:0);
efc213beb605 Member names of miscs normalized. This was a leftover from porting from php code.
Michiel Broek <mbroek@mbse.eu>
parents: 262
diff changeset
558 obj.insert("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;
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
572 obj.insert("y_name", reci->yeasts.at(i).y_name);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
573 obj.insert("y_laboratory", reci->yeasts.at(i).y_laboratory);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
574 obj.insert("y_product_id", reci->yeasts.at(i).y_product_id);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
575 obj.insert("y_amount", round(reci->yeasts.at(i).y_amount * 10000) / 10000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
576 obj.insert("y_type", reci->yeasts.at(i).y_type);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
577 obj.insert("y_form", reci->yeasts.at(i).y_form);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
578 obj.insert("y_min_temperature", round(reci->yeasts.at(i).y_min_temperature * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
579 obj.insert("y_max_temperature", round(reci->yeasts.at(i).y_max_temperature * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
580 obj.insert("y_flocculation", reci->yeasts.at(i).y_flocculation);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
581 obj.insert("y_attenuation", round(reci->yeasts.at(i).y_attenuation * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
582 obj.insert("y_cells", reci->yeasts.at(i).y_cells);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
583 obj.insert("y_tolerance", round(reci->yeasts.at(i).y_tolerance * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
584 obj.insert("y_inventory", round(reci->yeasts.at(i).y_inventory * 10000) / 10000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
585 obj.insert("y_use", reci->yeasts.at(i).y_use);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
586 obj.insert("y_sta1", reci->yeasts.at(i).y_sta1 ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
587 obj.insert("y_bacteria", reci->yeasts.at(i).y_bacteria ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
588 obj.insert("y_harvest_top", reci->yeasts.at(i).y_harvest_top ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
589 obj.insert("y_harvest_time", reci->yeasts.at(i).y_harvest_time);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
590 obj.insert("y_pitch_temperature", round(reci->yeasts.at(i).y_pitch_temperature * 10) / 10);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
591 obj.insert("y_pofpos", reci->yeasts.at(i).y_pofpos ? 1:0);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
592 obj.insert("y_zymocide", reci->yeasts.at(i).y_zymocide);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
593 obj.insert("y_gr_hl_lo", reci->yeasts.at(i).y_gr_hl_lo);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
594 obj.insert("y_sg_lo", round(reci->yeasts.at(i).y_sg_lo * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
595 obj.insert("y_gr_hl_hi", reci->yeasts.at(i).y_gr_hl_hi);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
596 obj.insert("y_sg_hi", round(reci->yeasts.at(i).y_sg_hi * 1000) / 1000);
3c28dc8dd51d Moved recipe load, save and delete to it's own file.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
597 obj.insert("y_cost", round(reci->yeasts.at(i).y_cost * 1000) / 1000);
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