Skip to content

Commit 972c50c

Browse files
committed
Revert "Resharper: Replace async method with Task return"
Reverting this Resharper rule because it makes stack traces harder to understand, while the gain it provides is theoretical. Resharper turned off this suggestion in the default ruleset in a later version. This reverts commit 3e1b27b.
1 parent c3e23da commit 972c50c

File tree

24 files changed

+110
-79
lines changed

24 files changed

+110
-79
lines changed

WarningSeverities.DotSettings

-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@
166166
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RemoveRedundantOrStatement_002ETrue/@EntryIndexedValue">WARNING</s:String>
167167
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RemoveToList_002E1/@EntryIndexedValue">WARNING</s:String>
168168
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RemoveToList_002E2/@EntryIndexedValue">WARNING</s:String>
169-
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceAsyncWithTaskReturn/@EntryIndexedValue">WARNING</s:String>
170169
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceObjectPatternWithVarPattern/@EntryIndexedValue">WARNING</s:String>
171170
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceSequenceEqualWithConstantPattern/@EntryIndexedValue">WARNING</s:String>
172171
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithFirstOrDefault_002E1/@EntryIndexedValue">WARNING</s:String>

src/Examples/DapperExample/Repositories/DapperRepository.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public async Task<IReadOnlyCollection<TResource>> GetAsync(QueryLayer queryLayer
161161
}
162162

