private void AddTransferOrder(Order order) { order.FilterOrders(CurrentSettings.GroupType, CurrentSettings.OrderInfoDisplay); List <Order> sourceOrders = TotalOrders.Where(s => s.TableTabName == order.SourceTableName).ToList(); order.DisplayAttributes.SourceTabTableText = order.SourceTableName; var destinationOrders = TotalOrders.FirstOrDefault(s => s.TableTabName == order.TableTabName); if (destinationOrders != null) { ProcessTransferWhenDestinationExist(sourceOrders, order, destinationOrders); destinationOrders.DisplayAttributes.SourceTabTableText = order.DisplayAttributes.SourceTabTableText; } else { order.OrderState = OrderState.Complete; DbOrder.AddOrder(order, CurrenTerminal.TerminalId, false); ProcessTransferWhenDestinationNotExist(sourceOrders, order); TotalOrders.Add(order); AnalyticalData.TotalOrdersCount++; AnalyticalData.CurrentOrdersCount++; } if (CurrentSettings.ConfirmOnTransfer) { ShowMessageBox("Order Transferred", order.SourceTableName + " is transferred to " + order.TableTabName); } TotalOrders.RemoveAll(s => s.Items.Count == 0); PublishRedrawEvent(); }
private void AddCreditOrder(Order order) { TotalOrders.Add(order); if (CurrentSettings.ConfirmOnRefund) { ShowMessageBox("Refund Order", "A Refund Order has come in."); } PublishAddOrder(order); }
private void AddRunnerOrder(Order inOrder) { var order = TotalOrders.FirstOrDefault(s => s.OrderKey == inOrder.OrderKey); if (order != null) { foreach (var item in inOrder.Items) { if (order.Items.FirstOrDefault(s => s.OrderItemKey == item.OrderItemKey) == null) { var servigCourseGroup = order.ServingCourseGroups.FirstOrDefault( s => s.OrderGroupKey == item.SCourseGroup.OrderGroupKey); if (servigCourseGroup != null) { item.SCourseGroup = servigCourseGroup; } else { item.SCourseGroup.Order = order; order.ServingCourseGroups.Add(item.SCourseGroup); } var courseGroup = order.CourseGroups.FirstOrDefault( s => s.OrderGroupKey == item.CourseGroup.OrderGroupKey); if (courseGroup != null) { item.CourseGroup = courseGroup; } else { item.CourseGroup.Order = order; order.CourseGroups.Add(item.CourseGroup); } order.Items.Add(item); AnalyticalData.CurrentItems++; } } } else { AnalyticalData.TotalOrdersCount++; AnalyticalData.CurrentOrdersCount++; inOrder.ServingCourseGroups.ToList().ForEach(s => AnalyticalData.CurrentItems += s.Items.Count); TotalOrders.Add(inOrder); } PublishRedrawEvent(); }
public void LoadAllOrders() { try { var orders = DatabaseOrderBuilder.Instance.GetAllOrders(CurrenTerminal.TerminalId); foreach (var order in orders) { TotalOrders.Add(order); } } catch (Exception ex) { ChefmateLogger.Instance.LogError("ChefmateController.LoadAllOrders", ex.Message); throw ex; } }
public void AddRecallOrder(Order inOrder) { lock (_syncRoot) { var order = DbOrder.GetOrder(inOrder.OrderKey, 0, true); AnalyticalData.CurrentOrdersCount++; AnalyticalData.CurrentItems += order.Items.Count; TimeSpan recalledOrderMakeTime = order.BumpTime - order.ArrivalTime; AnalyticalData.TotalMakeTime = new TimeSpan(AnalyticalData.TotalMakeTime.Ticks - recalledOrderMakeTime.Ticks); foreach (var item in order.Items) { DbOrderItem.UpdateOrderItemTerminalKey(item.OrderItemKey, CurrenTerminal.TerminalId); } TotalOrders.Add(order); PublishAddOrder(order); } }
private void AddCompleteOrder(Order order) { if (order.OrderKey == 0) { DbOrder.AddOrder(order, CurrenTerminal.TerminalId); } if (OutputTime.Immediately == CurrentSettings.OutputTime) { OutputController.Instance.OutputOrder(order); } else { if (order.OrderState == OrderState.Complete || order.OrderState == OrderState.Runner) { AnalyticalData.TotalOrdersCount++; AnalyticalData.CurrentOrdersCount++; AnalyticalData.CurrentItems += order.Items.Count; } TotalOrders.Add(order); } }