Пример #1
0
        //================================================================================
        /// <summary>
        /// Bind CompanyUnitDataTablesCollection, CompanyDataItemCollection & CompanyDataEnumerationCollection
        /// to each CompanyUnit from CompanyUnitHierarchyCollection
        /// </summary>
        /// <param name="allDataTables"></param>
        /// <param name="allDataItems"></param>
        /// <param name="allDataEnumeration"></param>
        /// <returns></returns>
        public void BindDataTablesToEachCompanyUnitHierarchy
            (CompanyUnitDataTablesCollection <CompanyUnitDataTables> allDataTables,
            CompanyDataItemCollection <CompanyDataItem> allDataItems,
            CompanyDataEnumerationCollection <CompanyDataEnumeration> allDataEnumeration
            )
        {
            foreach (T companyUnitObj in this)
            {
                CompanyUnitDataTablesCollection <CompanyUnitDataTables> companyUnitDataTableColl =
                    allDataTables[companyUnitObj];

                CompanyDataItemCollection <CompanyDataItem> companyUnitDataItemColl = allDataItems[companyUnitObj];

                CompanyDataEnumerationCollection <CompanyDataEnumeration> companyUnitDataEnumerationColl =
                    allDataEnumeration[companyUnitObj];

                companyUnitDataItemColl.BindDataEnumerationToEachDataItems(companyUnitDataEnumerationColl);

                companyUnitDataTableColl.BindDataItemsToEachDataTable(companyUnitDataItemColl);

                if (companyUnitDataTableColl.Count > 0)
                {
                    companyUnitObj.DataTables = companyUnitDataTableColl;
                }
            }
        }
Пример #2
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);
        }
Пример #3
0
 //================================================================================
 /// <summary>
 /// Merge given CompanyUnitDataTablesCollection (mergeFromColl) using DataTableRef
 /// to existing CompanyUnitDataTablesCollection
 /// </summary>
 /// <param name="mergeFromColl"></param>
 public CompanyUnitDataTablesCollection <T> Merge(CompanyUnitDataTablesCollection <T> mergeFromColl)
 {
     if (mergeFromColl != null)
     {
         foreach (T obj in mergeFromColl)
         {
             if (!this.Contains(obj.DataTableRef))
             {
                 this.Add(obj);
             }
         }
     }
     return(this);
 }
Пример #4
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]);
            }
        }
Пример #5
0
        //================================================================================
        public CompanyUnitDataTablesCollection <T> FindAll(Predicate <T> match)
        {
            if (this == null)
            {
                throw new ArgumentNullException("Item collection empty.");
            }
            if (match == null)
            {
                throw new ArgumentNullException("Match condition empty.");
            }

            CompanyUnitDataTablesCollection <T> tempColl = new CompanyUnitDataTablesCollection <T>();

            foreach (T obj in this)
            {
                if (match(obj))
                {
                    tempColl.Add(obj);
                }
            }

            return(tempColl);
        }