private static HttpContent ConstructApplyValidatorBodyFromObject(object obj, string validatorId) { var dataType = CollectionNameDeterminer.GetCollectionName(obj.GetType()); var submitDataBody = new ApplyValidatorBody(dataType, obj, validatorId); return(PostBodyBuilder.ConstructBody(submitDataBody)); }
private static HttpContent ConstructApplyValidatorBodyFromJson(string dataType, string json, string validatorId) { var submitDataBody = new ApplyValidatorBody(dataType, null, validatorId); var submitBodyJsonObject = JObject.FromObject(submitDataBody); submitBodyJsonObject["Data"] = JObject.Parse(json); return(PostBodyBuilder.ConstructBodyFromJObject(submitBodyJsonObject)); }
public async Task <IActionResult> Apply([FromBody] ApplyValidatorBody body) { List <IValidator> matchingValidators; if (!string.IsNullOrEmpty(body.ValidatorId)) { var validator = validatorManager.GetValidator(body.ValidatorId); if (validator == null) { return(NotFound()); } matchingValidators = new List <IValidator> { validator }; } else { matchingValidators = await validatorManager.GetApprovedValidators(body.DataType); } foreach (var validator in matchingValidators) { try { var validationResult = validator.Validate(body.Data.ToString()); if (!validationResult.IsValid) { return(new ContentResult { ContentType = Conventions.JsonContentType, Content = JsonConvert.SerializeObject(validationResult), StatusCode = (int)HttpStatusCode.BadRequest }); } } catch (Exception e) { apiEventLogger.Log(LogLevel.Error, e.ToString()); return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message)); } } return(Ok()); }