Hourglass improved + projects delete

This commit is contained in:
Sewmina
2022-03-23 19:30:32 +05:30
parent aa72b5dc92
commit 9f976b1e33
7 changed files with 145 additions and 44 deletions

View File

@@ -98,7 +98,7 @@ Future<void> BuildBridgeToServer() async{
StartActivityTimer(ongoingData[0], ongoingData[1], DateTime.parse(ongoingData[2]));
}
}else{
CancelOngoingActivity();
if(prefs.containsKey('current_activity'))CancelOngoingActivity();
}
if(prefs.containsKey('rev')){
@@ -659,14 +659,16 @@ Future<List<Project>> GetProjects(bool forceOffline) async {
print('steps : $stepsJson');
List<dynamic> _steps = jsonDecode(stepsJson);
List<ProjectStep> steps = [];
int eta = 0;
_steps.forEach((element) {
ProjectStep step = ProjectStep.fromJson(element);
eta+=step.eta;
steps.add(step);
print(element);
});
// print(steps);
_projects.add(Project(name.replaceAll(username, ""),category,steps,DateTime.parse(deadline),cat: cat));
_projects.add(Project(name.replaceAll(username, ""),category,steps,eta,DateTime.parse(deadline),cat: cat));
}
projects = _projects;
} else {
@@ -1035,13 +1037,14 @@ class UserOperations {
await executeQueries();
}
static Future<void> addProject(String name, String category, List<ProjectStep> steps, DateTime deadline) async {
static Future<void> addProject(String name, String category, List<ProjectStep> steps,int eta, DateTime deadline) async {
Map<String, String> queryBody = <String, String>{
'name': username + name,
'username': username,
'device_id': await Settings.UUID(),
'category_id': username + category,
'steps': jsonEncode(steps),
'eta': eta.toString(),
'deadline': DateFormat("yyyy-MM-dd").format(deadline)
};
@@ -1186,6 +1189,43 @@ class UserOperations {
}
}
static Future<void> deleteProject(String project, {bulk = false}) async {
Map<String, String> queryBody = <String, String>{
'username': username,
'name': username+project,
};
//Add Query
Map<String, Object> query = {Queries.colLink: 'delete_project', Queries.colData: jsonEncode(queryBody)};
print("adding new query ${query[Queries.colLink]} : ${jsonEncode(queryBody)}");
if (cacheEnabled) {
await cacheDb.insert('Queries', query);
//update Cache
String deleteQuery =
"DELETE FROM Projects WHERE ${Project.colName}='${username+project}'";
print("delteQuery : $deleteQuery");
await cacheDb.rawDelete(deleteQuery);
await refreshUserData(forceOffline: true);
//Add to server and refresh Cache
} else {
try {
http.Response queryResponse = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/delete_project.php'), body: queryBody));
print("Query executed : Results{${queryResponse.body}");
if (queryResponse.body.toLowerCase().contains("success")) {
//Success
}
} catch (e) {
print('NC: Error deleting project $e}');
}
}
if (!bulk) {
await executeQueries();
}
}
static Future<void> executeQueries() async {
if (cacheEnabled) {
if (offline) {