-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbloc.sol
38 lines (29 loc) · 953 Bytes
/
bloc.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
pragma solidity ^0.5.1;
/* To be able to return Task struct from getTask method*/
pragma experimental ABIEncoderV2;
contract Bloc {
struct Task {
string task;
bool isDone;
}
mapping (address => Task[]) private Users;
function getTask(uint _taskIndex) external view returns (Task memory) {
Task storage task = Users[msg.sender][_taskIndex];
return task;
}
function addTask(string calldata _task) external {
Users[msg.sender].push(Task({
task:_task,
isDone:false
}));
}
function deleteTask(uint256 _taskIndex) external {
delete Users[msg.sender][_taskIndex];
}
function updateStatus(uint256 _taskIndex,bool _status) external {
Users[msg.sender][_taskIndex].isDone = _status;
}
function getTaskCount() external view returns (uint256) {
return Users[msg.sender].length;
}
}