private bool CheckConditions() { var userAgent = UserAgentViewModel.DefaultAgentViewModel(); UncheckedRelations = false; var conditonsResult = false; if (IncludedConditions.Any()) { foreach (var condition in IncludedConditions) { conditonsResult = condition.Execute().Invoke(userAgent); if (!UncheckedRelations) { UncheckedRelations = condition.RelatedConditionId > 0; } } } return(conditonsResult); }
private bool CheckPair(int parentId, int childId) { var parentCondition = IncludedConditions.First(item => item.Id == parentId); var childCondition = IncludedConditions.First(item => item.Id == childId); bool result = false; switch (parentCondition.RelationType) { case ConditionRelationType.And: result = parentCondition.Result && childCondition.Result; break; case ConditionRelationType.Or: result = parentCondition.Result || childCondition.Result; break; case ConditionRelationType.None: result = false; break; } return(result); }