private List <RelationshipDTO> GetCandidUpdateRelationships(EntityUICompositionCompositeDTO entityUICompositions, TableDrivedEntityDTO entity)
        {
            List <RelationshipDTO> rels = new List <RelationshipDTO>();

            foreach (var relationship in entity.Relationships.Where(x => x.MastertTypeEnum == Enum_MasterRelationshipType.FromPrimartyToForeign &&
                                                                    x.DataEntryEnabled == true && x.IsOtherSideCreatable && x.IsOtherSideDirectlyCreatable))
            {
                if (!RelationshipExistsInTree(entityUICompositions.RootItem, relationship))
                {
                    rels.Add(relationship);
                }
            }
            return(rels);
        }
        //public EntityUICompositionDTO GetEntityUICompositionTree(int entityID)
        //{
        //    //////var cachedItem = CacheManager.GetCacheManager().GetCachedItem(CacheItemType.EntityUICompositionTree, entityID.ToString());
        //    //////if (cachedItem != null)
        //    //////    return (cachedItem as List<EntityUICompositionDTO>);
        //    //  List<EntityUICompositionDTO> result = new List<EntityUICompositionDTO>();
        //    using (var projectContext = new DataAccess.MyProjectEntities())
        //    {
        //        var rootdb = projectContext.EntityUIComposition.FirstOrDefault(x => x.TableDrivedEntityID == entityID && x.ParentID == null);
        //        if (rootdb != null)
        //        {
        //            var result = ToEntityUICompositionDTO(rootdb, true);
        //            return result;
        //        }
        //        else
        //            return null;
        //    }
        //    //CacheManager.GetCacheManager().AddCacheItem(result, CacheItemType.EntityUICompositionTree, entityID.ToString());

        //}
        public EntityUICompositionCompositeDTO GetEntityUICompositionTree(int entityID)
        {
            EntityUICompositionCompositeDTO result = new EntityUICompositionCompositeDTO();

            //////var cachedItem = CacheManager.GetCacheManager().GetCachedItem(CacheItemType.EntityUICompositionTree, entityID.ToString());
            //////if (cachedItem != null)
            //////    return (cachedItem as List<EntityUICompositionDTO>);

            result.ColumnItems       = new List <ColumnUISettingDTO>();
            result.RelationshipItems = new List <RelationshipUISettingDTO>();
            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                var dbroot = projectContext.EntityUIComposition.FirstOrDefault(x => x.TableDrivedEntityID == entityID && x.ParentID == null);
                //foreach (var item in list)
                //{
                if (dbroot != null)
                {
                    result.RootItem = ToEntityUICompositionDTO(dbroot, true, result.ColumnItems, result.RelationshipItems);
                }
                //}
            }
            //CacheManager.GetCacheManager().AddCacheItem(result, CacheItemType.EntityUICompositionTree, entityID.ToString());
            return(result);
        }