163163
/// <inheritdoc />
164-
public Task<int> CountAsync(FilterExpression? filter, CancellationToken cancellationToken)
164+
public async Task<int> CountAsync(FilterExpression? filter, CancellationToken cancellationToken)
165165
{
166166
var queryLayer = new QueryLayer(ResourceType)
167167
{
@@ -173,7 +173,7 @@ public Task<int> CountAsync(FilterExpression? filter, CancellationToken cancella
173173
CommandDefinition sqlCommand = _dapperFacade.GetSqlCommand(selectNode, cancellationToken);
174174
LogSqlCommand(sqlCommand);
175175

176-
return ExecuteQueryAsync(connection => connection.ExecuteScalarAsync<int>(sqlCommand), cancellationToken);
176+
return await ExecuteQueryAsync(async connection => await connection.ExecuteScalarAsync<int>(sqlCommand), cancellationToken);
177177
}
178178

179179
/// <inheritdoc />

src/JsonApiDotNetCore/AtomicOperations/OperationsProcessor.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public OperationsProcessor(IOperationProcessorAccessor operationProcessorAccesso
9999
return results;
100100
}
101101

102-
protected virtual Task<OperationContainer?> ProcessOperationAsync(OperationContainer operation, CancellationToken cancellationToken)
102+
protected virtual async Task<OperationContainer?> ProcessOperationAsync(OperationContainer operation, CancellationToken cancellationToken)
103103
{
104104
cancellationToken.ThrowIfCancellationRequested();
105105

@@ -108,7 +108,7 @@ public OperationsProcessor(IOperationProcessorAccessor operationProcessorAccesso
108108
_targetedFields.CopyFrom(operation.TargetedFields);
109109
_request.CopyFrom(operation.Request);
110110

111-
return _operationProcessorAccessor.ProcessAsync(operation, cancellationToken);
111+
return await _operationProcessorAccessor.ProcessAsync(operation, cancellationToken);
112112
}
113113

114114
protected void TrackLocalIdsForOperation(OperationContainer operation)

src/JsonApiDotNetCore/Controllers/JsonApiController.cs

+20-20
Original file line numberDiff line numberDiff line change
@@ -42,78 +42,78 @@ protected JsonApiController(IJsonApiOptions options, IResourceGraph resourceGrap
4242
/// <inheritdoc />
4343
[HttpGet]
4444
[HttpHead]
45-
public override Task<IActionResult> GetAsync(CancellationToken cancellationToken)
45+
public override async Task<IActionResult> GetAsync(CancellationToken cancellationToken)
4646
{
47-
return base.GetAsync(cancellationToken);
47+
return await base.GetAsync(cancellationToken);
4848
}
4949

5050
/// <inheritdoc />
5151
[HttpGet("{id}")]
5252
[HttpHead("{id}")]
53-
public override Task<IActionResult> GetAsync([Required] TId id, CancellationToken cancellationToken)
53+
public override async Task<IActionResult> GetAsync([Required] TId id, CancellationToken cancellationToken)
5454
{
55-
return base.GetAsync(id, cancellationToken);
55+
return await base.GetAsync(id, cancellationToken);
5656
}
5757

5858
/// <inheritdoc />
5959
[HttpGet("{id}/{relationshipName}")]
6060
[HttpHead("{id}/{relationshipName}")]
61-
public override Task<IActionResult> GetSecondaryAsync([Required] TId id, [Required] string relationshipName, CancellationToken cancellationToken)
61+
public override async Task<IActionResult> GetSecondaryAsync([Required] TId id, [Required] string relationshipName, CancellationToken cancellationToken)
6262
{
63-
return base.GetSecondaryAsync(id, relationshipName, cancellationToken);
63+
return await base.GetSecondaryAsync(id, relationshipName, cancellationToken);
6464
}
6565

6666
/// <inheritdoc />
6767
[HttpGet("{id}/relationships/{relationshipName}")]
6868
[HttpHead("{id}/relationships/{relationshipName}")]
69-
public override Task<IActionResult> GetRelationshipAsync([Required] TId id, [Required] string relationshipName, CancellationToken cancellationToken)
69+
public override async Task<IActionResult> GetRelationshipAsync([Required] TId id, [Required] string relationshipName, CancellationToken cancellationToken)
7070
{
71-
return base.GetRelationshipAsync(id, relationshipName, cancellationToken);
71+
return await base.GetRelationshipAsync(id, relationshipName, cancellationToken);
7272
}
7373

7474
/// <inheritdoc />
7575
[HttpPost]
76-
public override Task<IActionResult> PostAsync([Required] TResource resource, CancellationToken cancellationToken)
76+
public override async Task<IActionResult> PostAsync([Required] TResource resource, CancellationToken cancellationToken)
7777
{
78-
return base.PostAsync(resource, cancellationToken);
78+
return await base.PostAsync(resource, cancellationToken);
7979
}
8080

8181
/// <inheritdoc />
8282
[HttpPost("{id}/relationships/{relationshipName}")]
83-
public override Task<IActionResult> PostRelationshipAsync([Required] TId id, [Required] string relationshipName,
83+
public override async Task<IActionResult> PostRelationshipAsync([Required] TId id, [Required] string relationshipName,
8484
[Required] ISet<IIdentifiable> rightResourceIds, CancellationToken cancellationToken)
8585
{
86-
return base.PostRelationshipAsync(id, relationshipName, rightResourceIds, cancellationToken);
86+
return await base.PostRelationshipAsync(id, relationshipName, rightResourceIds, cancellationToken);
8787
}
8888

8989
/// <inheritdoc />
9090
[HttpPatch("{id}")]
91-
public override Task<IActionResult> PatchAsync([Required] TId id, [Required] TResource resource, CancellationToken cancellationToken)
91+
public override async Task<IActionResult> PatchAsync([Required] TId id, [Required] TResource resource, CancellationToken cancellationToken)
9292
{
93-
return base.PatchAsync(id, resource, cancellationToken);
93+
return await base.PatchAsync(id, resource, cancellationToken);
9494
}
9595

9696
/// <inheritdoc />
9797
[HttpPatch("{id}/relationships/{relationshipName}")]
9898
// Parameter `[Required] object? rightValue` makes Swashbuckle generate the OpenAPI request body as required. We don't actually validate ModelState, so it doesn't hurt.
99-
public override Task<IActionResult> PatchRelationshipAsync([Required] TId id, [Required] string relationshipName, [Required] object? rightValue,
99+
public override async Task<IActionResult> PatchRelationshipAsync([Required] TId id, [Required] string relationshipName, [Required] object? rightValue,
100100
CancellationToken cancellationToken)
101101
{
102-
return base.PatchRelationshipAsync(id, relationshipName, rightValue, cancellationToken);
102+
return await base.PatchRelationshipAsync(id, relationshipName, rightValue, cancellationToken);
103103
}
104104

105105
/// <inheritdoc />
106106
[HttpDelete("{id}")]
107-
public override Task<IActionResult> DeleteAsync([Required] TId id, CancellationToken cancellationToken)
107+
public override async Task<IActionResult> DeleteAsync([Required] TId id, CancellationToken cancellationToken)
108108
{
109-
return base.DeleteAsync(id, cancellationToken);
109+
return await base.DeleteAsync(id, cancellationToken);
110110
}
111111

112112
/// <inheritdoc />
113113
[HttpDelete("{id}/relationships/{relationshipName}")]
114-
public override Task<IActionResult> DeleteRelationshipAsync([Required] TId id, [Required] string relationshipName,
114+
public override async Task<IActionResult> DeleteRelationshipAsync([Required] TId id, [Required] string relationshipName,
115115
[Required] ISet<IIdentifiable> rightResourceIds, CancellationToken cancellationToken)
116116
{
117-
return base.DeleteRelationshipAsync(id, relationshipName, rightResourceIds, cancellationToken);
117+
return await base.DeleteRelationshipAsync(id, relationshipName, rightResourceIds, cancellationToken);
118118
}
119119
}

src/JsonApiDotNetCore/Controllers/JsonApiOperationsController.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public abstract class JsonApiOperationsController(
1818
{
1919
/// <inheritdoc />
2020
[HttpPost]
21-
public override Task<IActionResult> PostOperationsAsync([Required] IList<OperationContainer> operations, CancellationToken cancellationToken)
21+
public override async Task<IActionResult> PostOperationsAsync([Required] IList<OperationContainer> operations, CancellationToken cancellationToken)
2222
{
23-
return base.PostOperationsAsync(operations, cancellationToken);
23+
return await base.PostOperationsAsync(operations, cancellationToken);
2424
}
2525
}

src/JsonApiDotNetCore/Middleware/JsonApiOutputFormatter.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ public bool CanWriteResult(OutputFormatterCanWriteContext context)
1616
}
1717

1818
/// <inheritdoc />
19-
public Task WriteAsync(OutputFormatterWriteContext context)
19+
public async Task WriteAsync(OutputFormatterWriteContext context)
2020
{
2121
ArgumentGuard.NotNull(context);
2222

2323
var writer = context.HttpContext.RequestServices.GetRequiredService<IJsonApiWriter>();
24-
return writer.WriteAsync(context.Object, context.HttpContext);
24+
await writer.WriteAsync(context.Object, context.HttpContext);
2525
}
2626
}

src/JsonApiDotNetCore/Serialization/Response/JsonApiWriter.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,22 @@ public JsonApiWriter(IJsonApiRequest request, IJsonApiOptions options, IResponse
4444
}
4545

4646
/// <inheritdoc />
47-
public Task WriteAsync(object? model, HttpContext httpContext)
47+
public async Task WriteAsync(object? model, HttpContext httpContext)
4848
{
4949
ArgumentGuard.NotNull(httpContext);
5050

5151
if (model == null && !CanWriteBody((HttpStatusCode)httpContext.Response.StatusCode))
5252
{
5353
// Prevent exception from Kestrel server, caused by writing data:null json response.
54-
return Task.CompletedTask;
54+
return;
5555
}
5656

5757
string? responseBody = GetResponseBody(model, httpContext);
5858

5959
if (httpContext.Request.Method == HttpMethod.Head.Method)
6060
{
6161
httpContext.Response.GetTypedHeaders().ContentLength = responseBody == null ? 0 : Encoding.UTF8.GetByteCount(responseBody);
62-
return Task.CompletedTask;
62+
return;
6363
}
6464

6565
_traceWriter.LogMessage(() =>
@@ -70,7 +70,7 @@ public Task WriteAsync(object? model, HttpContext httpContext)
7070
return $"Sending {httpContext.Response.StatusCode} response for {method} request at '{url}' with body: <<{responseBody}>>";
7171
});
7272

73-
return SendResponseBodyAsync(httpContext.Response, responseBody);
73+
await SendResponseBodyAsync(httpContext.Response, responseBody);
7474
}
7575

7676
private static bool CanWriteBody(HttpStatusCode statusCode)

src/JsonApiDotNetCore/Services/JsonApiResourceService.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -244,19 +244,19 @@ protected async Task AssertPrimaryResourceDoesNotExistAsync(TResource resource,
244244
}
245245
}
246246

247-
protected virtual Task InitializeResourceAsync(TResource resourceForDatabase, CancellationToken cancellationToken)
247+
protected virtual async Task InitializeResourceAsync(TResource resourceForDatabase, CancellationToken cancellationToken)
248248
{
249-
return _resourceDefinitionAccessor.OnPrepareWriteAsync(resourceForDatabase, WriteOperationKind.CreateResource, cancellationToken);
249+
await _resourceDefinitionAccessor.OnPrepareWriteAsync(resourceForDatabase, WriteOperationKind.CreateResource, cancellationToken);
250250
}
251251

252-
private Task AccurizeResourceTypesInHierarchyToAssignInRelationshipsAsync(TResource primaryResource, CancellationToken cancellationToken)
252+
private async Task AccurizeResourceTypesInHierarchyToAssignInRelationshipsAsync(TResource primaryResource, CancellationToken cancellationToken)
253253
{
254-
return ValidateResourcesToAssignInRelationshipsExistWithRefreshAsync(primaryResource, true, cancellationToken);
254+
await ValidateResourcesToAssignInRelationshipsExistWithRefreshAsync(primaryResource, true, cancellationToken);
255255
}
256256

257-
protected Task AssertResourcesToAssignInRelationshipsExistAsync(TResource primaryResource, CancellationToken cancellationToken)
257+
protected async Task AssertResourcesToAssignInRelationshipsExistAsync(TResource primaryResource, CancellationToken cancellationToken)
258258
{
259-
return ValidateResourcesToAssignInRelationshipsExistWithRefreshAsync(primaryResource, false, cancellationToken);
259+
await ValidateResourcesToAssignInRelationshipsExistWithRefreshAsync(primaryResource, false, cancellationToken);
260260
}
261261

262262
private async Task ValidateResourcesToAssignInRelationshipsExistWithRefreshAsync(TResource primaryResource, bool onlyIfTypeHierarchy,

test/DapperTests/IntegrationTests/AtomicOperations/AtomicOperationsTests.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,10 @@ public async Task Can_rollback_on_error()
421421

422422
const string personLocalId = "new-person";
423423

424-
await _testContext.RunOnDatabaseAsync(dbContext => _testContext.ClearAllTablesAsync(dbContext));
424+
await _testContext.RunOnDatabaseAsync(async dbContext =>
425+
{
426+
await _testContext.ClearAllTablesAsync(dbContext);
427+
});
425428

426429
var requestBody = new
427430
{

test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/Controllers/CreateMusicTrackOperationsController.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ public sealed class CreateMusicTrackOperationsController(
1818
IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor, IJsonApiRequest request,
1919
ITargetedFields targetedFields) : JsonApiOperationsController(options, resourceGraph, loggerFactory, processor, request, targetedFields)
2020
{
21-
public override Task<IActionResult> PostOperationsAsync(IList<OperationContainer> operations, CancellationToken cancellationToken)
21+
public override async Task<IActionResult> PostOperationsAsync(IList<OperationContainer> operations, CancellationToken cancellationToken)
2222
{
2323
AssertOnlyCreatingMusicTracks(operations);
2424

25-
return base.PostOperationsAsync(operations, cancellationToken);
25+
return await base.PostOperationsAsync(operations, cancellationToken);
2626
}
2727

2828
private static void AssertOnlyCreatingMusicTracks(IEnumerable<OperationContainer> operations)

test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/ResourceDefinitions/Serialization/AtomicSerializationResourceDefinitionTests.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ public async Task Transforms_on_create_resource_with_side_effects()
4242

4343
List<RecordCompany> newCompanies = _fakers.RecordCompany.Generate(2);
4444

45-
await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTableAsync<RecordCompany>());
45+
await _testContext.RunOnDatabaseAsync(async dbContext =>
46+
{
47+
await dbContext.ClearTableAsync<RecordCompany>();
48+
});
4649

4750
var requestBody = new
4851
{

test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/Transactions/AtomicRollbackTests.cs

+8-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ public async Task Can_rollback_on_error()
2727
DateTimeOffset newBornAt = _fakers.Performer.Generate().BornAt;
2828
string newTitle = _fakers.MusicTrack.Generate().Title;
2929

30-
await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTablesAsync<Performer, MusicTrack>());
30+
await _testContext.RunOnDatabaseAsync(async dbContext =>
31+
{
32+
await dbContext.ClearTablesAsync<Performer, MusicTrack>();
33+
});
3134

3235
string unknownPerformerId = Unknown.StringId.For<Performer, int>();
3336

@@ -110,7 +113,10 @@ public async Task Can_restore_to_previous_savepoint_on_error()
110113
// Arrange
111114
string newTrackTitle = _fakers.MusicTrack.Generate().Title;
112115

113-
await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTablesAsync<Performer, MusicTrack>());
116+
await _testContext.RunOnDatabaseAsync(async dbContext =>
117+
{
118+
await dbContext.ClearTablesAsync<Performer, MusicTrack>();
119+
});
114120

115121
const string trackLid = "track-1";
116122

test/JsonApiDotNetCoreTests/IntegrationTests/Meta/ResponseMetaTests.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ public ResponseMetaTests(IntegrationTestContext<TestableStartup<MetaDbContext>,
2929
public async Task Returns_top_level_meta()
3030
{
3131
// Arrange
32-
await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTableAsync<SupportTicket>());
32+
await _testContext.RunOnDatabaseAsync(async dbContext =>
33+
{
34+
await dbContext.ClearTableAsync<SupportTicket>();
35+
});
3336

3437
const string route = "/supportTickets";
3538

test/JsonApiDotNetCoreTests/IntegrationTests/Meta/TopLevelCountTests.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,10 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
8383
public async Task Renders_resource_count_for_empty_collection()
8484
{
8585
// Arrange
86-
await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTableAsync<SupportTicket>());
86+
await _testContext.RunOnDatabaseAsync(async dbContext =>
87+
{
88+
await dbContext.ClearTableAsync<SupportTicket>();
89+
});
8790

8891
const string route = "/supportTickets";
8992

test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/MessagingGroupDefinition.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ protected async Task FinishWriteAsync(DomainGroup group, WriteOperationKind writ
166166

167167
protected abstract Task FlushMessageAsync(OutgoingMessage message, CancellationToken cancellationToken);
168168

169-
protected virtual Task<DomainGroup?> GetGroupToDeleteAsync(Guid groupId, CancellationToken cancellationToken)
169+
protected virtual async Task<DomainGroup?> GetGroupToDeleteAsync(Guid groupId, CancellationToken cancellationToken)
170170
{
171-
return _groupSet.Include(group => group.Users).FirstOrDefaultAsync(group => group.Id == groupId, cancellationToken);
171+
return await _groupSet.Include(group => group.Users).FirstOrDefaultAsync(group => group.Id == groupId, cancellationToken);
172172
}
173173
}

test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/MessagingUserDefinition.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ protected async Task FinishWriteAsync(DomainUser user, WriteOperationKind writeO
113113

114114
protected abstract Task FlushMessageAsync(OutgoingMessage message, CancellationToken cancellationToken);
115115

116-
protected virtual Task<DomainUser?> GetUserToDeleteAsync(Guid userId, CancellationToken cancellationToken)
116+
protected virtual async Task<DomainUser?> GetUserToDeleteAsync(Guid userId, CancellationToken cancellationToken)
117117
{
118-
return _userSet.Include(domainUser => domainUser.Group).FirstOrDefaultAsync(domainUser => domainUser.Id == userId, cancellationToken);
118+
return await _userSet.Include(domainUser => domainUser.Group).FirstOrDefaultAsync(domainUser => domainUser.Id == userId, cancellationToken);
119119
}
120120
}

test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/TransactionalOutboxPattern/OutboxTests.Group.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ public async Task Create_group_writes_to_outbox()
1919

2020
string newGroupName = _fakers.DomainGroup.Generate().Name;
2121

22-
await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTableAsync<OutgoingMessage>());
22+
await _testContext.RunOnDatabaseAsync(async dbContext =>
23+
{
24+
await dbContext.ClearTableAsync<OutgoingMessage>();
25+
});
2326

2427
var requestBody = new
2528
{

test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/TransactionalOutboxPattern/OutboxTests.User.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ public async Task Create_user_writes_to_outbox()
2020
string newLoginName = _fakers.DomainUser.Generate().LoginName;
2121
string newDisplayName = _fakers.DomainUser.Generate().DisplayName!;
2222

23-
await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTableAsync<OutgoingMessage>());
23+
await _testContext.RunOnDatabaseAsync(async dbContext =>
24+
{
25+
await dbContext.ClearTableAsync<OutgoingMessage>();
26+
});
2427

2528
var requestBody = new
2629
{

test/JsonApiDotNetCoreTests/IntegrationTests/SoftDeletion/SoftDeletionAwareResourceService.cs

+6-4
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,16 @@ public override async Task AddToToManyRelationshipAsync(TId leftId, string relat
7373
await base.AddToToManyRelationshipAsync(leftId, relationshipName, rightResourceIds, cancellationToken);
7474
}
7575

76-
public override Task DeleteAsync(TId id, CancellationToken cancellationToken)
76+
public override async Task DeleteAsync(TId id, CancellationToken cancellationToken)
7777
{
7878
if (IsSoftDeletable(typeof(TResource)))
7979
{
80-
return SoftDeleteAsync(id, cancellationToken);
80+
await SoftDeleteAsync(id, cancellationToken);
81+
}
82+
else
83+
{
84+
await base.DeleteAsync(id, cancellationToken);
8185
}
82-
83-
return base.DeleteAsync(id, cancellationToken);
8486
}
8587

8688
private async Task SoftDeleteAsync(TId id, CancellationToken cancellationToken)

0 commit comments

Comments
 (0)