using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using Payroll.BO; using Ease.CoreV35.Model; using Payroll.UI; namespace Payroll.Controls.CustomControls { public partial class ctlMultipleEmployee : UserControl { #region Declaration and Contructor public delegate void ItemChangedEventHandeler(); private bool _IsInternal = false; private ObjectsTemplate _Employees = null; public event ItemChangedEventHandeler ItemChanged; public ObjectsTemplate _Grades = null; public ctlMultipleEmployee() { InitializeComponent(); } #endregion #region Property public ObjectsTemplate SelectedEmployees { get { return _Employees; } set { if(value!= null && value.TrueForAll(o=> ValidEmployee(o))) { _Employees = value; RefreshControl(); } } } public ObjectsTemplate Grades { get { return _Grades; } set { _Grades = value; } } public string SearchCriteria { get; private set; } #endregion #region Public Function public void Clear() { _IsInternal = true; lblText.Text = string.Empty; _IsInternal = false; _Employees = null; SearchCriteria = string.Empty; RefreshControl(); } #endregion #region Private Function private bool ValidEmployee(SearchEmployee oEmp) { bool isValid = true; if (_Grades != null) { isValid = _Grades.Contains(oEmp.GradeID); } return isValid; } private void RefreshControl() { _IsInternal = true; if (_Employees != null) { lblText.Text = "Employee Count: " + _Employees.Count; btnClear.Enabled = true; } else { lblText.Text = string.Empty; btnClear.Enabled = false; } _IsInternal = false; if (ItemChanged != null) { ItemChanged(); } } #endregion #region Events private void btnPeek_Click(object sender, EventArgs e) { fSearchEmployee search = new fSearchEmployee(); // search.SetEmployees(_Employees); search.MultipleSelection = true; if (this.Grades != null) { search.Grades = this.Grades; } search.ShowDialog(); if (search.SelectedEmployees != null) { _Employees = search.SelectedEmployees; SearchCriteria = search.SearchCriteria; RefreshControl(); } } private void btnClear_Click(object sender, EventArgs e) { Clear(); } #endregion //private void ctlEmployee_Resize(object sender, EventArgs e) //{ // //lblText.Left = 4; // //lblText.Top = 4; // //lblText.Width = Convert.ToInt32(Convert.ToDouble(this.Width) * 0.30); // //lblText.Width = lblText.Width > 100 ? 100 : lblText.Width; // //btnPeek.Top = 2; // //btnPeek.Left = lblText.Width + 7; // //txtDescription.Top = 4; // //txtDescription.Left = lblText.Width + 10 + btnPeek.Width; // //txtDescription.Width = this.Width - lblText.Width - btnPeek.Width - 10; //} //private void lblText_TextChanged(object sender, EventArgs e) //{ // if (!_IsInternal) // { // GetEmployee(); // } //} //private void GetEmployee() //{ // try // { // Employee oEmp = null; // if (lblText.Text.Trim().Length > 0) // { // oEmp = Employee.Get(lblText.Text); // } // _Employees = null; // if (oEmp != null) // { // if (ValidEmployee(oEmp.GetSearchEmployee())) // { // _Employees = oEmp.GetSearchEmployee(); // } // } // if(_Employees != null) // RefreshControl(); // } // catch (Exception ex) // { // MessageBox.Show(ex.Message); // } //} } }