예제 #1
0
        /// <summary>
        /// Processes an order shipped event
        /// </summary>
        /// <param name="order">Order that has been shipped</param>
        public static void OrderShipped(Order order)
        {
            order.Notes.Add(new OrderNote(order.OrderId, order.UserId, LocaleHelper.LocalNow, Properties.Resources.OrderShipped, NoteType.SystemPrivate));
            order.Notes.Save();
            order.ShipmentStatus = OrderShipmentStatus.Shipped;
            order.Save();
            UpdateOrderStatus(StoreEvent.OrderShipped, order);
            //if the order was a google checkout order, update gooogle checkout
            if (!string.IsNullOrEmpty(order.GoogleOrderNumber))
            {
                GoogleCheckout instance = GoogleCheckout.GetInstance();
                TrackingNumber number   = order.GetLastTrackingNumber();
                instance.DeliverOrder(order.GoogleOrderNumber, number);
            }
            Hashtable parameters = new Hashtable();

            parameters["order"]    = order;
            parameters["customer"] = order.User;
            parameters["payments"] = order.Payments;
            ProcessEmails(StoreEvent.OrderShipped, parameters);
        }