protected override List <List <string> > ObjectParseListFillDetailTable <T>(List <T> list, bool isDetailTable) { var tempList = new List <List <string> >(); if (list is List <D_StatDownPositionDistribution> ) { var temp = list as List <D_StatDownPositionDistribution>; long downcountsum = temp.Sum(p => p.DownCount); foreach (D_StatDownPositionDistribution item in temp) { List <string> values = new List <string>(); string pAndP = ""; string positionname = "未知"; if (!string.IsNullOrEmpty(item.PageName)) { if (!string.IsNullOrEmpty(item.PositionName)) { pAndP = item.PageName + "_" + item.PositionName; positionname = item.PositionName; } else { pAndP = item.PageName; } } else { if (!string.IsNullOrEmpty(item.PositionName)) { pAndP = item.PositionName; positionname = item.PositionName; } else { pAndP = "未知"; } } if (isdiffpage == 1) { pAndP = string.IsNullOrEmpty(item.PageType) ? pAndP : pAndP + "_" + item.PageType; } values.Add(pAndP); values.Add(item.ByTag == 1 ? "专辑" : pAndP.Equals("未知")?"0":item.PositionId.ToString()); values.Add(UtilityHelp.FormatNum <long>(item.DownCount, true)); values.Add(UtilityHelp.FormatPercent <double>(item.DownCount * 1.0 / downcountsum, true)); values.Add(UtilityHelp.FormatNum <double>(item.DownCount * 1.0 / diffdays, true)); if (isDetailTable) { values.Add(item.ByTag == 1 ? item.PageType + "_" + Guid.NewGuid().GetHashCode() : item.PositionId.ToString()); values.Add(item.ByTag.ToString()); } tempList.Add(values); } } return(tempList); }
private List <List <string> > GetStringList(List <List <Sjqd_StatRetainedUsers> > lists, int peroid) { var tempList = new List <List <string> >(); //输出表格 foreach (var objs in lists) { var values = new List <string>(); if (peroid != (int)PeriodOptions.Daily) { values.Add(string.Format("{0:yyyy-MM-dd} ~ {1:yyyy-MM-dd}", peroid == (int)PeriodOptions.Weekly ? objs[0].OriginalDate.AddDays(-6) : objs[0].OriginalDate.AddMonths(-1).AddDays(1), objs[0].OriginalDate)); values.Add(UtilityHelp.FormatNum <long>(objs[0].OriginalNewUserCount)); } else { values.Add(objs[0].OriginalDate.ToString("yyyyMMdd")); values.Add(UtilityHelp.FormatNum <long>(objs[0].OriginalNewUserCount)); } List <Sjqd_StatRetainedUsers> objs2 = objs.OrderByDescending(p => p.StatDate).ToList(); for (int index = objs2.Count - 1; index >= 0; index--) { values.Add(UtilityHelp.FormatNum <long>(objs2[index].RetainedUserCount)); values.Add( UtilityHelp.FormatPercent(objs2[index].RetainedUserCount / (double)objs2[index].OriginalNewUserCount)); } if (objs.Count < 6) { for (int ii = 0; ii < 6 - objs.Count; ii++) { values.Add(""); values.Add(""); } } tempList.Add(values); } return(tempList); }