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)
            }));
        }
Ejemplo n.º 2
0
        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)
            });
        }