Open kevinvenson opened 5 years ago
pragma solidity 0.4.20;
contract eventTickets { struct Event { uint tickets; uint sold; string description; string web; mapping(address => uint) buyers; } mapping(uint => Event)public events; uint id; address owner = msg.sender;
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
function createEvent(uint _tickets, string _description, string _web) onlyOwner public {
Event memory newEvent = newEvent;
newEvent.tickets = _tickets;
newEvent.description = _description;
newEvent.web = _web;
events[id] = newEvent;
id++;
}
function getEvent(uint _id) view public returns(uint, uint, string, string) {
return(events[_id].tickets, events[_id].sold, events[_id].description, events[_id].web);
}
function buyTicket(uint _id) payable public {
require(msg.value == 1 ether);
events[_id].buyers[msg.sender] = 1;
events[_id].sold++;
}
function refundbuyer(uint _id) public {
require(events[_id].buyers[msg.sender] == 1);
delete events[_id].buyers[msg.sender];
events[_id].sold--;
msg.sender.transfer(1 ether);
}
}
pragma solidity 0.4.20;
contract eventTickets { struct Event { uint tickets; string description; string web; } mapping(uint => Event)public events; uint id; address owner = msg.sender;
}