public ActionResult Index(StatisticsModel model) { if (model.Action == "ClearStatistics") { this.ClearStatistics(); model.Action = ""; return View(CurrentStatistics()); } else { if (model.From != null) { StatisticsModel m = CurrentStatistics(model.From, model.To); return View(m); } else { return View(CurrentStatistics()); } } }
public StatisticsModel CurrentStatistics(DateTime From, DateTime To) { StatisticsModel ret = new StatisticsModel(); var st = DBBase.Context.Statistics.Where(q => q.TimeStamp >= From).Where(s => s.TimeStamp <= To).OrderBy(z=>z.TimeStamp); foreach (var item in st) { DateTime dt = (DateTime)item.TimeStamp; var datestr=dt.ToString("yyyy-MM-dd"); ret.Visitors.Add(new StatisticsModel.Visitor { Date = datestr, IP = item.IP, BrowserInfo = item.UserAgent }); } ret.From = From; // Restore from date for javascript(that work with returned back model) ret.To = To;// Restore from date for javascript(that work with returned back model) return ret; }