Changeset 606c155


Ignore:
Timestamp:
01/21/10 13:59:22 (12 years ago)
Author:
korrco <korrco@…>
Branches:
master, qt5
Children:
96fe8fb
Parents:
72cd3af
Message:

activities tab implemented

Location:
src/mvc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/mvc/track.cpp

    r72cd3af r606c155  
    11/*
    2  * track.cpp
     2 * activity.cpp
    33 *
    44 *  Created on: Dec 27, 2009
     
    77
    88#include "track.h"
     9#include <QSqlTableModel>
    910
    1011QString const Track::sTableName = QString("track");
    1112int const Track::sTableColCount = 2;
     13const QString Track::NAME = "name";
    1214
    1315QSqlRecord const Track::sColumns = Track::toRecord(QList<QSqlField>()
    1416    << QSqlField("id", QVariant::Int)
    15     << QSqlField("name", QVariant::String));
     17    << QSqlField(NAME, QVariant::String));
    1618
    1719QMap<int, Track> Track::mIdToTrack;
     20
     21class TrackInsertException : OrmSqlException
     22{
     23public:
     24    TrackInsertException(const QString& text) : OrmSqlException(text) {}
     25};
     26
     27int Track::insert()
     28{
     29    QSqlQuery query;
     30    query.prepare("INSERT INTO " + sTableName + " (" + NAME + ")" + " VALUES " + "(\"" + name() + "\")");
     31    if (!query.exec())
     32    {
     33        throw TrackInsertException("Exec Error");
     34    }
     35    QVariant variant = query.lastInsertId();
     36    if (variant.isValid())
     37        return variant.toInt();
     38    else
     39        throw TrackInsertException("Last Insert Id Error");
     40}
     41
     42Track Track::retrieveByName(QString name)
     43{
     44    QSqlQuery query;
     45    query.prepare(
     46            selectQuery()
     47            + QString("WHERE %1.name = :name").arg(sTableName));
     48    query.bindValue(":name", name);
     49    return loadOne(query);
     50}
    1851
    1952QList<Track> Track::getAll()
     
    3972    QString name = mIdToTrack.value(id).name();
    4073    if (name == "") {
    41         qDebug() << QString("Error: undefined track name for id %1").arg(id);
     74        qDebug() << QString("Error: undefined activity name for id %1").arg(id);
    4275    }
    4376    return name;
  • src/mvc/track.h

    r72cd3af r606c155  
    66 */
    77
    8 #ifndef TRACK_H
    9 #define TRACK_H
     8#ifndef TRACK_H_
     9#define TRACK_H_
    1010
    1111#include <ormrecord.h>
     
    1515public:
    1616    static const QSqlRecord sColumns;
     17    static const QSqlRecord sInsertColumns;
    1718    static QString const sTableName;
    1819    static const int sTableColCount;
     20    static const QString NAME;
    1921public:
    2022    static QMap<int, Track> mIdToTrack;
    2123public:
    22     static QList<Track> getAll();
     24    int insert();
    2325    int id() const { return value("id").toInt(); }
    2426    void setId(int id) { setValue("id", id); }
     
    2628    void setName(const QString & type) { setValue("name", type); }
    2729public:
     30    //static void
     31    static QList<Track> getAll();
     32    static Track retrieveByName(QString name);
    2833    static void updateTrackMap();
    2934    static QString getTrackName(int id);
    3035};
    3136
    32 #endif /* TRACK_H */
    33 
     37#endif /* TRACK_H_ */
Note: See TracChangeset for help on using the changeset viewer.