Skip to content

Commit c8f4902

Browse files
committed
Apply Resharper hint: convert switch statement to expression
1 parent b28c44f commit c8f4902

File tree

5 files changed

+35
-86
lines changed

5 files changed

+35
-86
lines changed

src/JsonApiDotNetCore.SourceGenerators/SourceCodeWriter.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -130,21 +130,12 @@ private void WriteOpenClassDeclaration(string controllerName, JsonApiEndpointsCo
130130

131131
private static string GetControllerBaseClassName(JsonApiEndpointsCopy endpointsToGenerate)
132132
{
133-
switch (endpointsToGenerate)
133+
return endpointsToGenerate switch
134134
{
135-
case JsonApiEndpointsCopy.Query:
136-
{
137-
return "JsonApiQueryController";
138-
}
139-
case JsonApiEndpointsCopy.Command:
140-
{
141-
return "JsonApiCommandController";
142-
}
143-
default:
144-
{
145-
return "JsonApiController";
146-
}
147-
}
135+
JsonApiEndpointsCopy.Query => "JsonApiQueryController",
136+
JsonApiEndpointsCopy.Command => "JsonApiCommandController",
137+
_ => "JsonApiController"
138+
};
148139
}
149140

150141
private void WriteConstructor(string controllerName, INamedTypeSymbol loggerFactoryInterface, JsonApiEndpointsCopy endpointsToGenerate,

src/JsonApiDotNetCore/AtomicOperations/OperationProcessorAccessor.cs

Lines changed: 9 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -40,36 +40,15 @@ protected virtual IOperationProcessor ResolveProcessor(OperationContainer operat
4040

4141
private static Type GetProcessorInterface(WriteOperationKind writeOperation)
4242
{
43-
switch (writeOperation)
43+
return writeOperation switch
4444
{
45-
case WriteOperationKind.CreateResource:
46-
{
47-
return typeof(ICreateProcessor<,>);
48-
}
49-
case WriteOperationKind.UpdateResource:
50-
{
51-
return typeof(IUpdateProcessor<,>);
52-
}
53-
case WriteOperationKind.DeleteResource:
54-
{
55-
return typeof(IDeleteProcessor<,>);
56-
}
57-
case WriteOperationKind.SetRelationship:
58-
{
59-
return typeof(ISetRelationshipProcessor<,>);
60-
}
61-
case WriteOperationKind.AddToRelationship:
62-
{
63-
return typeof(IAddToRelationshipProcessor<,>);
64-
}
65-
case WriteOperationKind.RemoveFromRelationship:
66-
{
67-
return typeof(IRemoveFromRelationshipProcessor<,>);
68-
}
69-
default:
70-
{
71-
throw new NotSupportedException($"Unknown write operation kind '{writeOperation}'.");
72-
}
73-
}
45+
WriteOperationKind.CreateResource => typeof(ICreateProcessor<,>),
46+
WriteOperationKind.UpdateResource => typeof(IUpdateProcessor<,>),
47+
WriteOperationKind.DeleteResource => typeof(IDeleteProcessor<,>),
48+
WriteOperationKind.SetRelationship => typeof(ISetRelationshipProcessor<,>),
49+
WriteOperationKind.AddToRelationship => typeof(IAddToRelationshipProcessor<,>),
50+
WriteOperationKind.RemoveFromRelationship => typeof(IRemoveFromRelationshipProcessor<,>),
51+
_ => throw new NotSupportedException($"Unknown write operation kind '{writeOperation}'.")
52+
};
7453
}
7554
}

