Ejemplo n.º 1
0
        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())));
        }
Ejemplo n.º 2
0
        private void FillTreeView()
        {
            treeView1.Nodes.Clear();
            var bigNodes = ConditionsUtility.GenerateNodesFromList(servCondi.GetAll());

            foreach (var item in bigNodes)
            {
                treeView1.Nodes.Add(item);
            }
        }
Ejemplo n.º 3
0
        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));
 }