public override ValidationResult Validate() { string message = _validationObject switch { GetUserResourceUsageReportModel model => ValidateGetUserResourceUsageReportModel(model), GetResourceUsageReportForJobModel model => ValidateGetResourceUsageReportForJobModel(model), GetUserGroupResourceUsageReportModel model => ValidateGetUserGroupResourceUsageReportModel(model), ListAdaptorUserGroupsModel model => ValidateListAdaptorUserGroupsModel(model), _ => string.Empty }; return(new ValidationResult(string.IsNullOrEmpty(message), message)); }
public IActionResult GetUserResourceUsageReport(GetUserResourceUsageReportModel model) { try { _logger.LogDebug($"Endpoint: \"JobReporting\" Method: \"GetUserResourceUsageReport\" Parameters: \"{model}\""); ValidationResult validationResult = new JobReportingValidator(model).Validate(); if (!validationResult.IsValid) { ExceptionHandler.ThrowProperExternalException(new InputValidationException(validationResult.Message)); } return(Ok(_service.GetUserResourceUsageReport(model.UserId, model.StartTime, model.EndTime, model.SessionCode))); } catch (Exception e) { return(BadRequest(e.Message)); } }
private string ValidateGetUserResourceUsageReportModel(GetUserResourceUsageReportModel validationObj) { ValidateId(validationObj.UserId, nameof(validationObj.UserId)); if (validationObj.StartTime > validationObj.EndTime) { _messageBuilder.AppendLine("StartTime must be before EndTime"); } ValidationResult validationResult = new SessionCodeValidator(validationObj.SessionCode).Validate(); if (!validationResult.IsValid) { _messageBuilder.AppendLine(validationResult.Message); } return(_messageBuilder.ToString()); }