src/JsonApiDotNetCore/Middleware/ExceptionHandler.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,19 @@ protected virtual IReadOnlyList<ErrorObject> CreateErrorResponse(Exception excep
7171
{
7272
ArgumentGuard.NotNull(exception);
7373

74-
IReadOnlyList<ErrorObject> errors = exception is JsonApiException jsonApiException ? jsonApiException.Errors :
75-
exception is OperationCanceledException ? new ErrorObject((HttpStatusCode)499)
74+
IReadOnlyList<ErrorObject> errors = exception switch
75+
{
76+
JsonApiException jsonApiException => jsonApiException.Errors,
77+
OperationCanceledException => new ErrorObject((HttpStatusCode)499)
7678
{
7779
Title = "Request execution was canceled."
78-
}.AsArray() : new ErrorObject(HttpStatusCode.InternalServerError)
80+
}.AsArray(),
81+
_ => new ErrorObject(HttpStatusCode.InternalServerError)
7982
{
8083
Title = "An unhandled error occurred while processing this request.",
8184
Detail = exception.Message
82-
}.AsArray();
85+
}.AsArray()
86+
};
8387

8488
if (_options.IncludeExceptionStackTraceInErrors && exception is not InvalidModelStateException)
8589
{

src/JsonApiDotNetCore/Queries/Internal/QueryableBuilding/WhereClauseBuilder.cs

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -191,31 +191,15 @@ public override Expression VisitComparison(ComparisonExpression expression, obje
191191
Expression left = WrapInConvert(Visit(expression.Left, argument), commonType);
192192
Expression right = WrapInConvert(Visit(expression.Right, argument), commonType);
193193

194-
switch (expression.Operator)
194+
return expression.Operator switch
195195
{
196-
case ComparisonOperator.Equals:
197-
{
198-
return Expression.Equal(left, right);
199-
}
200-
case ComparisonOperator.LessThan:
201-
{
202-
return Expression.LessThan(left, right);
203-
}
204-
case ComparisonOperator.LessOrEqual:
205-
{
206-
return Expression.LessThanOrEqual(left, right);
207-
}
208-
case ComparisonOperator.GreaterThan:
209-
{
210-
return Expression.GreaterThan(left, right);
211-
}
212-
case ComparisonOperator.GreaterOrEqual:
213-
{
214-
return Expression.GreaterThanOrEqual(left, right);
215-
}
216-
}
217-
218-
throw new InvalidOperationException($"Unknown comparison operator '{expression.Operator}'.");
196+
ComparisonOperator.Equals => Expression.Equal(left, right),
197+
ComparisonOperator.LessThan => Expression.LessThan(left, right),
198+
ComparisonOperator.LessOrEqual => Expression.LessThanOrEqual(left, right),
199+
ComparisonOperator.GreaterThan => Expression.GreaterThan(left, right),
200+
ComparisonOperator.GreaterOrEqual => Expression.GreaterThanOrEqual(left, right),
201+
_ => throw new InvalidOperationException($"Unknown comparison operator '{expression.Operator}'.")
202+
};
219203
}
220204

221205
private Type ResolveCommonType(QueryExpression left, QueryExpression right)

src/JsonApiDotNetCore/Repositories/EntityFrameworkCoreRepository.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -347,21 +347,12 @@ private NavigationEntry GetNavigationEntry(TResource resource, RelationshipAttri
347347
{
348348
EntityEntry<TResource> entityEntry = _dbContext.Entry(resource);
349349

350-
switch (relationship)
350+
return relationship switch
351351
{
352-
case HasOneAttribute hasOneRelationship:
353-
{
354-
return entityEntry.Reference(hasOneRelationship.Property.Name);
355-
}
356-
case HasManyAttribute hasManyRelationship:
357-
{
358-
return entityEntry.Collection(hasManyRelationship.Property.Name);
359-
}
360-
default:
361-
{
362-
throw new InvalidOperationException($"Unknown relationship type '{relationship.GetType().Name}'.");
363-
}
364-
}
352+
HasOneAttribute hasOneRelationship => entityEntry.Reference(hasOneRelationship.Property.Name),
353+
HasManyAttribute hasManyRelationship => entityEntry.Collection(hasManyRelationship.Property.Name),
354+
_ => throw new InvalidOperationException($"Unknown relationship type '{relationship.GetType().Name}'.")
355+
};
365356
}
366357

367358
private bool RequiresLoadOfRelationshipForDeletion(RelationshipAttribute relationship)

0 commit comments

Comments
 (0)