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; namespace Payroll.Controls.CustomControls { public partial class ctlOrgControl : UserControl { public delegate void ItemChangedEventHandeler(); public event ItemChangedEventHandeler ItemChanged; private OrganogramBasic _oOrg; private ObjectsTemplate _oOrgs; public ctlOrgControl() { InitializeComponent(); } #region Property IsEmpty : bool private bool _isEmpty; public bool IsEmpty { get { _isEmpty = (lblText.Text.Trim().Length <= 0); return _isEmpty; } } #endregion #region Is Multiple private bool _isMultiple; public bool IsMultiple { get { return _isMultiple; } set { _isMultiple = value; } } #endregion #region ShowVacantNode private bool _showVacantNode; public bool ShowVacantNode { get { return _showVacantNode; } set { _showVacantNode = value; } } #endregion public void Clear() { this.btnClear_Click(null, null); } public OrganogramBasic SelectedNode { get { return _oOrg; } set { _oOrg = value; RefreshControl(); } } public ObjectsTemplate SelectedNodes { get { return _oOrgs; } set { _oOrgs = value; RefreshControls(); } } private void btnSearch_Click(object sender, EventArgs e) { fOrg oItem = new fOrg(); oItem.Showdlg(this.IsMultiple,this._showVacantNode); if (this.IsMultiple) { if (oItem.SelNodes != null) { _oOrgs = oItem.SelNodes; RefreshControls(); } } else { if (oItem.SelNode != null) { _oOrg = oItem.SelNode; RefreshControl(); } } } private void RefreshControl() { if (_oOrg != null) { lblText.Text = _oOrg.PositionName; } try { if (ItemChanged != null) { ItemChanged(); } } catch { } } private void RefreshControls() { string s = ""; if (_oOrgs != null) { foreach (OrganogramBasic org in _oOrgs) { s += org.PositionName + " , "; } if(s.Length >2) lblText.Text = s.Remove(s.Length - 2); } try { if (ItemChanged != null) { ItemChanged(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error occured during populate control.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void ctlOrgControl_Resize(object sender, EventArgs e) { lblText.Left = 1; btnSearch.Left = lblText.Width + 1; btnClear.Left = btnSearch.Left + btnSearch.Width + 3; } private void btnClear_Click(object sender, EventArgs e) { _oOrgs=null; _oOrg = null; lblText.Text = ""; } } }