/// <summary> /// Transaction post /// </summary> /// <param name="transaction">Transaction to create</param> /// <returns>TransactionResult containing success status and optional errormessage</returns> /// <example> /// POST http://localhost:63436/api/transaction/ HTTP/1.2 /// User-Agent: Fiddler /// Host: localhost:63436 /// Content-Length: 185 /// Content-Type: application/xml /// <TransactionRequest PurchaserName="Steven Somer" PurchaserEmail="*****@*****.**"> /// <PurchasedSku>{guid}</PurchasedSku> /// </TransactionRequest> /// </example> public TransactionResult Post(TransactionRequest transaction) { using (var basket = BasketWrapper.CreateNewByIdentity(dataContextFactory)) { return(base.ProcessTransaction(transaction, basket)); } }
public ActionResult Create(TransactionCreateViewModel viewModel) { try { if (ModelState.IsValid) { using (var basket = BasketWrapper.CreateNewByIdentity(dataContextFactory)) { basket.AddItems(viewModel.Transaction.SelectedSKUGuids.Select(x => x.ToString()).ToList()); basket.Transaction.PurchaserEmail = "n/a"; basket.Transaction.PurchaserName = "n/a"; basket.ExecuteCreate(); return(RedirectToAction("Checkout", new { key = basket.Transaction.TransactionId.ToString().EncryptUrl() })); } } else { return(View(viewModel)); } } catch { throw; } }