Пример #1
0
        public void SavePageView(ActionExecutedContext filterContext, System.Web.HttpRequestBase request)
        {
            string userId         = UserId ?? "";
            string userName       = UserName ?? "";
            string actionName     = filterContext.ActionDescriptor.ActionName;
            string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            string httpMethod     = request.HttpMethod;

            string urlRefererrerHost = "";
            string UserInfo          = "";

            if (!request.UrlReferrer.IsNull())
            {
                urlRefererrerHost = request.UrlReferrer.Host;
                UserInfo          = request.UrlReferrer.UserInfo;
            }
            string userHostName    = request.UserHostName;
            string userHostAddress = request.UserHostAddress;
            string userAgent       = request.UserAgent;
            string userLanguages   = request.UserLanguages.ConvertToSemiColanString();
            string browserType     = request.Browser.Type;

            bool isAjaxRequest      = request.IsAjaxRequest();
            bool isCrawler          = request.Browser.Crawler;
            bool isMobileDevice     = request.Browser.IsMobileDevice;
            bool isClientWin16Based = request.Browser.Win16;
            bool isClientWin32Based = request.Browser.Win32;

            PageView pv = Factory() as PageView;

            pv.UserId            = userId;
            pv.UserName          = userName;
            pv.ActionName        = actionName;
            pv.ControllerName    = controllerName;
            pv.HttpMethod        = httpMethod;
            pv.UrlRefererrerHost = urlRefererrerHost;
            pv.UserHostName      = userHostName;
            pv.UserHostAddress   = userHostAddress;
            pv.UserInfo          = UserInfo;
            pv.UserAgent         = userAgent;
            pv.UserLanguages     = userLanguages;
            pv.BrowserType       = browserType;

            pv.IsAjaxRequest      = isAjaxRequest;
            pv.IsCrawler          = isCrawler;
            pv.IsMobileDevice     = isMobileDevice;
            pv.IsClientWin16Based = isClientWin16Based;
            pv.IsClientWin32Based = isClientWin32Based;

            pv.Name = pv.MakeName();

            ControllerCreateEditParameter ccep = new ControllerCreateEditParameter();

            ccep.Entity = pv as ICommonWithId;

            try
            {
                CreateAndSave(ccep);
            }
            catch (Exception e)
            {
                ErrorsGlobal.Add("The PageView save failed!", System.Reflection.MethodBase.GetCurrentMethod(), e);
            }
        }