41cd35e5d1d277402e67b1a2382d529a18ff2665
[toast/confclerk.git] / src / mvc / room.cpp
1 /*
2  * Copyright (C) 2010 Ixonos Plc.
3  * Copyright (C) 2011 Philipp Spitzer, gregor herrmann
4  *
5  * This file is part of ConfClerk.
6  *
7  * ConfClerk is free software: you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the Free
9  * Software Foundation, either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * ConfClerk is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  * more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * ConfClerk.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include "room.h"
22
23 QString const Room::sTableName = QString("room");
24 int const Room::sTableColCount = 3;
25 const QString Room::NAME = "name";
26
27 QSqlRecord const Room::sColumns = Room::toRecord(QList<QSqlField>()
28     << QSqlField("id", QVariant::Int)
29     << QSqlField(NAME, QVariant::String)
30     << QSqlField("picture", QVariant::String));
31
32 Room Room::retrieveByName(QString name)
33 {
34     QSqlQuery query;
35     query.prepare(
36             selectQuery()
37             + QString("WHERE %1.name = :name").arg(sTableName));
38     query.bindValue(":name", name);
39     return loadOne(query);
40 }
41
42 QList<Room> Room::getAll()
43 {
44     QSqlQuery query;
45     query.prepare(selectQuery());
46     return load(query);
47 }
48
49 Room Room::retrieve(int id)
50 {
51     QSqlQuery query;
52     query.prepare(selectQuery()
53             + QString("WHERE %1.id = :id").arg(sTableName));
54     query.bindValue(":id", id);
55     return loadOne(query);
56 }
57
58 QString Room::retrieveRoomName(int id)
59 {
60     Room room = retrieve(id);
61     return room.name();
62 }
63