Ejemplo n.º 1
0
 /// <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));
     }
 }
Ejemplo n.º 2
0
        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;
            }
        }