src/database/db_recipe.cpp

Fri, 29 Jul 2022 13:20:24 +0200

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

Update recipe load/save for the new hops fields.

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

mercurial