@@ -13,7 +13,8 @@ public interface IRelationshipsDictionary { }
13
13
/// <summary>
14
14
/// An interface that is implemented to expose a relationship dictionary on another class.
15
15
/// </summary>
16
- public interface IExposeRelationshipsDictionary < TDependentResource > : IRelationshipsDictionary < TDependentResource > where TDependentResource : class , IIdentifiable
16
+ public interface IExposeRelationshipsDictionary < TDependentResource > :
17
+ IRelationshipsDictionaryGetters < TDependentResource > where TDependentResource : class , IIdentifiable
17
18
{
18
19
/// <summary>
19
20
/// Gets a dictionary of affected resources grouped by affected relationships.
@@ -24,7 +25,15 @@ public interface IExposeRelationshipsDictionary<TDependentResource> : IRelations
24
25
/// <summary>
25
26
/// A helper class that provides insights in which relationships have been updated for which entities.
26
27
/// </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
28
37
{
29
38
/// <summary>
30
39
/// 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
42
51
/// It is practically a ReadOnlyDictionary{RelationshipAttribute, HashSet{TDependentResource}} dictionary
43
52
/// with the two helper methods defined on IAffectedRelationships{TDependentResource}.
44
53
/// </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
46
57
{
47
58
/// <summary>
48
59
/// a dictionary with affected relationships as keys and values being the corresponding resources
@@ -62,7 +73,6 @@ public RelationshipsDictionary(Dictionary<RelationshipAttribute, HashSet<TDepend
62
73
internal RelationshipsDictionary ( Dictionary < RelationshipAttribute , IEnumerable > relationships )
63
74
: this ( TypeHelper . ConvertRelationshipDictionary < TDependentResource > ( relationships ) ) { }
64
75
65
-
66
76
/// <inheritdoc />
67
77
public Dictionary < RelationshipAttribute , HashSet < TDependentResource > > GetByRelationship < TPrincipalResource > ( ) where TPrincipalResource : class , IIdentifiable
68
78
{
0 commit comments