using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using POSV.Entity;
using System.Threading.Tasks;
using POSV.Forms;
using POSV.Component;
using POSV.Helper;
using POSV.MessageEvent;
namespace POSV.Tabs
{
[ToolboxItem(true)]
public partial class TableMenuItem : AbstractTabItem
{
public TableMenuItem()
{
InitializeComponent();
this.BackColor = Color.Transparent;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (this.DesignMode) return;
this.tableArea.TableAreaCheckedChanged += OnTableAreaCheckedChanged;
this.tableAttributeX.TableAttributeCheckedChanged += OnTableAttributeCheckedChanged;
this.tableX.TableCheckedChanged += OnTableCheckedChanged;
this.tableX.TableDoubleClick += OnTableDoubleClick;
Task.Factory.StartNew(() =>
{
this.Invoke(new Action(() =>
{
PreLoadTable(this.tableArea.SelectedTableArea,this.tableAttributeX.SelectedTableAttribute);
}));
});
}
public override void RefreshUi()
{
base.RefreshUi();
this.tableX.RefreshUi();
}
private void OnTableAttributeCheckedChanged(object sender , TableAttributeEventArgs e)
{
PreLoadTable(this.tableArea.SelectedTableArea , e.Data);
}
private void OnTableAreaCheckedChanged(object sender , Component.TableAreaEventArgs e)
{
PreLoadTable(e.Data , this.tableAttributeX.SelectedTableAttribute);
}
private void OnTableCheckedChanged(object sender , Component.TableEventArgs e)
{
this.lblTableNO.Text = string.Format(this.lblTableNO.Tag.ToString() , e.Table.Name);
}
private void OnTableDoubleClick(object sender , Component.TableEventArgs e)
{
var table = e.Table;
if(table != null)
{
//没有桌台使用信息,默认直接开台
if(table.TableExt == null)
{
OpenTable(table);
}
else
{
//更具桌台不同状态处理
switch (table.TableExt.TableStatus)
{
case TableStatus.空闲:
{
OpenTable(table);
}
break;
case TableStatus.在用:
{
OrderDishes(table);
}
break;
}
}
}
}
///