예제 #1
0
        /// <summary>
        /// Find CompanyUnitHierarchy Object using CompanyUnitRef and Filters DataTableUseTypeCategory for
        /// CompanyUnitObject
        /// </summary>
        /// <param name="id">CompanyUnitRef - Primary Key</param>
        /// <param name="dataTableUseTypeCategoryCode">DataTableUseTypeCategory</param>
        /// <returns></returns>
        public T Find(int id,
                      DataTableUseTypeCategory dataTableUseTypeCategoryCode)
        {
            T companyUnit = (T)Find(id).Clone();
            CompanyUnitDataTablesCollection <CompanyUnitDataTables> dataTableColl =
                new CompanyUnitDataTablesCollection <CompanyUnitDataTables>();

            dataTableColl.Merge(companyUnit.DataTables[dataTableUseTypeCategoryCode]);
            companyUnit.DataTables = dataTableColl;
            return(companyUnit);
        }
예제 #2
0
        //================================================================================
        #endregion

        #region Methods
        //================================================================================
        private Predicate <T> FindByDataTableUseTypeCategory(
            DataTableUseTypeCategory dataTableUseTypeCategoryCode)
        {
            return(delegate(T obj)
            {
                if (obj.DataTableUseTypeCategoryCode == dataTableUseTypeCategoryCode)
                {
                    return true;
                }
                return false;
            });
        }
예제 #3
0
        //================================================================================
        public CompanyUnitDataTablesCollection <T> this[
            CompanyUnitHierarchy CompanyUnitObj,
            DataTableUseTypeCategory dataTableUseTypeCategoryCode]
        {
            get
            {
                CompanyUnitDataTablesCollection <T> tempColl =
                    this.GetAllIncludingCompanyHierarchy(
                        CompanyUnitObj.CompanyUnitRef, CompanyUnitObj.CompanyUnitParentRef,
                        CompanyUnitObj.CompanyUnitGrandParentRef, CompanyUnitObj.CompanyUnitGreatGrandParentRef);

                //tempColl = tempColl[dataTableUseTypeCategoryCode];

                return(tempColl[dataTableUseTypeCategoryCode]);
            }
        }
예제 #4
0
        //================================================================================
        public CompanyUnitDataTablesCollection <T> this[
            DataTableUseTypeCategory dataTableUseTypeCategoryCode]
        {
            get
            {
                return(this.FindAll(FindByDataTableUseTypeCategory(dataTableUseTypeCategoryCode)));

                //CompanyUnitDataTablesCollection<T> tempColl = new CompanyUnitDataTablesCollection<T>();
                //foreach(T obj in this)
                //{
                //    if(obj.DataTableUseTypeCategoryCode.Equals(dataTableUseTypeCategoryCode))
                //        tempColl.Add(obj);
                //}
                //return tempColl;
            }
        }