src/database/db_recipe.cpp

Mon, 06 Jun 2022 14:12:35 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 06 Jun 2022 14:12:35 +0200
changeset 258
70bb9c3ee60f
parent 256
c136bd15b084
child 262
6bab9440aeb9
permissions
-rw-r--r--

In the recipe editor hops you can now change the alpha percentage and hop form of any hop. We don't need locked values in recipe design.

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

mercurial