public ActionResult Payment(Guid jobAdId, JobAdFeaturePack featurePack) { var employer = CurrentEmployer; var jobAd = GetJobAd(employer.Id, jobAdId); if (jobAd == null) { return(NotFound("job ad", "id", jobAdId)); } var product = _employerOrdersQuery.GetJobAdFeaturePackProduct(featurePack); if (product == null) { return(NotFound("feature pack", "featurePack", featurePack)); } var creditCard = new CreditCard { ExpiryDate = GetDefaultExpiryDate() }; var order = _employerOrdersCommand.PrepareOrder(new[] { product.Id }, null, null, GetCreditCardType(creditCard)); return(View(new PaymentJobAdModel { AuthoriseCreditCard = false, CouponCode = null, CreditCard = creditCard, OrderDetails = _employerOrdersQuery.GetOrderDetails(_creditsQuery, order, _productsQuery.GetProducts()), Product = product, })); }
private ActionResult ChooseView(Guid contactProductId) { // Generate an order using the default credit card. var order = _employerOrdersCommand.PrepareOrder(_productsQuery, _creditsQuery, new[] { contactProductId }, null, null, default(CreditCardType)); return(View(new NewOrderChooseModel { SelectedContactProductId = contactProductId, OrderDetails = _employerOrdersQuery.GetOrderDetails(_creditsQuery, order, _productsQuery.GetProducts()), ContactProducts = _employerOrdersQuery.GetContactProducts(), })); }
public static OrderSummaryModel GetOrderSummary(this IEmployerOrdersQuery employerOrdersQuery, ICreditsQuery creditsQuery, IOrdersQuery ordersQuery, Order order, IEnumerable <Product> products, IRegisteredUser purchaser) { // Reorder the items by product name just to introduce some certainty. SortItems(creditsQuery, order, products); var receipt = ordersQuery.GetPurchaseReceipt(order.Id) as CreditCardReceipt; return(new OrderSummaryModel { OrderDetails = employerOrdersQuery.GetOrderDetails(creditsQuery, order, products), Receipt = receipt, Purchaser = purchaser }); }
public ActionResult PrepareCompactOrder(Guid[] productIds) { var order = GetOrder(productIds, null, null, null); return(PartialView("OrderCompactDetails", _employerOrdersQuery.GetOrderDetails(_creditsQuery, order, _productsQuery.GetProducts()))); }