public void CreateOrder() { POSOrder order = new POSOrder(); order.ID = "" + (++orderNumber); CurrentOrder = order; Orders.Add(order); }
public void CreateOrder() { //Get rid of any prior pending orders, before creating a new one DeletePendingOrder(); POSOrder order = new POSOrder(); order.ID = "" + (++orderNumber); CurrentOrder = order; AddOrder(order); }
private void OrdersListView_SelectedIndexChanged(object sender, EventArgs e) { OrderDetailsListView.Items.Clear(); if (OrdersListView.SelectedIndices.Count == 1) { ListViewItem lvi = OrdersListView.SelectedItems[0]; POSOrder selOrder = (POSOrder)lvi.Tag; OrderDetailsListView.Items.Clear(); // update order items table foreach (POSLineItem lineItem in selOrder.Items) { lvi = new ListViewItem(); lvi.Tag = lineItem; lvi.SubItems.Add(new ListViewItem.ListViewSubItem()); lvi.SubItems.Add(new ListViewItem.ListViewSubItem()); lvi.SubItems.Add(new ListViewItem.ListViewSubItem()); lvi.SubItems[0].Text = lineItem.Quantity + ""; lvi.SubItems[1].Text = lineItem.Item.Name; lvi.SubItems[2].Text = (lineItem.Item.Price / 100.0).ToString("C2"); OrderDetailsListView.Items.Add(lvi); } // update order payments table OrderPaymentsView.Items.Clear(); foreach (var Exchange in selOrder.Payments) { lvi = new ListViewItem(); lvi.Tag = Exchange; lvi.SubItems.Add(new ListViewItem.ListViewSubItem()); lvi.SubItems.Add(new ListViewItem.ListViewSubItem()); lvi.SubItems.Add(new ListViewItem.ListViewSubItem()); lvi.SubItems.Add(new ListViewItem.ListViewSubItem()); if (Exchange is POSPayment) { lvi.SubItems[0].Text = (Exchange is POSPayment) ? ((POSPayment)Exchange).PaymentStatus.ToString() : ""; lvi.SubItems[1].Text = (Exchange.Amount / 100.0).ToString("C2"); lvi.SubItems[2].Text = (Exchange is POSPayment) ? (((POSPayment)Exchange).TipAmount / 100.0).ToString("C2") : ""; lvi.SubItems[3].Text = (Exchange is POSPayment) ? ((((POSPayment)Exchange).TipAmount + Exchange.Amount) / 100.0).ToString("C2") : (Exchange.Amount / 100.0).ToString("C2"); } else if (Exchange is POSRefund) { lvi.SubItems[0].Text = "REFUND"; lvi.SubItems[3].Text = (Exchange.Amount / 100.0).ToString("C2"); } OrderPaymentsView.Items.Add(lvi); } } }
public long Value(POSOrder order) { if (AmountOff > 0) { return(AmountOff); } else { return((int)(order.PreTaxSubTotal * PercentageOff)); } }
protected void onOrderChange(POSOrder order, OrderChangeTarget target) { if (order.status == OrderStatus.PENDING && order.Items.Count > 0) { order.status = OrderStatus.OPEN; } if (OrderChange != null) { OrderChange(order, target); } }
//////////////// Payment Refund methods ///////////// private void PaymentRefundButton_Click(object sender, EventArgs e) { RefundPaymentRequest request = new RefundPaymentRequest(); if (OrderPaymentsView.SelectedItems.Count == 1) { POSPayment payment = ((POSPayment)OrderPaymentsView.SelectedItems[0].Tag); request.PaymentId = payment.PaymentID; POSOrder order = (POSOrder)OrdersListView.SelectedItems[0].Tag; request.OrderId = payment.OrderID; TempObjectMap.Add(payment.OrderID, order); cloverConnector.RefundPayment(request); } }
/* This will remove any other PENDING order before creating a new one. */ private void DeletePendingOrder() { POSOrder delOrder = null; foreach (POSOrder order in Orders) { if (order.Status == POSOrder.OrderStatus.PENDING) { delOrder = order; break; } } if (delOrder != null) { Orders.Remove(delOrder); //This shouldn't trigger a onOrderListChange, as PENDING orders aren't displayed delOrder = null; } }
public void AddOrder(POSOrder order) { Orders.Add(order); onOrderListChange(this, OrderListAction.ADDED); }
public void UnsubscribeToOrderChanges(POSOrder order) { order.OrderChange -= new POSOrder.OrderDataChangeHandler(OrderChanged); }
public void OrderChanged(POSOrder order, POSOrder.OrderChangeTarget target) { switch (target) { case POSOrder.OrderChangeTarget.ORDER: { switch (GetCurrentTab()) { case ClientTab.ORDER: { if (order.ID == Store.CurrentOrder.ID) { uiThread.Send(delegate (object state) { UpdateOrderUI(); }, null); } break; } case ClientTab.ORDERLIST: { uiThread.Send(delegate (object state) { UpdateOrdersListView(); }, null); break; } } break; } case POSOrder.OrderChangeTarget.ITEM: { switch (GetCurrentTab()) { case ClientTab.ORDER: { if (order.ID == Store.CurrentOrder.ID) { uiThread.Send(delegate (object state) { UpdateOrderUI(); }, null); } break; } case ClientTab.ORDERLIST: { uiThread.Send(delegate (object state) { UpdateOrdersListView(); }, null); break; } } break; } case POSOrder.OrderChangeTarget.PAYMENT: { if (GetCurrentTab() == ClientTab.ORDERLIST) { uiThread.Send(delegate (object state) { UpdateOrdersListView(); }, null); } break; } } }
public long Value(POSOrder order) { if (AmountOff > 0) { return AmountOff; } else { return (int)(order.PreTaxSubTotal * PercentageOff); } }