예제 #1
0
        private static ITextGraphDataCollection GetAggregateHourOfDayDataCollection(IConversation conversation)
        {
            const int hoursPerDay = 24;
            int[] messagesExchangedPerHour = new int[hoursPerDay];

            for (int i = 0; i < hoursPerDay; i++)
            {
                messagesExchangedPerHour[i] = 0;
            }

            foreach (IConversationMessage message in conversation)
            {
                messagesExchangedPerHour[message.Timestamp.Hour]++;
            }

            TextGraphDataCollection dataCollection = new TextGraphDataCollection();
            for (int i = 0; i < hoursPerDay; i++)
            {
                TextGraphData graphData = new TextGraphData(NormalizedSunday.AddHours(i));
                graphData.MessagesTotal = messagesExchangedPerHour[i];
                dataCollection.Add(graphData);
            }

            return dataCollection;
        }
예제 #2
0
        private static ITextGraphDataCollection GetAggregateDayOfWeekDataCollection(IConversation conversation)
        {
            const int daysPerWeek = 7;
            int[] messagesExchangedPerDayOfWeek = new int[daysPerWeek];

            for (int i = 0; i < daysPerWeek; i++)
            {
                messagesExchangedPerDayOfWeek[i] = 0;
            }

            foreach (IConversationMessage message in conversation)
            {
                messagesExchangedPerDayOfWeek[(int)message.Timestamp.DayOfWeek]++;
            }

            TextGraphDataCollection dataCollection = new TextGraphDataCollection();
            for (int i = 0; i < daysPerWeek; i++)
            {
                TextGraphData graphData = new TextGraphData(NormalizedSunday.AddDays(i));
                graphData.MessagesTotal = messagesExchangedPerDayOfWeek[i];
                dataCollection.Add(graphData);
            }

            return dataCollection;
        }