Example #1
0
        public override TDvLinkEntity Find(string id, bool includeDetails = true)
        {
            var query = new
            {
                filterPK = DataVaultQuery <TDvLinkEntity> .FilterPK(id),
                select   = includeDetails ? new[] { "*" } : Array.Empty <object>()
            };

            return(DataVaultContext.ReadLinks <TDvLinkEntity>(query).FirstOrDefault());
        }
Example #2
0
 public TDvHubEntity[] GetListByIds(string[] ids, bool includeDetails = true)
 {
     return(ids.IsNullOrEmpty()
         ? Array.Empty <TDvHubEntity>()
         : DataVaultContext.ReadRecords <TDvHubEntity>(
                new
     {
         filter = new[] { DataVaultQuery <TDvHubEntity> .ContainPKs(ids) },
         select = includeDetails ? new[] { "*" } : Array.Empty <object>(),
     }));
 }
Example #3
0
        public TDvLinkEntity[] GetLinks <TDvLinkEntity>(string[] ids, bool includeDetails = true)
            where TDvLinkEntity : IDvLinkEntity, new()
        {
            var query = DataVaultQuery <TDvLinkEntity> .FilterLinksWithPKs(
                new Dictionary <Type, string[]>
            {
                { typeof(TDvEntity), ids },
            },
                includeDetails);

            return(DataVaultContext.ReadLinks <TDvLinkEntity>(query));
        }
Example #4
0
        public TDvLinkEntity GetLink <TDvLinkEntity, TLinkedDvEntity>(string id, string linkedEntityId)
            where TDvLinkEntity : IDvLinkEntity, new()
            where TLinkedDvEntity : IDvEntity, new()
        {
            var query = DataVaultQuery <TDvLinkEntity> .FilterLinksWithPKs(
                new Dictionary <Type, string[]>
            {
                { typeof(TDvEntity), new[] { id } },
                { typeof(TLinkedDvEntity), new[] { linkedEntityId } }
            });

            return(DataVaultContext.ReadLinks <TDvLinkEntity>(query).FirstOrDefault());
        }
Example #5
0
        public TLinkedDvEntity[] GetLinkedEntities <TDvLinkEntity, TLinkedDvEntity>(string id, bool includeDetails = true)
            where TDvLinkEntity : IDvLinkEntity, new()
            where TLinkedDvEntity : IDvHubEntity, new()
        {
            var linkedEntitiesIds = GetLinkedEntityIds <TDvLinkEntity, TLinkedDvEntity>(id);

            return(linkedEntitiesIds.IsNullOrEmpty()
                ? Array.Empty <TLinkedDvEntity>()
                : DataVaultContext.ReadRecords <TLinkedDvEntity>(
                       new
            {
                filter = new[] { DataVaultQuery <TLinkedDvEntity> .ContainPKs(linkedEntitiesIds) },
                select = includeDetails ? new[] { "*" } : Array.Empty <object>(),
            }));
        }
Example #6
0
        public TDvLinkEntity[] GetLinks <TDvLinkEntity, TLinkedDvEntity>(string id, string[] linkedEntityIds)
            where TDvLinkEntity : IDvLinkEntity, new()
            where TLinkedDvEntity : IDvEntity, new()
        {
            if (linkedEntityIds.IsNullOrEmpty())
            {
                return(Array.Empty <TDvLinkEntity>());
            }

            var query = DataVaultQuery <TDvLinkEntity> .FilterLinksWithPKs(
                new Dictionary <Type, string[]>
            {
                { typeof(TDvEntity), new[] { id } },
                { typeof(TLinkedDvEntity), linkedEntityIds }
            });

            return(DataVaultContext.ReadLinks <TDvLinkEntity>(query));
        }
Example #7
0
        public string LinkTo <TDvLinkEntity, TLinkToDvEntity>(string entityId, string linkToEntityId)
            where TDvLinkEntity : IDvLinkEntity, new()
            where TLinkToDvEntity : IDvEntity, new()
        {
            if (linkToEntityId.IsNullOrWhiteSpace())
            {
                return(string.Empty);
            }

            var linkEntity = GetLink <TDvLinkEntity, TLinkToDvEntity>(entityId, linkToEntityId);

            if (linkEntity.Exist())
            {
                return(linkEntity.GetId());
            }

            return(DataVaultContext.LinkRecord <TDvLinkEntity>(
                       DataVaultQuery <TDvEntity> .LinkObject <TLinkToDvEntity>(entityId, linkToEntityId),
                       new { } //TODO: need to add SAT data here
                       ));
        }
Example #8
0
 public TDvHubEntity[] GetList <TSat>(TSat satQuery, bool includeDetails = true) where TSat : ISat, new()
 {
     return(DataVaultContext.ReadRecords <TDvHubEntity>(DataVaultQuery <TDvHubEntity> .FilterSat(satQuery)));
 }
Example #9
0
 public TDvHubEntity FindByBk(string bk, bool includeDetails = true)
 {
     return(DataVaultContext.ReadRecord <TDvHubEntity>(DataVaultQuery <TDvHubEntity> .EqualsBK(bk), includeDetails ? new[] { "*" } : Array.Empty <object>()));
 }
Example #10
0
 public override TDvHubEntity Find(string id, bool includeDetails = true)
 {
     return(DataVaultContext.ReadRecord <TDvHubEntity>(DataVaultQuery <TDvHubEntity> .EqualsPK(id), includeDetails ? new[] { "*" } : Array.Empty <object>()));
 }
Example #11
0
 public TDvLinkEntity[] GetList <TLink, TSat>(TLink link, TSat sat, bool includeDetails = true)
     where TLink : ILink, new()
     where TSat : ISat, new()
 {
     return(DataVaultContext.ReadLinks <TDvLinkEntity>(DataVaultQuery <TDvLinkEntity> .FilterLink(link, sat)));
 }
Example #12
0
        //public TDvLinkEntity[] GetList<TRelatedHub>(string[] relatedHubIds, bool includeDetails = true)
        //{
        //    return DataVaultContext.ReadLinks<TDvLinkEntity>(DataVaultQuery<TDvLinkEntity>.RelatedHub<TRelatedHub>(relatedHubIds));
        //}

        public TDvLinkEntity[] GetListByLink <TLink>(TLink link, bool includeDetails = true) where TLink : ILink, new()
        {
            return(DataVaultContext.ReadLinks <TDvLinkEntity>(DataVaultQuery <TDvLinkEntity> .FilterPK(link)));
        }