public async Task <IActionResult> Get(string merchantId) { merchantId = Uri.UnescapeDataString(merchantId); IReadOnlyList <IMerchantConfigurationLine> cfg = await _configurationService.GetByMerchantAsync(merchantId); return(Ok(new ConfigurationModel { Rules = Mapper.Map <IReadOnlyList <LineModel> >(cfg) })); }
public async Task <ValidationResult> ValidateAsync(ValidationContext ctx) { IReadOnlyList <IMerchantConfigurationLine> configuration = await _configurationService.GetByMerchantAsync(ctx.MerchantId); var validationTasks = configuration.Where(x => x.Enabled ?? false).Select(x => { var rule = _componentContext.ResolveNamed <IValidationRule>(x.RuleId); if (rule == null) { throw new ValidationRuleNotFoundException(x.RuleId); } return(rule.ExecuteAsync(ctx, x.RuleInput)); }); return(new ValidationResult { Results = await Task.WhenAll(validationTasks) }); }