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()); }
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>(), })); }
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)); }
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()); }
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>(), })); }
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)); }
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 )); }
public TDvHubEntity[] GetList <TSat>(TSat satQuery, bool includeDetails = true) where TSat : ISat, new() { return(DataVaultContext.ReadRecords <TDvHubEntity>(DataVaultQuery <TDvHubEntity> .FilterSat(satQuery))); }
public TDvHubEntity FindByBk(string bk, bool includeDetails = true) { return(DataVaultContext.ReadRecord <TDvHubEntity>(DataVaultQuery <TDvHubEntity> .EqualsBK(bk), includeDetails ? new[] { "*" } : Array.Empty <object>())); }
public override TDvHubEntity Find(string id, bool includeDetails = true) { return(DataVaultContext.ReadRecord <TDvHubEntity>(DataVaultQuery <TDvHubEntity> .EqualsPK(id), includeDetails ? new[] { "*" } : Array.Empty <object>())); }
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))); }
//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))); }