public ActionResult MostViewed(Models.Filter filter) { int itemCount = 20; filter = SetFilterDefaults(filter); var data = FilteredVisits(filter).GroupBy(v => v.Location).Select(g => new Models.Aggregate() { Location = g.Key, Count = g.Count() }).OrderByDescending(a => a.Count).Take(itemCount).ToList(); Models.CurrentList <Models.Aggregate> model = new Models.CurrentList <Models.Aggregate>() { Title = "Most Viewed", Filter = filter, Data = data }; return(FindView("AggregatesList", model)); }
public ActionResult Index(Models.Filter filter) { filter = SetFilterDefaults(filter); List <string> websites = null; if (String.IsNullOrEmpty(filter.Website)) { websites = db.Analytics_Visits.Select(v => v.Website).Distinct().ToList(); } else { websites = db.Analytics_Visits.Where(v => v.Website == filter.Website).Select(v => v.Website).Distinct().ToList(); } Models.CurrentList <string> model = new Models.CurrentList <string>() { Filter = filter, Data = websites }; return(FindView("Index", model)); }
public ActionResult Aggregates_Visits(Models.Filter filter) { filter = SetFilterDefaults(filter); if (null == filter.EndDate) { filter.EndDate = DateTime.Now; } if (null == filter.StartDate) { filter.StartDate = filter.EndDate.Value.AddDays(-35); } var aggregates = db.GetVisitsByDay(filter); Models.CurrentList <Models.Aggregate> model = new Models.CurrentList <Models.Aggregate>() { Title = "Page Views", Filter = filter, Data = aggregates }; return(FindView("Aggregates", model)); }