added goal feature

This commit is contained in:
Mohamed Nouffer
2022-10-12 21:46:17 +05:30
parent 0470e1f27f
commit 8e30ee6ba7
29 changed files with 876 additions and 481 deletions

View File

@ -1,5 +1,6 @@
import 'dart:io';
import 'package:path_provider/path_provider.dart';
import 'package:rogapp/model/Rogaining.dart';
import 'package:rogapp/model/destination.dart';
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
@ -47,8 +48,78 @@ class DatabaseHelper{
buy_point REAL
)
''');
await db.execute('''
CREATE TABLE rogaining(
rog_id INTEGER PRIMARY KEY AUTOINCREMENT,
course_id INTEGER,
location_id INTEGER,
user_id INTEGER,
lat REAL,
lon REAL,
time_stamp INTEGER
)
''');
}
Future<List<Rogaining>> allRogianing() async {
Database db = await instance.database;
var rog = await db.query('rogaining');
List<Rogaining> roglist = rog.isNotEmpty ?
rog.map((e) => Rogaining.fromMap(e)).toList() : [];
print("--------- ${rog}");
return roglist;
}
Future<List<Rogaining>> getRogainingByLatLon(double lat, double lon) async {
Database db = await instance.database;
var rog = await db.query('rogaining', where: "lat = ${lat} and lon= ${lon}");
List<Rogaining> roglist = rog.isNotEmpty
? rog.map((e) => Rogaining.fromMap(e)).toList() : [];
return roglist;
}
Future<int> deleteRogaining(int rog_id) async {
Database db = await instance.database;
var rog = await db.delete('rogaining', where: "rog_id = ${rog_id}");
int ret = rog > 0 ? rog : -1;
return ret;
}
Future<void> deleteAllRogaining() async {
Database db = await instance.database;
await db.delete('rogaining');
}
Future<bool>isRogAlreadyAvailable(int rog_id) async{
Database db = await instance.database;
var rog = await db.query('rogaining', where: "rog_id = ${rog_id}");
return rog.length > 0 ? true : false;
}
Future<int> insertRogaining(Rogaining rog) async {
Database db = await instance.database;
int? next_order = Sqflite.firstIntValue(await db.rawQuery('SELECT MAX(rog_id) FROM rogaining'));
next_order = next_order==null ? 0 : next_order;
next_order = next_order + 1;
rog.rog_id = next_order;
int res = await db.insert(
'rogaining',
rog.toMap(),
conflictAlgorithm: ConflictAlgorithm.replace,
);
print("------ database helper insert ${res}-----------::::::::");
return res;
}
Future<List<Destination>> getDestinations() async {
Database db = await instance.database;
var dest = await db.query('destination', orderBy: 'list_order');