예제 #1
0
        public ActionResult StatisticsTime(int?month)
        {
            if (!month.HasValue)
            {
                Syslog.Write("Unknown statistic request");
                return(Content(""));
            }
            var analytics = new GoogleAnalytics();

            analytics.GetVisitorStatistics(accountHostname, DateTime.UtcNow.AddMonths(month.Value), DateTime.UtcNow);
            var viewdata = new VisitorStatistics(analytics.stats, DateTime.UtcNow.AddMonths(month.Value), DateTime.UtcNow);

            return(View(viewdata));
        }
        public void collectVisitorData(String browserName, String ipAddr, String userAgent, bool isMobileDev, bool isLocalCon, String sessionID)
        {
            HertsOnlineEntities db = new HertsOnlineEntities();
            VisitorStatistics   visitorStatisticsModel = new VisitorStatistics();
            String visitStamp = DateTime.Now.ToString("dd/MM/yyyy H:mm");

            visitorStatisticsModel.UserSession = sessionID;

            if (isLocalCon)
            {
                //local connection
                visitorStatisticsModel.IPAddress = ipAddr;
                visitorStatisticsModel.Country   = "localhost";
            }
            else
            {
                //external connection
                visitorStatisticsModel.IPAddress = ipAddr;
                visitorStatisticsModel.Country   = getVisitorCountry(ipAddr);
            }
            if (isMobileDev)
            {
                //Mobile device
                visitorStatisticsModel.OperatingSystem = getMobileOS(userAgent);
                visitorStatisticsModel.Device          = getMobileDevice(userAgent);
            }
            else
            {
                //Desktop Device
                visitorStatisticsModel.OperatingSystem = getDesktopOS(userAgent);
                visitorStatisticsModel.Device          = "Desktop";
            }
            visitorStatisticsModel.VisitTimeStamp = visitStamp;

            visitorStatisticsModel.BrowserName = browserName;

            db.VisitorStatisticsEntity.Add(visitorStatisticsModel);
            db.SaveChanges();
        }