|
|
|
|
using DevComponents.DotNetBar;
|
|
|
|
|
using DevComponents.DotNetBar.Metro;
|
|
|
|
|
using POSV.Entity;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
namespace POSV.WaiMai
|
|
|
|
|
{
|
|
|
|
|
public partial class WorkerSelectForm : BusinessForm
|
|
|
|
|
{
|
|
|
|
|
public WorkerSelectForm()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnLoad(EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
base.OnLoad(e);
|
|
|
|
|
|
|
|
|
|
if (DesignMode) return;
|
|
|
|
|
|
|
|
|
|
Task.Factory.StartNew(() =>
|
|
|
|
|
{
|
|
|
|
|
this.Invoke(new Action(() =>
|
|
|
|
|
{
|
|
|
|
|
InitializeWorker();
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void InitializeWorker()
|
|
|
|
|
{
|
|
|
|
|
List<Worker> lists = new List<Worker>();
|
|
|
|
|
using (var db = Global.Instance.OpenDataBase)
|
|
|
|
|
{
|
|
|
|
|
lists = db.Query<Worker>().ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.itemPanel.Items.Clear();
|
|
|
|
|
|
|
|
|
|
ItemContainer ic = new ItemContainer();
|
|
|
|
|
ic.MultiLine = true;
|
|
|
|
|
ic.ItemSpacing = 2;
|
|
|
|
|
ic.TitleStyle.Class = "MetroTileGroupTitle";
|
|
|
|
|
|
|
|
|
|
foreach (var entity in lists)
|
|
|
|
|
{
|
|
|
|
|
MetroTileItem item = new MetroTileItem();
|
|
|
|
|
|
|
|
|
|
item.TileStyle.PaddingLeft = item.TileStyle.PaddingRight = -2;
|
|
|
|
|
|
|
|
|
|
item.CheckBehavior = eMetroTileCheckBehavior.LeftMouseButtonClick;
|
|
|
|
|
item.Checked = false;
|
|
|
|
|
|
|
|
|
|
item.OptionGroup = "WORKER";
|
|
|
|
|
item.TileStyle.Font = Constant.BIG_FONT;
|
|
|
|
|
item.TileStyle.TextAlignment = eStyleTextAlignment.Center;
|
|
|
|
|
item.Text = entity.Name;
|
|
|
|
|
|
|
|
|
|
item.TileSize = new Size(100, 60);
|
|
|
|
|
|
|
|
|
|
item.TileColor = eMetroTileColor.Coffee;
|
|
|
|
|
|
|
|
|
|
item.TileStyle.TextColor = Color.White;
|
|
|
|
|
item.TileStyle.BorderColor = Color.Transparent;
|
|
|
|
|
item.TileStyle.BorderColor2 = Color.Transparent;
|
|
|
|
|
|
|
|
|
|
item.Tag = entity;
|
|
|
|
|
|
|
|
|
|
item.MouseDown += OnWorkerMouseDown;
|
|
|
|
|
|
|
|
|
|
ic.SubItems.Add(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.itemPanel.Items.Add(ic);
|
|
|
|
|
this.itemPanel.Invalidate();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnWorkerMouseDown(object sender, MouseEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
MetroTileItem obj = sender as MetroTileItem;
|
|
|
|
|
var worker = obj.Tag as Worker;
|
|
|
|
|
|
|
|
|
|
OnSelectedWorker?.Invoke(worker);
|
|
|
|
|
|
|
|
|
|
OnCloseClick(sender, e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public delegate void EventHandler(Worker worker);
|
|
|
|
|
|
|
|
|
|
public event EventHandler OnSelectedWorker;
|
|
|
|
|
|
|
|
|
|
private void OnCloseClick(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if(this.Owner != null)
|
|
|
|
|
{
|
|
|
|
|
this.Owner.Close();
|
|
|
|
|
}
|
|
|
|
|
this.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnCancelTouchClick(object sender, Component.TouchEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.OnCloseClick(sender, null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|