Esempio n. 1
0
        public bool HandleOrder(Transaction transaction, ColonyCommerceContext commerceContext)
        {
            var checkout = _checkoutService.GetReadOnlyCheckoutFromXml(transaction.CheckOutXml);

            if (checkout == null)
            {
                return(false);
            }
            var basketViewModel = _basketViewModelBuilder.GetBasketViewModel(checkout.Basket, commerceContext);

            return(true);
        }
Esempio n. 2
0
        //
        // GET: /Email/Email/
        public ActionResult Index(int id = 628817)
        {
            ColonyCommerceContext CommerceContext = new ColonyCommerceContext();

            var transaction = _transactionService.GetById(id);

            var checkout = _checkoutService.GetReadOnlyCheckoutFromXml(transaction.CheckOutXml);

            if (checkout == null)
            {
                return(HttpNotFound("Could not load order detail for the specified transaction id"));
            }


            BasketViewModel basketViewModel = _basketViewModelBuilder.GetBasketViewModel(checkout.Basket, CommerceContext, checkout);

            var orderDetailViewModel = new OrderDetailViewModel
            {
                Basket            = basketViewModel,
                Person            = _mappingEngine.Map <PersonViewModel>(_personService.GetById(checkout.Person.Id)),
                DeliveryAddress   = _mappingEngine.Map <AddressViewModel>(checkout.GetAddress(AddressType.Delivery)),
                BillingAddress    = _mappingEngine.Map <AddressViewModel>(checkout.GetAddress(AddressType.Billing)),
                OrderDate         = transaction.LastModified,
                OrderNumber       = transaction.OrderNumber,
                TransactionStatus = transaction.TransactionStatus
            };

            var viewModel = new EmailReceiptViewModel
            {
                Order = orderDetailViewModel,
                Site  = CommerceContext.ColonyContext.CurrentSite
            };

            SendEmailReceipt(orderDetailViewModel);

            return(View("~/Areas/Email/Views/Email/OrderConfirmation.cshtml", viewModel));
        }