protected virtual IEnumerable <KeyBehaviorCacheEntry> FilterKeyBehaviorCacheEntries(KeyBehaviorCache keyBehaviorCache) { Assert.ArgumentNotNull(keyBehaviorCache, "keyBehaviorCache"); IEnumerable <KeyBehaviorCacheEntry> keyBehaviorCacheEntries = keyBehaviorCache.Campaigns.Concat(keyBehaviorCache.Channels).Concat(keyBehaviorCache.CustomValues).Concat(keyBehaviorCache.Goals) .Concat(keyBehaviorCache.Outcomes) .Concat(keyBehaviorCache.PageEvents) .Concat(keyBehaviorCache.Venues); IEnumerable <KeyBehaviorCacheEntry> enumerable = FilterKeyBehaviorCacheEntriesByInteractionConditions(keyBehaviorCacheEntries); if (filterByCustomData) { if (CustomData == null) { Log.Warn("CustomData can not be null", GetType()); return(Enumerable.Empty <KeyBehaviorCacheEntry>()); } enumerable = enumerable.Where(delegate(KeyBehaviorCacheEntry entry) { if (entry.Data != null) { return(ConditionsUtility.CompareStrings(entry.Data, CustomData, CustomDataOperatorId)); } return(false); }); } return(Assert.ResultNotNull(GetKeyBehaviorCacheEntries(keyBehaviorCache).Intersect(enumerable, new KeyBehaviorCacheEntry.KeyBehaviorCacheEntryEqualityComparer()))); }
private void FillTreeView() { treeView1.Nodes.Clear(); var bigNodes = ConditionsUtility.GenerateNodesFromList(servCondi.GetAll()); foreach (var item in bigNodes) { treeView1.Nodes.Add(item); } }
protected virtual IEnumerable <KeyBehaviorCacheEntry> FilterKeyBehaviorCacheEntriesByInteractionConditions(IEnumerable <KeyBehaviorCacheEntry> keyBehaviorCacheEntries) { Assert.ArgumentNotNull(keyBehaviorCacheEntries, "keyBehaviorCacheEntries"); if (ConditionsUtility.GetInt32Comparer(NumberOfElapsedDaysOperatorId) == null) { return(Enumerable.Empty <KeyBehaviorCacheEntry>()); } Func <int, int, bool> numberOfElapsedDaysComparer = ConditionsUtility.GetInt32Comparer(NumberOfElapsedDaysOperatorId); if (numberOfElapsedDaysComparer == null) { return(Enumerable.Empty <KeyBehaviorCacheEntry>()); } Func <int, int, bool> numberOfPastInteractionsComparer = ConditionsUtility.GetInt32Comparer(NumberOfPastInteractionsOperatorId); if (numberOfPastInteractionsComparer == null) { return(Enumerable.Empty <KeyBehaviorCacheEntry>()); } return(Assert.ResultNotNull((from entry in keyBehaviorCacheEntries group entry by new { entry.InteractionId, entry.InteractionStartDateTime } into entries orderby entries.Key.InteractionStartDateTime descending select entries).Where((entries, i) => { if (numberOfPastInteractionsComparer((DateTime.UtcNow - entries.Key.InteractionStartDateTime).Days, NumberOfElapsedDays)) { return numberOfPastInteractionsComparer(i + 2, NumberOfPastInteractions); } return false; }).SelectMany(entries => entries))); }
/// <summary> /// Gets the operator. /// </summary> /// <returns>Returns the condition operator.</returns> protected StringConditionOperator GetOperator() { return(ConditionsUtility.GetStringConditionOperatorById(this.OperatorId)); }
/// <summary> /// Compares the specified value0. /// </summary> /// <param name="value0">The value0.</param> /// <param name="value1">The value1.</param> /// <returns>The boolean.</returns> protected bool Compare(string value0, string value1) { Assert.ArgumentNotNull(value0, "value0"); Assert.ArgumentNotNull(value1, "value1"); return(ConditionsUtility.CompareStrings(value0, value1, this.OperatorId)); }