The next generation of the Teknik Services. Written in ASP.NET. https://www.teknik.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

96 lines
3.9 KiB

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Teknik.Configuration;
namespace Teknik.Tracking
{
public static class Reporting
{
public static List<VisitorData> GetVisitSummaryByDays(Config config, int days)
{
List<VisitorData> visitorData = new List<VisitorData>();
try
{
if (config.PiwikConfig.Enabled)
{
//PiwikAnalytics.URL = config.PiwikConfig.API;
//VisitsSummary visitSummary = new VisitsSummary();
//visitSummary.setTokenAuth(config.PiwikConfig.TokenAuth);
//Hashtable results = visitSummary.Get(
// config.PiwikConfig.SiteId,
// PiwikPeriod.DAY,
// RelativeRangeDate.LAST(days)
// );
//foreach (string period in results.Keys)
//{
// // Create a new object to return
// VisitorData data = new VisitorData();
// // Set Period Date
// DateTime date = new DateTime(1900, 1, 1);
// DateTime.TryParse(period, out date);
// data.Date = date;
// // Pull Out Data
// if (results[period].GetType() == typeof(Hashtable))
// {
// Hashtable result = (Hashtable) results[period];
// int UniqueVisitors = 0;
// int.TryParse(result["nb_uniq_visitors"].ToString(), out UniqueVisitors);
// data.UniqueVisitors = UniqueVisitors;
// int visits = 0;
// int.TryParse(result[VisitsSummary.NB_VISITS].ToString(), out visits);
// data.Visits = visits;
// int VisitsConverted = 0;
// int.TryParse(result[VisitsSummary.NB_VISITS_CONVERTED].ToString(), out VisitsConverted);
// data.VisitsConverted = VisitsConverted;
// int Actions = 0;
// int.TryParse(result[VisitsSummary.NB_ACTIONS].ToString(), out Actions);
// data.Actions = Actions;
// decimal ActionsPerVisit = 0;
// decimal.TryParse(result[VisitsSummary.NB_ACTIONS_PER_VISIT].ToString(), out ActionsPerVisit);
// data.ActionsPerVisit = ActionsPerVisit;
// int MaxActions = 0;
// int.TryParse(result[VisitsSummary.MAX_ACTIONS].ToString(), out MaxActions);
// data.MaxActions = MaxActions;
// int BounceCount = 0;
// int.TryParse(result[VisitsSummary.BOUNCE_COUNT].ToString(), out BounceCount);
// data.BounceCount = BounceCount;
// data.BounceRate = result[VisitsSummary.BOUNCE_RATE].ToString();
// int AverageTimeOnSite = 0;
// int.TryParse(result[VisitsSummary.AVG_TIME_ON_SITE].ToString(), out AverageTimeOnSite);
// data.AverageTimeOnSite = AverageTimeOnSite;
// int VisitLengthTotal = 0;
// int.TryParse(result[VisitsSummary.SUM_VISIT_LENGTH].ToString(), out VisitLengthTotal);
// data.VisitLengthTotal = VisitLengthTotal;
// }
// visitorData.Add(data);
//}
}
}
catch (Exception)
{
}
return visitorData;
}
}
}