@@ -13,7 +13,8 @@ public interface IRelationshipsDictionary { }
1313 /// <summary>
1414 /// An interface that is implemented to expose a relationship dictionary on another class.
1515 /// </summary>
16- public interface IExposeRelationshipsDictionary < TDependentResource > : IRelationshipsDictionary < TDependentResource > where TDependentResource : class , IIdentifiable
16+ public interface IExposeRelationshipsDictionary < TDependentResource > :
17+ IRelationshipsDictionaryGetters < TDependentResource > where TDependentResource : class , IIdentifiable
1718 {
1819 /// <summary>
1920 /// Gets a dictionary of affected resources grouped by affected relationships.
@@ -24,7 +25,15 @@ public interface IExposeRelationshipsDictionary<TDependentResource> : IRelations
2425 /// <summary>
2526 /// A helper class that provides insights in which relationships have been updated for which entities.
2627 /// </summary>
27- public interface IRelationshipsDictionary < TDependentResource > : IRelationshipsDictionary where TDependentResource : class , IIdentifiable
28+ public interface IRelationshipsDictionary < TDependentResource > :
29+ IRelationshipsDictionaryGetters < TDependentResource > ,
30+ IReadOnlyDictionary < RelationshipAttribute , HashSet < TDependentResource > > ,
31+ IRelationshipsDictionary where TDependentResource : class , IIdentifiable { }
32+
33+ /// <summary>
34+ /// A helper class that provides insights in which relationships have been updated for which entities.
35+ /// </summary>
36+ public interface IRelationshipsDictionaryGetters < TDependentResource > where TDependentResource : class , IIdentifiable
2837 {
2938 /// <summary>
3039 /// Gets a dictionary of all entities that have an affected relationship to type <typeparamref name="TPrincipalResource"/>
@@ -42,7 +51,9 @@ public interface IRelationshipsDictionary<TDependentResource> : IRelationshipsDi
4251 /// It is practically a ReadOnlyDictionary{RelationshipAttribute, HashSet{TDependentResource}} dictionary
4352 /// with the two helper methods defined on IAffectedRelationships{TDependentResource}.
4453 /// </summary>
45- public class RelationshipsDictionary < TDependentResource > : ReadOnlyDictionary < RelationshipAttribute , HashSet < TDependentResource > > , IRelationshipsDictionary < TDependentResource > where TDependentResource : class , IIdentifiable
54+ public class RelationshipsDictionary < TDependentResource > :
55+ ReadOnlyDictionary < RelationshipAttribute , HashSet < TDependentResource > > ,
56+ IRelationshipsDictionary < TDependentResource > where TDependentResource : class , IIdentifiable
4657 {
4758 /// <summary>
4859 /// a dictionary with affected relationships as keys and values being the corresponding resources
@@ -62,7 +73,6 @@ public RelationshipsDictionary(Dictionary<RelationshipAttribute, HashSet<TDepend
6273 internal RelationshipsDictionary ( Dictionary < RelationshipAttribute , IEnumerable > relationships )
6374 : this ( TypeHelper . ConvertRelationshipDictionary < TDependentResource > ( relationships ) ) { }
6475
65-
6676 /// <inheritdoc />
6777 public Dictionary < RelationshipAttribute , HashSet < TDependentResource > > GetByRelationship < TPrincipalResource > ( ) where TPrincipalResource : class , IIdentifiable
6878 {
0 commit comments