public TransactionDetailStruct CreateTransaction([FromBody] TransactionDetailStruct newTransaction) { // Create the transaction RestRequest req = new RestRequest("api/transaction/create", Method.POST); req.AddJsonBody(newTransaction); IRestResponse res = client.Execute(req); if (res.StatusCode == HttpStatusCode.BadRequest) { // If the server returns a BAD REQUEST status code, throw a HttpResponseException var response = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(res.Content + ", " + res.StatusDescription), ReasonPhrase = res.StatusDescription }; throw new HttpResponseException(response); } TransactionDetailStruct result = JsonConvert.DeserializeObject <TransactionDetailStruct>(res.Content); // Process the transaction IRestResponse processRes = client.Execute(processTransactionsRequest); return(result); }
public TransactionDetailStruct CreateTransaction([FromBody] TransactionDetailStruct newTransaction) { if (newTransaction.amount < 0) { var response = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("Could not create new transaction"), ReasonPhrase = "Transaction amount cannot be less than 0" }; throw new HttpResponseException(response); } if (newTransaction.receiverID == newTransaction.senderID) { var response = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("Could not create new transaction"), ReasonPhrase = "Sender and Receiver ID cannot be the same" }; throw new HttpResponseException(response); } TransactionDetailStruct result = new TransactionDetailStruct(); result.transactionID = access.CreateTransaction(); access.SelectTransaction(result.transactionID); access.SetSendr(newTransaction.senderID); access.SetRecvr(newTransaction.receiverID); access.SetAmount(newTransaction.amount); result.senderID = access.GetSendrAcct(); result.receiverID = access.GetRecvrAcct(); result.amount = access.GetAmount(); return(result); }
public TransactionDetailStruct GetTransaction(uint transactionID) { TransactionDetailStruct result = new TransactionDetailStruct(); access.SelectTransaction(transactionID); result.transactionID = transactionID; result.senderID = access.GetSendrAcct(); result.receiverID = access.GetRecvrAcct(); result.amount = access.GetAmount(); return(result); }
public List <TransactionDetailStruct> GetAllTransactions() { List <uint> transactionIDs = access.GetTransactions(); List <TransactionDetailStruct> result = new List <TransactionDetailStruct>(); foreach (uint ID in transactionIDs) { TransactionDetailStruct entry = new TransactionDetailStruct(); access.SelectTransaction(ID); entry.transactionID = ID; entry.senderID = access.GetSendrAcct(); entry.receiverID = access.GetRecvrAcct(); entry.amount = access.GetAmount(); result.Add(entry); } return(result); }