private static string FormatMessage(BusinessRuleGroup group, string rule, string script, string compilationError)
 {
     return string.Format("Rule '{1}' form group '{2}' has script fail to compile:{0}{3}{0}{0}{4}",
         Environment.NewLine,
         rule,
         EnumDescriptionHelper.GetDescription(group),
         script, compilationError);
 }
 private static string FormatMessage(BusinessRuleGroup group, string rule,
     string parameter, string expectedType, string receivedType)
 {
     return string.Format("Rule '{1}' form group '{2}' has missmatch parameter [{3}] type:{0}Received parameter type: [{4}]{0}Expected parameter type: [{5}]",
         Environment.NewLine,
         rule,
         EnumDescriptionHelper.GetDescription(group),
         parameter, receivedType, expectedType);
 }
 private static string FormatMessage(BusinessRuleGroup group, string rule,
     IEnumerable<string> receivedParameters, IEnumerable<string> dbParameters)
 {
     return string.Format("Rule '{1}' form group '{2}' has missmatch parameters:{0}Received parameters: [{3}]{0}Database parameters: [{4}]",
         Environment.NewLine,
         rule,
         EnumDescriptionHelper.GetDescription(group),
         string.Join("; ", receivedParameters),
         string.Join("; ", dbParameters));
 }
        public GetBusinessRuleResponse GetRule(BusinessRuleGroup group, string rule)
        {
            var request = new GetBusinessRuleRequest
            {
                Group = group,
                Name = rule
            };

            return GetBusinessRuleAction.Handle(ActionContext, request);
        }
 public BusinessRuleParamtersMissmatchException(BusinessRuleGroup group, string rule,
     IEnumerable<string> receivedParameters, IEnumerable<string> dbParameters, Exception innerException)
     : base(FormatMessage(group, rule, receivedParameters, dbParameters), innerException)
 {
 }
 public BusinessRuleParamterTypeMissmatchException(BusinessRuleGroup group, string rule,
     string parameter, string expectedType, string receivedType, Exception innerException)
     : base(FormatMessage(group, rule, parameter, expectedType, receivedType), innerException)
 {
 }
 public BusinessRuleCompilationException(BusinessRuleGroup group, string rule,
     string script, string compilationError, Exception innerException)
     : base(FormatMessage(group, rule, script, compilationError), innerException)
 {
 }
        public TriggerBusinessRuleResponse TriggerRule(BusinessRuleGroup group, string rule, [FromBody]IDictionary<string, string> parameters)
        {
            var request = new TriggerBusinessRuleRequest
            {
                Group = group,
                Rule = rule,
                Parameters = parameters
            };

            return TriggerBusinessRuleAction.Handle(ActionContext, request);
        }