@@ -15,7 +15,7 @@ class HomeProvider extends ChangeNotifier {
15
15
bool _isNewUser;
16
16
String _userName;
17
17
List <String > _types = [];
18
- List < TasksProvider > _taskProviders = [] ;
18
+ Map < String , TasksProvider > _taskProviders = {} ;
19
19
20
20
bool get isNewUser {
21
21
return _isNewUser!= null ;
@@ -30,11 +30,53 @@ class HomeProvider extends ChangeNotifier {
30
30
}
31
31
32
32
List <TasksProvider > get getTaskProviders {
33
- return [..._taskProviders];
33
+ List <TasksProvider > tempList = [];
34
+ _taskProviders.forEach ((type,taskProvider){
35
+ tempList.add (taskProvider);
36
+ });
37
+ return tempList;
34
38
}
35
39
36
- Future <bool > addTask () async {
40
+ Future <bool > addTaskFromHome (String type,String taskName) async {
41
+ Task newTask = new Task (
42
+ id: DateTime .now ().toString (),
43
+ name: taskName,
44
+ type: type,
45
+ isDone: false
46
+ );
47
+ TasksProvider tasksProvider = _taskProviders[type];
48
+ try {
49
+ bool success = await tasksProvider.addTask (newTask);
50
+ if (success){
51
+ print ("Task added from home" );
52
+ return true ;
53
+ }else {
54
+ return false ;
55
+ }
56
+ }catch (e){
57
+ print ("Task adding failed" );
58
+ print (e);
59
+ return false ;
60
+ }
61
+ }
37
62
63
+ Future <bool > addType (String type) async {
64
+ try {
65
+ File newFile = await storage.addType (type.toLowerCase ());
66
+ if (newFile!= null ){
67
+ print ("$type Type added" );
68
+ _types.add (type.toLowerCase ());
69
+ TasksProvider _newTasksProvider = TasksProvider (type,{});
70
+ _taskProviders.addAll ({type: _newTasksProvider});
71
+ notifyListeners ();
72
+ return true ;
73
+ }
74
+ }catch (e){
75
+ print ("Type adding failed" );
76
+ print (e);
77
+ return false ;
78
+ }
79
+ return false ;
38
80
}
39
81
40
82
@@ -52,12 +94,12 @@ class HomeProvider extends ChangeNotifier {
52
94
tempTypes.add (type.toString ());
53
95
});
54
96
_types = tempTypes;
55
- List < TasksProvider > tempList = [] ;
97
+ Map < String , TasksProvider > tempList = {} ;
56
98
_types.forEach ((type){
57
99
print ("type:$type " );
58
100
Map <String ,dynamic > _eachType = data['tasks' ][type];
59
101
TasksProvider _newTasksProvider = TasksProvider (type,_eachType);
60
- tempList.add ( _newTasksProvider);
102
+ tempList.addAll ({type : _newTasksProvider} );
61
103
});
62
104
_taskProviders = tempList;
63
105
}
@@ -69,22 +111,6 @@ class HomeProvider extends ChangeNotifier {
69
111
}
70
112
}
71
113
72
- Future <bool > addType (String type) async {
73
- try {
74
- File success = await storage.addType (type.toLowerCase ());
75
- if (success!= null ){
76
- print ("$type Type added" );
77
- _types.add (type.toLowerCase ());
78
- notifyListeners ();
79
- return true ;
80
- }
81
- }catch (e){
82
- print ("Type adding failed" );
83
- print (e);
84
- return false ;
85
- }
86
- return false ;
87
- }
88
114
89
115
Future <bool > createNewUserData () async {
90
116
Map <String ,dynamic > newUserData = {
0 commit comments