public RankRequirement(QualificationResponse qualification, IRankRequirementDefinition definition) { //var actualValue = qualification.Actual; //if(actualValue.CanBeParsedAs<Decimal>()) //{ // actualValue = actualValue.ToString(CultureInfo.CurrentCulture); //} QualificationResponse = qualification; RequiredValue = qualification.Required; ActualValue = qualification.Actual; IsOverridden = (qualification.QualifiesOverride != null) ? Convert.ToBoolean(qualification.QualifiesOverride) : false; QualifiedValue = qualification.Qualifies; Label = definition.Label; RequirementDescription = definition.RequirementDescription; QualifiedDescription = definition.QualifiedDescription; NotQualifiedDescription = definition.NotQualifiedDescription; IsBoolean = definition.Type == RankQualificationType.Boolean; Expression = definition.Expression; }
private static RankRequirement GetRequirement(QualificationResponse[] qualifications, IRankRequirementDefinition definition) { Regex regex = new Regex(definition.Expression); QualificationResponse qualification = null; qualification = (from q in qualifications let description = q.QualificationDescription.ToUpper() let matches = regex.Matches(description) where matches.Count > 0 select q).FirstOrDefault(); if (qualification != null) { return new RankRequirement(qualification, definition); } else { return null; } }