/// <summary> /// Load dữ liệu Tab Order /// </summary> private void LoadOrderPanel() { ShareDictionary.LoadOrderView(true, dteDateOrder.DateTime); fpnlOrdering.Controls.Clear(); fpnlWaitPay.Controls.Clear(); fpnlCancel.Controls.Clear(); if (ShareDictionary.DsBusiness.OrderView.Count > 0) { foreach (var item in ShareDictionary.DsBusiness.OrderView) { var control = new UctOrder(); control.OrderRow = item; control.Click += OrderView_Click; if (item.OrderStatus == (int)EnumOrderStatus.Ordering) { fpnlOrdering.Controls.Add(control); } else if (item.OrderStatus == (int)EnumOrderStatus.WaitPay) { fpnlWaitPay.Controls.Add(control); } else { fpnlCancel.Controls.Add(control); } } } }
/// <summary> /// Hiện Order /// </summary> private void ShowOrder(UctOrder control) { LoadOrder(_today); using (FrmOrderDetail frm = new FrmOrderDetail()) { frm.FormActionMode = ActionMode.Edit; frm.DsDictionary = dsDictionary; frm.BsDetail.DataSource = frm.DsDictionary; frm.OrderID = control.OrderID; frm.TableID = control.OrderRow.TableID; if (frm.ShowDialog() == DialogResult.OK) { dsDictionary.AcceptChanges(); if (frm.OrderStatus == EnumOrderStatus.Cancel || frm.OrderStatus == EnumOrderStatus.Done) { fpnlOrdering.Controls.Remove(control); //control.Empty(); } else if (control.OrderRow.TableID != frm.TableID) { var tabControl = control.Parent.Parent; foreach (var fLayout in tabControl.Controls) { if (fLayout.GetType() == typeof(FlowLayoutPanel)) { foreach (var uctControl in ((FlowLayoutPanel)fLayout).Controls) { if (uctControl.GetType() == typeof(UctTableMapping)) { var uct = (UctTableMapping)uctControl; if (uct.TableID == frm.TableID) { uct.OrderID = frm.OrderID; uct.TableStatus = EnumTableStatus.Using; } } } } } ShareDictionary.LoadOrderView(true); control.OrderRow = ShareDictionary.DsBusiness.OrderView.FindByOrderID(control.OrderID); } //LoadOrderPanel(); } } }
/// <summary> /// Nhấn vào Order /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OrderView_Click(object sender, EventArgs e) { try { UctOrder control = (UctOrder)sender; if (control.OrderStatus == EnumOrderStatus.Done || control.OrderStatus == EnumOrderStatus.Cancel) { control.Visible = false; control.Parent.Controls.Remove(control); } else { ShowOrder((UctOrder)sender); } } catch (Exception ex) { MessageBoxCommon.ShowException(ex); } }