public Ticket(DAO.Ticket ticket) { this.Id = ticket.Id; this.CustomerName = ticket.CustomerName; this.AccountId = ticket.AccountId; this.CreateDate = ticket.CreateDate; this.ProblemDescription = ticket.ProblemDescription; }
public void insertTicket(DAO.Ticket newT) { Boolean validateBool; Boolean resultBool; var blockChain1 = getBlocksClient1(client1); var blockChain2 = getBlocksClient2(client2); var blockChain3 = getBlocksClient3(client3); Blockchain.Ticket newTicket = new Blockchain.Ticket { Id = newT.Id, CustomerName = newT.CustomerName, AccountId = newT.AccountId, CreateDate = newT.CreateDate, ProblemDescription = newT.ProblemDescription }; //In case the nodes are empty if ((blockChain1.Count == 0) & (blockChain2.Count == 0) & (blockChain3.Count == 0)) { var block = new DAO.Block(); var date = DateTime.Now; var ticket = new DAO.Ticket(0, null, 0, date, null); createGenesisBlock1(client1, ticket, block); createGenesisBlock2(client2, ticket, block); createGenesisBlock3(client3, ticket, block); } blockChain1 = getBlocksClient1(client1); blockChain2 = getBlocksClient2(client2); blockChain3 = getBlocksClient3(client3); //To verify that all nodes are the same size validateBool = nodesValidation.sizeValidate(blockChain1, blockChain2, blockChain3); if (validateBool == true) { //Verify that the chain of blockChain1 is consistent resultBool = nodesValidation.isValid(blockChain1, 1); if (resultBool == true) { //Verify that the chain of blockChain2 is consistent resultBool = nodesValidation.isValid(blockChain2, 2); if (resultBool == true) { //Verify that the chain of blockChain3 is consistent resultBool = nodesValidation.isValid(blockChain3, 3); if (resultBool == true) { //Verify that the three nodes are equal resultBool = nodesValidation.nodesValidate(blockChain1, blockChain2, blockChain3); if (resultBool == true) { createBlock1(client1, blockChain1[blockChain1.Count - 1], newT); createBlock2(client2, blockChain1[blockChain1.Count - 1], newT); createBlock3(client3, blockChain1[blockChain1.Count - 1], newT); } } } } } }
private void createGenesisBlock1(ClientN1 client, DAO.Ticket daoTicket, DAO.Block daoBlock) { log.Debug("Creating Genesis Block for Node 1"); DAO.Ticket t1 = daoTicket; var reTicket = client.createTicket(t1); Block block1 = new Block(null, t1); daoBlock.PreviousHash = block1.PreviousHash; daoBlock.Hash = block1.Hash; daoBlock.Id = 0; daoBlock.IdTicket = block1.Ticket.Id; client.createBlock(daoBlock); }
private void createBlock3(ClientN3 client, Block previous, DAO.Ticket ticket) { log3.Debug("Adding Block to Node 3"); var reTicket = client.createTicket(ticket); Block block1 = new Block(previous.Hash, reTicket); log3.Debug(string.Format("Adding ticket from user {0}", reTicket.CustomerName)); DAO.Block dBlock1 = new DAO.Block() { PreviousHash = block1.PreviousHash, Hash = block1.Hash, Id = 0, IdTicket = block1.Ticket.Id }; client.createBlock(dBlock1); }
private void BT_SendTicket_Click(object sender, EventArgs e) { if (String.IsNullOrEmpty(TxT_Username.Text) || String.IsNullOrEmpty(TxT_AcctID.Text) || String.IsNullOrEmpty(TxT_Desc.Text)) { LB_FormError.Visible = true; } else { LB_FormError.Visible = false; var userName = TxT_Username.Text; var acctId = Convert.ToInt32(TxT_AcctID.Text); var description = TxT_Desc.Text; DAO.Ticket ticket = new DAO.Ticket(1, userName, acctId, DateTime.Now, description); InsertTicket insert = new InsertTicket(); insert.insertTicket(ticket); FillLogs(); TxT_AcctID.Text = string.Empty; TxT_Username.Text = string.Empty; TxT_Desc.Text = string.Empty; } }