Created
June 3, 2019 09:48
-
-
Save ayinot/292ca841b0ee8041b554408363899c98 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pragma solidity ^0.5.1; | |
contract Commodity { | |
struct Product { | |
string productName; | |
uint256 productPrice; | |
uint256 insuranceCode; | |
uint256 costPrice; | |
uint256 sellingPrice; | |
uint256 shippingTime; | |
} | |
mapping (uint256 => Product) internal eProduct; | |
uint256 id; | |
function registerProduct(string memory _productName, uint256 _productPrice, uint256 _shippingTime) public returns(bool){ | |
id++; | |
eProduct[id].productName = _productName; | |
eProduct[id].productPrice = _productPrice; | |
eProduct[id].shippingTime = _shippingTime; | |
} | |
function coverInsurance(uint256 _productId, uint256 _insuranceCode) public { | |
require(eProduct[_productId].costPrice !=0, "Product price must be set before covering Insurance"); | |
require(eProduct[_productId].costPrice >= 500000000 , "Product price should be > 500000000 for insurance cover"); | |
eProduct[_productId].insuranceCode = _insuranceCode; | |
} | |
function buyCommodity(uint256 _productId, uint256 _costPrice) public { | |
eProduct[_productId].costPrice = _costPrice; | |
} | |
function sellCommodity(uint256 _productId, uint256 _sellingPrice) public { | |
eProduct[_productId].sellingPrice = _sellingPrice; | |
} | |
function getDetails(uint256 _productId) public view returns(string memory, uint256, uint256, uint256, uint256, uint256) { | |
return(eProduct[_productId].productName,eProduct[_productId].productPrice,eProduct[_productId].shippingTime,eProduct[_productId].insuranceCode,eProduct[_productId].costPrice,eProduct[_productId].sellingPrice); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment