public HttpResponseBase EdmContentNewReportList() { string json = string.Empty; try { EdmTrace query = new EdmTrace(); if (!string.IsNullOrEmpty(Request.Params["content_id"])) { query.content_id = Convert.ToInt32(Request.Params["content_id"]); } if (!string.IsNullOrEmpty(Request.Params["log_id"])) { query.log_id = Convert.ToInt32(Request.Params["log_id"]); } query.Start = Convert.ToInt32(Request.Params["start"] ?? "0"); query.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25"); int totalCount = 0; _edmContentNewMgr = new EdmContentNewMgr(mySqlConnectionString); DataTable _dt = _edmContentNewMgr.EdmContentNewReportList(query); _dt.Columns.Add("avgPerson", typeof(string)); _dt.Columns.Add("avgCount", typeof(string)); int totalOpenPerson = 0; int totalOpenCount = 0; for (int i = 0; i < _dt.Rows.Count; i++) { if (_dt.Rows[i]["openPerson"] != "") { totalOpenPerson += Convert.ToInt32(_dt.Rows[i]["openPerson"]); } if (_dt.Rows[i]["openCount"] != "") { totalOpenCount += Convert.ToInt32(_dt.Rows[i]["openCount"]); } } for (int i = 0; i < _dt.Rows.Count; i++) { //Math.Round((double)item.total_person / sum_total_person * 100, 2); if (_dt.Rows[i]["openPerson"] != "") { _dt.Rows[i]["avgPerson"] = Math.Round((double)Convert.ToInt32(_dt.Rows[i]["openPerson"]) / totalOpenPerson * 100, 2) + "%"; } if (_dt.Rows[i]["openCount"] != "") { _dt.Rows[i]["avgCount"] = Math.Round((double)Convert.ToInt32(_dt.Rows[i]["openCount"]) / totalOpenCount * 100, 2) + "%"; } } IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; json = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(_dt, Formatting.Indented, timeConverter) + "}"; } 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); this.Response.End(); return this.Response; }