Skip to content

Commit 72817b8

Browse files
Merge pull request #292 from johelvisguzman/johelvisguzman-patch-1
Added additional documentation
2 parents 12a2e00 + c666c33 commit 72817b8

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

docs/options-config.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,48 @@ var options = new RepositoryOptionsBuilder()
2222
.Options;
2323
```
2424

25+
```csharp
26+
namespace ExampleApplicationDemo
27+
{
28+
using DotNetToolkit.Repository.Configuration.Interceptors;
29+
using System;
30+
31+
public class AuditRepositoryInterceptor : RepositoryInterceptorBase
32+
{
33+
private readonly string _user;
34+
35+
public AuditRepositoryInterceptor(string loggedInUser)
36+
{
37+
_user = loggedInUser;
38+
}
39+
40+
public override void AddExecuting<TEntity>(TEntity entity)
41+
{
42+
if (entity is IHaveTimeStamp haveStamp)
43+
{
44+
var currentTime = DateTime.UtcNow;
45+
46+
haveStamp.CreateTime = currentTime;
47+
haveStamp.CreateUser = _user;
48+
haveStamp.ModTime = currentTime;
49+
haveStamp.ModUser = _user;
50+
}
51+
}
52+
53+
public override void UpdateExecuting<TEntity>(TEntity entity)
54+
{
55+
if (entity is IHaveTimeStamp haveStamp)
56+
{
57+
var currentTime = DateTime.UtcNow;
58+
59+
haveStamp.ModTime = currentTime;
60+
haveStamp.ModUser = _user;
61+
}
62+
}
63+
}
64+
}
65+
```
66+
2567
We can even register a logger provider which will output any logging being done in the repositories (this will include logging any raw SQL query string being executed)
2668

2769
```csharp

0 commit comments

Comments
 (0)