// // Created by selim on 03.10.22. // #include #include "Vehicle.h" std::string Vehicle::createTableQuery() { return R"( CREATE TABLE IF NOT EXISTS vehicles( number TEXT NOT NULL PRIMARY KEY, currentNumber TEXT, color TEXT, category TEXT, year INT, addedDate REAL, updatedDate REAL, vin1 TEXT, vin2 TEXT, sts TEXT, pts TEXT, addedBy TEXT, engineNumber TEXT, engineVolume INT, enginePowerHp REAL, enginePowerKw REAL, engineFuelType TEXT ); )"; } std::string Vehicle::insertQuery() { return fmt::format(R"( INSERT INTO vehicles(number, currentNumber, color, category, year, addedDate, updatedDate, vin1, vin2, sts, pts, addedBy, engineNumber, engineVolume, enginePowerHp, enginePowerKw, engineFuelType) VALUES('{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}') )", number, currentNumber, color.value_or("NULL"), category, year, addedDate, updatedDate, vin1, vin2.value_or("NULL"), sts, pts, addedBy, engine.number, engine.volume, engine.powerHp, engine.powerKw, engine.fuelType); } std::string Vehicle::selectQuery() { return "SELECT * FROM vehicles"; } Vehicle::Vehicle(sqlite3_stmt *stmt) { number = readString(stmt, 0); currentNumber = readString(stmt, 1); color = readStringOptional(stmt, 2); category = readString(stmt, 3); year = readInt(stmt, 4); addedDate = readDouble(stmt, 5); updatedDate = readDouble(stmt, 6); vin1 = readString(stmt, 7); vin2 = readStringOptional(stmt, 8); sts = readString(stmt, 9); pts = readString(stmt, 10); addedBy = readString(stmt, 11); engine.number = readString(stmt, 12); engine.volume = readInt(stmt, 13); engine.powerHp = readDouble(stmt, 14); engine.powerKw = readDouble(stmt, 15); engine.fuelType = readString(stmt, 16); }