Пример #1
0
        public JsonResult CheckSiteAnalytics()
        {
            try
            {
                SiteAnalytics query = new SiteAnalytics();
                _siteAnalytics = new SiteAnalyticsMgr(mySqlConnectionString);
                DateTime date;
                if (DateTime.TryParse(Request.Params["sa_date"], out date))
                {
                    query.s_sa_date = date.ToString("yyyy-MM-dd");
                    int num = _siteAnalytics.IsExistSiteAnalytics(query);
                    if (num > 0)
                    {
                        return Json(new { success = "true" });
                    }
                }
            }
            catch (Exception ex)
            {

                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
            }
            return Json(new { success = "false" });
        }
Пример #2
0
 public JsonResult DeleteSiteAnalyticsById()
 {
     try
     {
         SiteAnalytics query = new SiteAnalytics();
         if (!string.IsNullOrEmpty(Request.Params["ids"]))
         {
             query.sa_ids = Request.Params["ids"].TrimEnd(',');
         }
         _siteAnalytics = new SiteAnalyticsMgr(mySqlConnectionString);
         if (_siteAnalytics.DeleteSiteAnalytics(query) > 0)
         {
             return Json(new { success = "true" });
         }
         return Json(new { success = "false" });
     }
     catch (Exception ex)
     {
         Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
         logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
         logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
         log.Error(logMessage);
         return Json(new { success = "false" });
     }
 }
Пример #3
0
        public JsonResult SaveSiteAnalytics()
        {
            string json = string.Empty;
            SiteAnalytics query = new SiteAnalytics();
            DateTime date;
            int number = 0;
            float number1 = 0;
            try
            {
                if (!string.IsNullOrEmpty(Request.Params["sa_pageviews"]))
                {
                    if (int.TryParse(Request.Params["sa_pageviews"], out number))
                    {
                        query.sa_pageviews = number;
                    }
                }
                if (!string.IsNullOrEmpty(Request.Params["sa_pages_session"]))
                {
                    if (float.TryParse(Request.Params["sa_pages_session"], out number1))
                    {
                        query.sa_pages_session = number1;
                    }
                }
                if (!string.IsNullOrEmpty(Request.Params["sa_bounce_rate"]))
                {
                    if (float.TryParse(Request.Params["sa_bounce_rate"], out number1))
                    {
                        query.sa_bounce_rate = number1;
                    }
                }
                if (!string.IsNullOrEmpty(Request.Params["sa_avg_session_duration"]))
                {
                    if (float.TryParse(Request.Params["sa_avg_session_duration"], out number1))
                    {
                        query.sa_avg_session_duration = number1;
                    }
                }
                if (!string.IsNullOrEmpty(Request.Params["sa_id"]))
                {
                    query.sa_id = Convert.ToInt32(Request.Params["sa_id"]);
                }

                if (DateTime.TryParse(Request.Params["sa_date"], out date))
                {
                    query.s_sa_date = date.ToString("yyyy-MM-dd");
                }
                if (!string.IsNullOrEmpty(Request.Params["sa_session"]))
                {
                    if (int.TryParse(Request.Params["sa_session"], out number))
                    {
                        query.sa_session = number;
                    }
                }
                if (!string.IsNullOrEmpty(Request.Params["sa_user"]))
                {
                    if (int.TryParse(Request.Params["sa_user"], out number))
                    {
                        query.sa_user = number;
                    }
                }

                query.sa_create_user = (Session["caller"] as Caller).user_id;
                query.sa_create_time=DateTime.Now;
                _siteAnalytics = new SiteAnalyticsMgr(mySqlConnectionString);
                query.sa_modify_user = query.sa_create_user;
                query.sa_modify_time=query.sa_create_time;
                if (query.sa_id == 0)
                {
                    if (_siteAnalytics.InsertSiteAnalytics(query) > 0)
                    {
                        return Json(new { success = "true" });
                    }
                    else
                    {
                        return Json(new { success = "false" });
                    }
                }
                else
                {
                    if (_siteAnalytics.UpdateSiteAnalytics(query) > 0)
                    {
                        return Json(new { success = "true" });
                    }
                    else
                    {
                        return Json(new { success = "false" });
                    }
                }
            }
            catch (Exception ex)
            {

                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                return Json(new { success = "false" });
            }
        }
