Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
CAP
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tsai
CAP
Commits
f13c6ef9
Commit
f13c6ef9
authored
Aug 21, 2018
by
Savorboard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add cap dbtransaction wapper
parent
467fb546
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
146 additions
and
0 deletions
+146
-0
IClientSessionHandle.CAP.cs
src/DotNetCore.CAP.MongoDB/IClientSessionHandle.CAP.cs
+76
-0
IDbContextTransaction.CAP.cs
src/DotNetCore.CAP.PostgreSql/IDbContextTransaction.CAP.cs
+35
-0
IDbContextTransaction.CAP.cs
src/DotNetCore.CAP.SqlServer/IDbContextTransaction.CAP.cs
+35
-0
No files found.
src/DotNetCore.CAP.MongoDB/IClientSessionHandle.CAP.cs
0 → 100644
View file @
f13c6ef9
using
System.Threading
;
using
System.Threading.Tasks
;
using
DotNetCore.CAP
;
using
MongoDB.Bson
;
using
MongoDB.Driver.Core.Bindings
;
// ReSharper disable once CheckNamespace
namespace
MongoDB.Driver
{
internal
class
CapMongoDbClientSessionHandle
:
IClientSessionHandle
{
private
readonly
ICapTransaction
_transaction
;
private
readonly
IClientSessionHandle
_sessionHandle
;
public
CapMongoDbClientSessionHandle
(
ICapTransaction
transaction
)
{
_transaction
=
transaction
;
_sessionHandle
=
(
IClientSessionHandle
)
_transaction
.
DbTransaction
;
}
public
void
Dispose
()
{
_transaction
.
Dispose
();
}
public
void
AbortTransaction
(
CancellationToken
cancellationToken
=
default
(
CancellationToken
))
{
_transaction
.
Rollback
();
}
public
Task
AbortTransactionAsync
(
CancellationToken
cancellationToken
=
default
(
CancellationToken
))
{
_transaction
.
Rollback
();
return
Task
.
CompletedTask
;
}
public
void
AdvanceClusterTime
(
BsonDocument
newClusterTime
)
{
_sessionHandle
.
AdvanceClusterTime
(
newClusterTime
);
}
public
void
AdvanceOperationTime
(
BsonTimestamp
newOperationTime
)
{
_sessionHandle
.
AdvanceOperationTime
(
newOperationTime
);
}
public
void
CommitTransaction
(
CancellationToken
cancellationToken
=
default
(
CancellationToken
))
{
_transaction
.
Commit
();
}
public
Task
CommitTransactionAsync
(
CancellationToken
cancellationToken
=
default
(
CancellationToken
))
{
_transaction
.
Commit
();
return
Task
.
CompletedTask
;
}
public
void
StartTransaction
(
TransactionOptions
transactionOptions
=
null
)
{
_sessionHandle
.
StartTransaction
(
transactionOptions
);
}
public
IMongoClient
Client
=>
_sessionHandle
.
Client
;
public
BsonDocument
ClusterTime
=>
_sessionHandle
.
ClusterTime
;
public
bool
IsImplicit
=>
_sessionHandle
.
IsImplicit
;
public
bool
IsInTransaction
=>
_sessionHandle
.
IsInTransaction
;
public
BsonTimestamp
OperationTime
=>
_sessionHandle
.
OperationTime
;
public
ClientSessionOptions
Options
=>
_sessionHandle
.
Options
;
public
IServerSession
ServerSession
=>
_sessionHandle
.
ServerSession
;
public
ICoreSessionHandle
WrappedCoreSession
=>
_sessionHandle
.
WrappedCoreSession
;
public
IClientSessionHandle
Fork
()
{
return
_sessionHandle
.
Fork
();
}
}
}
src/DotNetCore.CAP.PostgreSql/IDbContextTransaction.CAP.cs
0 → 100644
View file @
f13c6ef9
using
System
;
using
DotNetCore.CAP
;
// ReSharper disable once CheckNamespace
namespace
Microsoft.EntityFrameworkCore.Storage
{
internal
class
CapEFDbTransaction
:
IDbContextTransaction
{
private
readonly
ICapTransaction
_transaction
;
public
CapEFDbTransaction
(
ICapTransaction
transaction
)
{
_transaction
=
transaction
;
var
dbContextTransaction
=
(
IDbContextTransaction
)
_transaction
.
DbTransaction
;
TransactionId
=
dbContextTransaction
.
TransactionId
;
}
public
void
Dispose
()
{
_transaction
.
Dispose
();
}
public
void
Commit
()
{
_transaction
.
Commit
();
}
public
void
Rollback
()
{
_transaction
.
Rollback
();
}
public
Guid
TransactionId
{
get
;
}
}
}
src/DotNetCore.CAP.SqlServer/IDbContextTransaction.CAP.cs
0 → 100644
View file @
f13c6ef9
using
System
;
using
DotNetCore.CAP
;
// ReSharper disable once CheckNamespace
namespace
Microsoft.EntityFrameworkCore.Storage
{
internal
class
CapEFDbTransaction
:
IDbContextTransaction
{
private
readonly
ICapTransaction
_transaction
;
public
CapEFDbTransaction
(
ICapTransaction
transaction
)
{
_transaction
=
transaction
;
var
dbContextTransaction
=
(
IDbContextTransaction
)
_transaction
.
DbTransaction
;
TransactionId
=
dbContextTransaction
.
TransactionId
;
}
public
void
Dispose
()
{
_transaction
.
Dispose
();
}
public
void
Commit
()
{
_transaction
.
Commit
();
}
public
void
Rollback
()
{
_transaction
.
Rollback
();
}
public
Guid
TransactionId
{
get
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment