public static bool ChargeSingleOrder(HotcakesApplication app, Order o) { if (o == null) { return(false); } var payManager = new OrderPaymentManager(o, app); payManager.GiftCardCompleteAllGiftCards(); app.OrderServices.Orders.Update(o); payManager = new OrderPaymentManager(o, app); payManager.CreditCardCompleteAllCreditCards(); payManager.PayPalExpressCompleteAllPayments(); if (o.PaymentStatus == OrderPaymentStatus.Paid || o.PaymentStatus == OrderPaymentStatus.Overpaid) { if (o.ShippingStatus == OrderShippingStatus.FullyShipped) { o.StatusCode = OrderStatusCode.Completed; o.StatusName = "Completed"; } else { o.StatusCode = OrderStatusCode.ReadyForShipping; o.StatusName = "Ready to Ship"; } app.OrderServices.Orders.Update(o); return(true); } return(false); }
public static void CollectPaymentAndShipPendingOrders(HotcakesApplication app) { var criteria = new OrderSearchCriteria(); criteria.IsPlaced = true; criteria.StatusCode = OrderStatusCode.ReadyForPayment; var pageSize = 1000; var totalCount = 0; var orders = app.OrderServices.Orders.FindByCriteriaPaged(criteria, 1, pageSize, ref totalCount); if (orders != null) { foreach (var os in orders) { var o = app.OrderServices.Orders.FindForCurrentStore(os.bvin); var payManager = new OrderPaymentManager(o, app); payManager.GiftCardCompleteAllGiftCards(); payManager.CreditCardCompleteAllCreditCards(); payManager.PayPalExpressCompleteAllPayments(); if (o.PaymentStatus == OrderPaymentStatus.Paid || o.PaymentStatus == OrderPaymentStatus.Overpaid) { if (o.ShippingStatus == OrderShippingStatus.FullyShipped) { o.StatusCode = OrderStatusCode.Completed; o.StatusName = "Completed"; } else { o.StatusCode = OrderStatusCode.ReadyForShipping; o.StatusName = "Ready for Shipping"; } app.OrderServices.Orders.Update(o); } } } }