public void TestMethod1() { var connectionString = "Data Source=mn-dev-db13;Initial Catalog=ornticcorprulespecification;Integrated Security=True"; var repository = new UowRuleSpecificationRepository(connectionString); var testResult = repository.GetSpecificationRules("CPLAgentDisplay", "CPL"); Assert.IsNotNull(testResult); }
private List <SpecificationInfo <T> > GetSpecificationList(string property, string domain) { var connectionString = "Data Source=mn-dev-db13;Initial Catalog=ornticcorprulespecification;Integrated Security=True"; ICollection <RuleSpecificationComposite> specificationRules; var specificationsList = new List <SpecificationInfo <T> >(); using (var repository = new UowRuleSpecificationRepository(connectionString)) { specificationRules = repository.GetSpecificationRules(property, domain); } foreach (var(specificationInfoComposite, specificationInfo) in from specificationInfoComposite in specificationRules let specificationInfo = new SpecificationInfo <T>() select(specificationInfoComposite, specificationInfo)) { specificationInfo.ProcessingRuleId = (int)specificationInfoComposite.Id; if (!Enum.TryParse(specificationInfoComposite.EvaluationOperator, true, out Operator operation)) { continue; } var rule = new Rule(specificationInfoComposite.EvaluationProperty, operation , specificationInfoComposite.EvaluationValue , (int)specificationInfoComposite.Id); var compiledRule = CompileRule <T>(rule); var ruleSpecication = new ExpressionSpecification <T>(compiledRule); specificationInfo.DefaultValue = specificationInfoComposite.DefaultValue; specificationInfo.EvalProperty = specificationInfoComposite.EvaluationProperty; specificationInfo.MainGroup = specificationInfoComposite.MainGroup; specificationInfo.MainJoin = specificationInfoComposite.MainJoin; specificationInfo.ProcessingRuleId = (int)specificationInfoComposite.Id; specificationInfo.RuleProperty = specificationInfoComposite.RuleSpecificationName; specificationInfo.RuleValue = specificationInfoComposite.SpecificationValue; specificationInfo.Specification = ruleSpecication; specificationInfo.SubGroup = specificationInfoComposite.SubGroup; specificationInfo.SubJoin = specificationInfoComposite.SubJoin; specificationsList.Add(specificationInfo); } return(specificationsList); }