MattyNotes
dbmanager.h
Go to the documentation of this file.
1 #ifndef DBMANAGER_H
2 #define DBMANAGER_H
3 
4 #ifdef _MSC_VER
5 #pragma once
6 #endif // _MSC_VER
7 
8 #include "mattynote.h"
9 #include "queryconstructor.h"
10 
11 #include <QMessageBox>
12 #include <QSqlDatabase>
13 #include <QSqlQuery>
14 #include <QSqlRecord>
15 #include <QSqlTableModel>
16 #include <QSqlError>
17 #include <QString>
18 
20 {
22  {}
23 
24  MattyNoteRow(int NoteIdIncm, QString NoteTitleIncm, QString NoteTypeIncm,
25  QString NoteTextIncm, QString EventTimeIncm, QString EventDateIncm,
26  QString CrTimeIncm, QString CtDateIncm, int TypeIdIncm)
27  : NoteId(NoteIdIncm),
28  NoteTitle(NoteTitleIncm),
29  NoteType(NoteTypeIncm),
30  NoteText(NoteTextIncm),
31  EventTime(EventTimeIncm),
32  EventDate(EventDateIncm),
33  CrTime(CrTimeIncm),
34  CrDate(CtDateIncm),
35  TypeId(TypeIdIncm)
36  {}
37 
38  int NoteId;
39  QString NoteTitle;
40  QString NoteType;
41  QString NoteText;
42  QString EventTime;
43  QString EventDate;
44  QString CrTime;
45  QString CrDate;
46  int TypeId; // не работает в базе + потом при M:N вообще не нужен будет
47 };
48 
49 
51 {
53  {}
54 
55  MattyCssRow(int RowIdIncm, QString DescriptionIncm, QString ElementsIncm,
56  QString PropertyNameIncm, QString PropertyCustomValueIncm,
57  QString PropertyDefaultValueIncm,
58  int PropetyCustomValueUsedIncm, QString ImportantMarkIncm)
59  : RowId(RowIdIncm),
60  Description(DescriptionIncm),
61  Elements(ElementsIncm),
62  PropertyName(PropertyNameIncm),
63  PropertyCustomValue(PropertyCustomValueIncm),
64  PropertyDefaultValue(PropertyDefaultValueIncm),
65  PropetyCustomValueUsed(PropetyCustomValueUsedIncm),
66  ImportantMark(ImportantMarkIncm)
67  {}
68 
69  int RowId;
70  QString Description;
71  QString Elements;
72  QString PropertyName;
76  QString ImportantMark;
77 };
78 
79 enum CssTables { MainCss = 0, CustomCss };
80 
81 class DbManager
82 {
83 public:
84  DbManager();
85  ~DbManager();
86  static bool connected();
87  static bool connect(const QString& path);
88  static bool addNote(MattyNote & Note);
89  static bool editNote(MattyNote & Note, int NoteId);
90  static bool deleteNote(int NoteId);
91  static MattyNoteRow showNote(int NoteId);
92  // static QVector<QStringList> showNotes();
93  static QVector<MattyNoteRow> showNotes();
94  static QVector<MattyNoteRow> showNotes(QMap<QString, QString> & Filter);
95  static QSqlTableModel* getModel(const QString& path); // needtodelete wherever it's called
96  static QStringList getTypes();
97  static QString getTypeName(int TypeId);
98  static int getTypeId(const QString & TypeName);
99  static int getNoteCount();
100  // static QVector<MattyCssRow> getCss(CssTables TableName);
101  //static QVector<QStringList> getAllNotesOrderByCrDate();
102  static void showIsNotOpenedError();
103 private:
104  static QSqlDatabase MattyNotesDb;
105  static QString PathToDb;
106 };
107 
108 #endif // DBMANAGER_H
MattyCssRow()
Definition: dbmanager.h:52
QString EventTime
Definition: dbmanager.h:42
int RowId
Definition: dbmanager.h:69
MattyNoteRow(int NoteIdIncm, QString NoteTitleIncm, QString NoteTypeIncm, QString NoteTextIncm, QString EventTimeIncm, QString EventDateIncm, QString CrTimeIncm, QString CtDateIncm, int TypeIdIncm)
Definition: dbmanager.h:24
QString PropertyDefaultValue
Definition: dbmanager.h:74
QString CrTime
Definition: dbmanager.h:44
QString ImportantMark
Definition: dbmanager.h:76
QString PropertyName
Definition: dbmanager.h:72
QString NoteText
Definition: dbmanager.h:41
QString PropetyCustomValueUsed
Definition: dbmanager.h:75
Definition: dbmanager.h:79
CssTables
Definition: dbmanager.h:79
int TypeId
Definition: dbmanager.h:46
Definition: dbmanager.h:19
QString Elements
Definition: dbmanager.h:71
static QString PathToDb
Definition: dbmanager.h:105
QString NoteTitle
Definition: dbmanager.h:39
MattyCssRow(int RowIdIncm, QString DescriptionIncm, QString ElementsIncm, QString PropertyNameIncm, QString PropertyCustomValueIncm, QString PropertyDefaultValueIncm, int PropetyCustomValueUsedIncm, QString ImportantMarkIncm)
Definition: dbmanager.h:55
QString CrDate
Definition: dbmanager.h:45
QString Description
Definition: dbmanager.h:70
MattyNoteRow()
Definition: dbmanager.h:21
QString EventDate
Definition: dbmanager.h:43
QString PropertyCustomValue
Definition: dbmanager.h:73
Definition: dbmanager.h:50
int NoteId
Definition: dbmanager.h:38
static QSqlDatabase MattyNotesDb
Definition: dbmanager.h:104
QString NoteType
Definition: dbmanager.h:40
Definition: mattynote.h:11
Definition: dbmanager.h:79
Definition: dbmanager.h:81