using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.Threading.Tasks; using System.Data; using Ease.Core.Model; using System.IO; namespace HRM.BO { public class SystemConfigaration : AuditTrailBase { #region Constructor public SystemConfigaration() { _node = string.Empty; _value = string.Empty; _parentID = 0; _type = EnumConfigurationType.None; } #endregion #region Properties #region Node : string private string _node; public string Node { get { return _node; } set { _node = value; } } #endregion #region Value : string private string _value; public string Value { get { return _value; } set { _value = value; } } #endregion #region ParentID : ID private int _parentID; public int ParentID { get { return _parentID; } set { _parentID = value; } } #endregion #region Type : EnumConfigurationType private EnumConfigurationType _type; public EnumConfigurationType Type { get { return _type; } set { _type = value; } } #endregion #region ConfigurationAttribute public class ConfigurationAttribute : ObjectTemplate { #region Constructor public ConfigurationAttribute() { _configurationID = 0; _value = ""; _attributeName = ""; } public ConfigurationAttribute(int configurationID) { _configurationID = configurationID; _value = ""; _attributeName = ""; } #endregion #region Property ParentID : ID private int _configurationID; public int ConfigurationID { get { return _configurationID; } set { _configurationID = value; } } #endregion #region AttributeName : string private string _attributeName; public string AttributeName { get { return _attributeName; } set { _attributeName = value; } } #endregion #region Value : String private string _value; public string Value { get { return _value; } set { _value = value; } } #endregion } #endregion #region ConfigurationAttributes public class ConfigurationAttributes : List { #region Constructor public ConfigurationAttributes() { } public ConfigurationAttribute GetItemByParentID(int configurationID) { return this.Find(delegate (ConfigurationAttribute item) { return item.ConfigurationID == configurationID; }); } public void Add(int configurationId, string nodeName, string svalue) { ConfigurationAttribute att = new ConfigurationAttribute(); att.Value = svalue; att.AttributeName = nodeName; att.SetID(this.Count + 1); this.Add(att); } public string GetAttributeValue(string attributeName) { foreach (ConfigurationAttribute oItem in this) { if (oItem.AttributeName.ToLower() == attributeName.ToLower()) { return oItem.Value == null ? "" : oItem.Value; } } return ""; } #endregion } #endregion #region Property ConfigurationAttributes : ConfigurationAttributes private ConfigurationAttributes _configurationAttributes; public ConfigurationAttributes ConAttributes { get { if (_configurationAttributes == null) _configurationAttributes = new ConfigurationAttributes(); return _configurationAttributes; } } #endregion #endregion #region Functions private void DolowerCase(List configs) { foreach (SystemConfigaration item in configs) { item.Node = item.Node.ToLower(); foreach (ConfigurationAttribute att in item.ConAttributes) { att.AttributeName = att.AttributeName.ToLower(); } } } #endregion } public class TreeNode { public TreeNode() { Nodes = new List(); } public string Text { get; set; } public object Tag { get; set; } public List Nodes { get; set; } } public interface ISystemConfigaration { List LoadXMLtoObject(EnumConfigurationType type, System.IO.Stream streamFile); List Get(EnumConfigurationType configType); List GetAttributesByParentID(int nParentID); void Save(List configurations, EnumConfigurationType type); List getMenuesFromConfig(); List GetAllChildrenByParentNode(EnumConfigurationType type, string parentNode); string GetXMLFile(EnumConfigurationType type); object GetconfigValue(EnumConfigurationType type, string firstParent, string secondParent); } }