Пример #4
0
        public void ExportExcel()
        {
            try
            {
                BLL.gigade.Model.SiteAnalytics query = new BLL.gigade.Model.SiteAnalytics();
                _siteAnalytics = new SiteAnalyticsMgr(mySqlConnectionString);
                if (!string.IsNullOrEmpty(Request.Params["search_con"]))
                {
                    query.search_con = Convert.ToInt32(Request.Params["search_con"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["serch_sa_date"]))
                {
                    query.s_sa_date = (Convert.ToDateTime(Request.Params["serch_sa_date"]).ToString("yyyy-MM-dd"));
                }
                DataTable _dt = _siteAnalytics.SiteAnalyticsDt(query);
                DataTable _newDt = new DataTable();
                _newDt.Columns.Add("日索引", typeof(string));
                _newDt.Columns.Add("造訪數", typeof(string));
                _newDt.Columns.Add("使用者", typeof(string));
                _newDt.Columns.Add("瀏覽量", typeof(string));
                _newDt.Columns.Add("單次造訪頁數", typeof(string));
                _newDt.Columns.Add("跳出率", typeof(string));
                _newDt.Columns.Add("平均停留時間(s)", typeof(string));


                for (int i = 0; i < _dt.Rows.Count; i++)
                {
                    DataRow newRow = _newDt.NewRow();
                    newRow[0] = Convert.ToDateTime(_dt.Rows[i]["sa_date"]).ToString("yyyy-MM-dd"); ;
                    newRow[1] = _dt.Rows[i]["sa_session"].ToString();
                    newRow[2] = _dt.Rows[i]["sa_user"].ToString();

                    newRow[3] = _dt.Rows[i]["sa_pageviews"].ToString();
                    newRow[4] = _dt.Rows[i]["sa_pages_session"].ToString();
                    newRow[5] = _dt.Rows[i]["sa_bounce_rate"].ToString();
                    newRow[6] = _dt.Rows[i]["sa_avg_session_duration"].ToString();
                    _newDt.Rows.Add(newRow);
                }
                string fileName = "SiteAnalytics目標對" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
                MemoryStream ms = ExcelHelperXhf.ExportDT(_newDt, "");
                Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
                Response.BinaryWrite(ms.ToArray());
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
            }
        }
Пример #5
0
 public HttpResponseBase ImportExcel()
 {
     string json = string.Empty;
     try
     {
         BLL.gigade.Model.SiteAnalytics query = new BLL.gigade.Model.SiteAnalytics();
         if (Request.Files.Count > 0)
         {
             string path = Request.Params["ImportExcel"];
             HttpPostedFileBase excelFile = Request.Files["ImportExcel"];
             FileManagement fileManagement = new FileManagement();
             string newExcelName = Server.MapPath(excelPath) + "analytics" + fileManagement.NewFileName(excelFile.FileName);
             excelFile.SaveAs(newExcelName);
             NPOI4ExcelHelper helper = new NPOI4ExcelHelper(newExcelName);
             DataTable _dt = helper.ExcelToTableForXLSX();
             _siteAnalytics = new SiteAnalyticsMgr(mySqlConnectionString);
             if (!string.IsNullOrEmpty(Request.Params["search_con"]))
             {
                 query.search_con = Convert.ToInt32(Request.Params["search_con"]);
             }
             if (!string.IsNullOrEmpty(Request.Params["serch_sa_date"]))
             {
                 query.s_sa_date = (Convert.ToDateTime(Request.Params["serch_sa_date"]).ToString("yyyy-MM-dd"));
             }
             json = _siteAnalytics.ImportExcelToDt(_dt);//匯入成功 
         }
     }
     catch (Exception ex)
     {
         Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
         logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
         logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
         log.Error(logMessage);
         json = "{success:false}";
     }
     this.Response.Clear();
     this.Response.Write(json);
     this.Response.End();
     return this.Response;
 }
Пример #6
0
        public HttpResponseBase GetSiteAnalyticsList()
        {
            string json = string.Empty;
            try
            {
                SiteAnalytics query = new BLL.gigade.Model.SiteAnalytics();
                List<SiteAnalytics> store = new List<BLL.gigade.Model.SiteAnalytics>();
                query.Start = Convert.ToInt32(Request.Params["start"] ?? "0");
                query.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");
                int totalCount = 0;
                if (!string.IsNullOrEmpty(Request.Params["search_con"]))
                {
                    query.search_con = Convert.ToInt32(Request.Params["search_con"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["serch_sa_date"]))
                {
                    query.s_sa_date = (Convert.ToDateTime(Request.Params["serch_sa_date"]).ToString("yyyy-MM-dd"));
                }
                _siteAnalytics = new SiteAnalyticsMgr(mySqlConnectionString);
                store = _siteAnalytics.GetSiteAnalyticsList(query, out totalCount);

                foreach (var item in store)
                {
                    item.s_sa_date = (item.sa_date).ToString("yyyy-MM-dd");
                    item.s_sa_create_time = (item.sa_create_time).ToString("yyyy-MM-dd HH:mm:ss");
                    item.sa_modify_time_query = (item.sa_modify_time).ToString("yyyy-MM-dd HH:mm:ss");
                }
                json = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(store, Formatting.Indented) + "}";
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                json = "{success:false,totalCount:0,data:[]}";
            }
            this.Response.Clear();
            this.Response.Write(json.ToString());
            this.Response.End();
            return this.Response;
        }