I have to throw custom exceptions when validating properties, based on model state, in many of the actions the code is repetive.
How can this be refactored ?
Example of current code
[HttpGet("{jobId}/employeeLog")]
public async Task<IActionResult> GetFileLog(Guid jobId,
[FromQuery] Guid employeeId,
[SkipAndTopFromQuery] int? skip,
[SkipAndTopFromQuery] int? top,
[FromHeader(Name = "X-Correlation-ID")] string correlationId)
{
var employeeIdToValidate = ModelState["employeeId"];
var jobIdToValidate = ModelState["jobId"];
if (employeeIdToValidate == null || employeeIdToValidate != null && employeeIdToValidate.Errors.Any())
throw new InvalidFileIdException();
if (jobIdToValidate == null || jobIdToValidate != null && jobIdToValidate.Errors.Any())
throw new InvalidApplicationIdException();
if (!ModelState.IsValid)
return StatusCode((int)HttpStatusCode.BadRequest);
....
}