using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using Tanshu.Accounts.Entities; using Tanshu.Accounts.Helpers; using System.Diagnostics; namespace Tanshu.Accounts.PointOfSale { public partial class MoveTableForm : Form { private readonly IList _tableList; private readonly bool _allowMerge; public MoveTableForm(IList tableList, bool allowMerge) { InitializeComponent(); _tableList = tableList; Selection = null; _allowMerge = allowMerge; } public FoodTable Selection { get; private set; } private void MoveTableForm_Load(object sender, EventArgs e) { ControlFactory.GenerateTables(ref flpTables, new Point(75, 75), 0, _tableList, new ButtonClickDelegate(tableButton_Click), new ButtonClickDelegate(tablePage_Click)); } private void tableButton_Click(object sender, EventArgs e) { var button = sender as Button; if (button == null) return; var item = button.Tag as FoodTable; if (!string.IsNullOrEmpty(item.Status) && !_allowMerge) MessageBox.Show("Cannot move to a running table", "Cannot Move", MessageBoxButtons.OK, MessageBoxIcon.Error); else if (MessageBox.Show(string.Format("Move selected table to table {0}", item.Name), "Move", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Selection = item; this.Close(); } } private void tablePage_Click(object sender, EventArgs e) { var button = sender as Button; if (button == null) return; var start = (int)button.Tag; if (start < 0) start = 0; ControlFactory.GenerateTables(ref flpTables, new Point(75, 75), start, _tableList, new ButtonClickDelegate(tableButton_Click), new ButtonClickDelegate(tablePage_Click)); } } }