public void Add(Order order, DateTime currentTime) { var delay = currentTime + this._delay; var delayedOrder = new DelayedOrder(order, delay); this._delayedOrders.Enqueue(delayedOrder); this.MoveDelayedOrdersToHistory(currentTime); }
bool Delivered(DelayedOrder order) { if (order.minutesDelayed <= 0) { return(true); } else { return(false); } }
void DeliverOrder(DelayedOrder readyOrder) { foreach (Order order in readyOrder.ordersInPack) { if (order.myOrderType == Order.orderType.email) { Debug.Log("Delivering an Email" + " | contentID = " + readyOrder.ordersInPack[0].orderID); EM.PutNextEmailToConversation(order.orderID); } else if (order.myOrderType == Order.orderType.item) { Debug.Log("Delivering an Item| " + order.orderAmount + "x " + order.orderID); } } }
public void AddNewOrder(Order newOrder, int delayTimeMins, string notificationMessage) { Debug.Log("New order..." + newOrder.orderID); DelayedOrder newDelayOrder = new DelayedOrder(); Debug.Log("Created newDelayedOrder"); newDelayOrder.ordersInPack.Add(newOrder); newDelayOrder.minutesDelayed = delayTimeMins; delayedOrders.Add(newDelayOrder); // Set Up Phone Notification NotificationManager.SendWithAppIcon(System.TimeSpan.FromMinutes(delayTimeMins), "Magic Proto", notificationMessage, Color.white, NotificationIcon.Bell); Debug.Log("New DelayedOrder Added. An " + newDelayOrder.ordersInPack[0].myOrderType + " order to arrive in " + newDelayOrder.minutesDelayed + " mins"); }
private void ButtonNextStageClickHandler(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(_enteredId.Text)) { MessageDialog.Show((string)ExecutionEngine.Instance.Resource[Constants.MessageEnterYourOrderIdKey]); return; } if (ExecutionEngine.Instance.PrimaryAction != PrimaryActionType.ProcessOrder) { _stage.CurrentOrder.OrderId = _enteredId.Text; _stage.CompleteOrder(); } else { if (string.IsNullOrEmpty(_enteredCode.Text)) { MessageDialog.Show((string)ExecutionEngine.Instance.Resource[Constants.MessageEnterYourActivationCodeKey]); return; } DelayedOrder order = DelayedOrder.GetOrder(_enteredId.Text); if (order != null && order.Code.Equals(_enteredCode.Text, System.StringComparison.InvariantCultureIgnoreCase)) { if (order.Action.Equals(PrimaryActionType.BurnCd.ToString())) { _stage.SwitchToBurningScreen(order.Folder); } else if (order.Action.Equals(PrimaryActionType.PrintPhotos.ToString())) { _stage.SwitchToPrintingScreen(order.Folder); } } else { MessageDialog.Show((string)ExecutionEngine.Instance.Resource[Constants.MessageActivationCodeIncorrectKey]); } } }
private void SaveOrderInfoToFile(Order order, string fileName) { ExecutionEngine.EventLogger.Write("Order:SaveOrderInfoToFile"); if (order == null) { throw new ArgumentNullException("order"); } if (fileName == null) { throw new ArgumentNullException("fileName"); } XmlWriter writer = null; try { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.OmitXmlDeclaration = false; settings.Encoding = Encoding.UTF8; writer = XmlTextWriter.Create(fileName, settings); writer.WriteStartElement("order"); // Order Info writer.WriteStartElement("info"); writer.WriteElementString("action", ExecutionEngine.Instance.PrimaryAction.ToString()); writer.WriteElementString("kioskId", ExecutionEngine.Config.PhotoKioskId.Value); writer.WriteElementString("date", _orderDate); writer.WriteElementString("orderId", order.OrderId); if ((ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.BurnCd && ExecutionEngine.Config.CDBurningRequireConfirm.Value) || (ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.PrintPhotos && ExecutionEngine.Config.PhotoPrintingRequireConfirm.Value)) { writer.WriteElementString("activationCode", DelayedOrder.CreateActivationCode(order.OrderId)); } writer.WriteElementString("paperType", order.OrderPaperType.Name); if (ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.OrderPhotos) { writer.WriteElementString("cropMode", Constants.CropToFillModeName == order.CropMode ? ExecutionEngine.Instance.Resource[Constants.CropToFillTextKey].ToString() : ExecutionEngine.Instance.Resource[Constants.ResizeToFitTextKey].ToString()); } else if (ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.PrintPhotos) { writer.WriteElementString("cropMode", order.CropMode); } writer.WriteElementString("orderCost", order.GetTotalCost().ToString("c", CultureInfo.CurrentCulture)); writer.WriteElementString("totalCost", (order.GetTotalCost() * (1 + Math.Max(0, ExecutionEngine.PriceManager.SalesTaxPercent.Value))).ToString("c", CultureInfo.CurrentCulture)); writer.WriteEndElement(); // User info writer.WriteStartElement("customer"); writer.WriteElementString("name", order.UserName); writer.WriteElementString("phone", order.UserPhone); writer.WriteElementString("email", order.UserEmail); writer.WriteEndElement(); // Photos info if (ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.OrderPhotos || ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.PrintPhotos) { writer.WriteStartElement("formats"); foreach (PaperFormat format in ExecutionEngine.Instance.PaperFormats) { writer.WriteStartElement("format"); writer.WriteAttributeString("name", format.Name); writer.WriteAttributeString("count", order.GetItemCount(format).ToString(CultureInfo.InvariantCulture)); writer.WriteAttributeString("cost", order.GetCost(format).ToString("c", CultureInfo.CurrentCulture)); if (ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.PrintPhotos) { string printerName = ExecutionEngine.PriceManager.GetProduct(format.Name + order.OrderPaperType.Name + Constants.InstantKey).Printer; writer.WriteAttributeString("printer", printerName); writer.WriteAttributeString("width", format.Width.ToString(CultureInfo.InvariantCulture)); writer.WriteAttributeString("height", format.Height.ToString(CultureInfo.InvariantCulture)); } else { string channelName = ExecutionEngine.PriceManager.GetProduct(format.Name + order.OrderPaperType.Name).Channel; if (!string.IsNullOrEmpty(channelName)) { writer.WriteAttributeString("channel", channelName); } } foreach (OrderItem item in order.OrderItems) { if (item.GetCount(format) > 0) { writer.WriteStartElement("photo"); writer.WriteAttributeString("file", item.OrderStoreFileName); writer.WriteAttributeString("crop", item.GetCropString(format)); writer.WriteAttributeString("quantity", item.GetCount(format).ToString()); writer.WriteEndElement(); } } writer.WriteEndElement(); } writer.WriteEndElement(); if (ExecutionEngine.Instance.PrimaryAction == PrimaryActionType.OrderPhotos && _order.Services.Count > 0) { writer.WriteStartElement("services"); foreach (Service service in _order.Services) { writer.WriteStartElement("service"); writer.WriteAttributeString("name", service.Name); writer.WriteAttributeString("price", order.GetCost(service).ToString("c", CultureInfo.CurrentCulture)); writer.WriteEndElement(); } writer.WriteEndElement(); } } writer.WriteEndElement(); } catch (Exception e) { ExecutionEngine.EventLogger.WriteExceptionInfo(e); } finally { if (writer != null) { writer.Flush(); writer.Close(); } } }