pragma solidity ^0.4.18; contract Destructor { address public owner; //Constructor //constructor() public { // owner = msg.sender; // } //Modifier for check whether the user is admin or not modifier isAdmin { if (owner != msg.sender) { revert(); }else { _; } } //Method for disable the deployed contract function destruct() public isAdmin { selfdestruct(owner); } } contract Project is Destructor { event Vote(uint indexed projectId,uint publicId,uint isVoted); struct Projects { string projectName; string description; uint estimatedBudget; uint receivedBudget; string startDate; string endDate; uint ngoId; address createdBy; string timestamp; uint ActualTokens; uint status; } struct Milestone { uint projectID; uint vendorID; address createdBy; string timestamp; uint tokens; uint isCompleted; } mapping(uint=>Projects) project; mapping(uint=>Milestone) milestone; function CreateProject(uint projectId, string projectName, string description,uint estimatedBudget,uint receivedBudget, string startDate,string endDate,uint ngoId,address createdBy,string timestamp,uint ActualTokens,uint status) public returns( bool) { project[projectId] = Projects({ projectName : projectName, description: description, estimatedBudget: estimatedBudget, receivedBudget: receivedBudget, startDate:startDate, endDate: endDate, ngoId:ngoId, createdBy: createdBy, timestamp: timestamp, ActualTokens: ActualTokens, status: status }); return true; } function CreateMilestone(uint milestoneID, uint projectID, uint vendorID,address createdBy,string timestamp, uint tokens,uint isCompleted) public returns( bool) { milestone[milestoneID] = Milestone({ projectID:projectID, vendorID:vendorID, createdBy:createdBy, timestamp:timestamp, tokens:tokens, isCompleted:isCompleted }); return true; } function UpdateProjectStatus( uint projectId,uint status,uint receivedBudget) public returns( bool) { project[projectId].receivedBudget = receivedBudget; project[projectId].status = status; return true; } function UpdateMilestoneCompletion(uint milestoneID, uint isCompleted) public returns( bool) { milestone[milestoneID].isCompleted = isCompleted; return true; } function UpdateMilestoneAmount(uint milestoneID, uint tokens,uint vendorID) public returns( bool) { milestone[milestoneID].vendorID = vendorID; milestone[milestoneID].tokens = tokens; return true; } }
0.4.18