@@ -37,12 +37,19 @@ public static void AbortTransaction(this ICoreSession session, AbortTransactionO
37
37
return ;
38
38
}
39
39
40
- if ( session is not CoreSession coreSession )
40
+ if ( session is CoreSession coreSession )
41
41
{
42
- throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
42
+ coreSession . AbortTransaction ( options , cancellationToken ) ;
43
+ return ;
44
+ }
45
+
46
+ if ( session is WrappingCoreSession wrappingCoreSession )
47
+ {
48
+ wrappingCoreSession . AbortTransaction ( options , cancellationToken ) ;
49
+ return ;
43
50
}
44
51
45
- coreSession . AbortTransaction ( options , cancellationToken ) ;
52
+ throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
46
53
}
47
54
48
55
/// <summary>
@@ -58,12 +65,17 @@ public static Task AbortTransactionAsync(this ICoreSession session, AbortTransac
58
65
return session . AbortTransactionAsync ( cancellationToken ) ;
59
66
}
60
67
61
- if ( session is not CoreSession coreSession )
68
+ if ( session is CoreSession coreSession )
69
+ {
70
+ return coreSession . AbortTransactionAsync ( options , cancellationToken ) ;
71
+ }
72
+
73
+ if ( session is WrappingCoreSession wrappingCoreSession )
62
74
{
63
- throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
75
+ return wrappingCoreSession . AbortTransactionAsync ( options , cancellationToken ) ;
64
76
}
65
77
66
- return coreSession . AbortTransactionAsync ( options , cancellationToken ) ;
78
+ throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
67
79
}
68
80
69
81
/// <summary>
@@ -80,12 +92,19 @@ public static void CommitTransaction(this ICoreSession session, CommitTransactio
80
92
return ;
81
93
}
82
94
83
- if ( session is not CoreSession coreSession )
95
+ if ( session is CoreSession coreSession )
84
96
{
85
- throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
97
+ coreSession . CommitTransaction ( options , cancellationToken ) ;
98
+ return ;
99
+ }
100
+
101
+ if ( session is WrappingCoreSession wrappingCoreSession )
102
+ {
103
+ wrappingCoreSession . CommitTransaction ( options , cancellationToken ) ;
104
+ return ;
86
105
}
87
106
88
- coreSession . CommitTransaction ( options , cancellationToken ) ;
107
+ throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
89
108
}
90
109
91
110
/// <summary>
@@ -101,12 +120,17 @@ public static Task CommitTransactionAsync(this ICoreSession session, CommitTrans
101
120
return session . CommitTransactionAsync ( cancellationToken ) ;
102
121
}
103
122
104
- if ( session is not CoreSession coreSession )
123
+ if ( session is CoreSession coreSession )
124
+ {
125
+ return coreSession . CommitTransactionAsync ( options , cancellationToken ) ;
126
+ }
127
+
128
+ if ( session is WrappingCoreSession wrappingCoreSession )
105
129
{
106
- throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
130
+ return wrappingCoreSession . CommitTransactionAsync ( options , cancellationToken ) ;
107
131
}
108
132
109
- return coreSession . CommitTransactionAsync ( options , cancellationToken ) ;
133
+ throw new InvalidOperationException ( "Cannot apply options on non CoreSession." ) ;
110
134
}
111
135
}
112
136
}
0 commit comments