public IList <WXFansInteractStatisticsInfo> GetWxFansInteractListNoPage(WXFansStatisticsQuery query)
        {
            IList <WXFansInteractStatisticsInfo> result = new List <WXFansInteractStatisticsInfo>();
            string        format        = "SELECT *,(MsgSendNumbers+MenuClickNumbers) as InteractNumbers,(MsgSendTimes+MenuClickTimes) as InteractTimes FROM Hishop_WXFansInteractStatistics WHERE {0} ORDER BY {1}";
            StringBuilder stringBuilder = new StringBuilder(" 1 = 1 ");
            DateTime      dateTime;

            switch (query.LastConsumeTime)
            {
            case EnumConsumeTime.yesterday:
            {
                StringBuilder stringBuilder6 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddDays(-1.0);
                stringBuilder6.AppendFormat(" AND DATEDIFF(dd,StatisticalDate,'{0}') = 0 ", dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.inOneWeek:
            {
                StringBuilder stringBuilder3 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddDays(-7.0);
                string arg2 = dateTime.ToString("yyyy-MM-dd");
                dateTime = DateTime.Now;
                dateTime = dateTime.Date;
                stringBuilder3.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg2, dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.inTwoWeek:
            {
                StringBuilder stringBuilder4 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddDays(-14.0);
                string arg3 = dateTime.ToString("yyyy-MM-dd");
                dateTime = DateTime.Now;
                dateTime = dateTime.Date;
                stringBuilder4.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg3, dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.inOneMonth:
            {
                StringBuilder stringBuilder5 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddMonths(-1);
                string arg4 = dateTime.ToString("yyyy-MM-dd");
                dateTime = DateTime.Now;
                dateTime = dateTime.Date;
                stringBuilder5.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg4, dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.custom:
                if (query.CustomConsumeStartTime.HasValue && query.CustomConsumeEndTime.HasValue)
                {
                    StringBuilder stringBuilder2 = stringBuilder;
                    dateTime = query.CustomConsumeStartTime.Value;
                    string arg = dateTime.ToString("yyyy-MM-dd");
                    dateTime = query.CustomConsumeEndTime.Value;
                    stringBuilder2.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg, dateTime.ToString("yyyy-MM-dd"));
                }
                break;
            }
            SortAction sortOrder = query.SortOrder;
            string     str       = "StatisticalDate";

            if (!string.IsNullOrEmpty(query.SortBy))
            {
                str = query.SortBy;
            }
            string arg5 = str + " " + ((sortOrder == SortAction.Desc) ? "DESC" : "ASC");

            format = string.Format(format, stringBuilder.ToString(), arg5);
            DbCommand sqlStringCommand = base.database.GetSqlStringCommand(format);

            using (IDataReader objReader = base.database.ExecuteReader(sqlStringCommand))
            {
                result = DataHelper.ReaderToList <WXFansInteractStatisticsInfo>(objReader);
            }
            return(result);
        }
        public PageModel <WXFansInteractStatisticsInfo> GetWxFansInteractList(WXFansStatisticsQuery query)
        {
            StringBuilder stringBuilder = new StringBuilder(" 1 = 1 ");
            DateTime      dateTime;

            switch (query.LastConsumeTime)
            {
            case EnumConsumeTime.yesterday:
            {
                StringBuilder stringBuilder6 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddDays(-1.0);
                stringBuilder6.AppendFormat(" AND DATEDIFF(dd,StatisticalDate,'{0}') = 0 ", dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.inOneWeek:
            {
                StringBuilder stringBuilder3 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddDays(-7.0);
                string arg2 = dateTime.ToString("yyyy-MM-dd");
                dateTime = DateTime.Now;
                dateTime = dateTime.Date;
                stringBuilder3.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg2, dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.inTwoWeek:
            {
                StringBuilder stringBuilder4 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddDays(-14.0);
                string arg3 = dateTime.ToString("yyyy-MM-dd");
                dateTime = DateTime.Now;
                dateTime = dateTime.Date;
                stringBuilder4.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg3, dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.inOneMonth:
            {
                StringBuilder stringBuilder5 = stringBuilder;
                dateTime = DateTime.Now;
                dateTime = dateTime.AddMonths(-1);
                string arg4 = dateTime.ToString("yyyy-MM-dd");
                dateTime = DateTime.Now;
                dateTime = dateTime.Date;
                stringBuilder5.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg4, dateTime.ToString("yyyy-MM-dd"));
                break;
            }

            case EnumConsumeTime.custom:
                if (query.CustomConsumeStartTime.HasValue && query.CustomConsumeEndTime.HasValue)
                {
                    StringBuilder stringBuilder2 = stringBuilder;
                    dateTime = query.CustomConsumeStartTime.Value;
                    string arg = dateTime.ToString("yyyy-MM-dd");
                    dateTime = query.CustomConsumeEndTime.Value;
                    stringBuilder2.AppendFormat(" AND (StatisticalDate BETWEEN '{0}' AND '{1}')", arg, dateTime.ToString("yyyy-MM-dd"));
                }
                break;
            }
            SortAction sortOrder = query.SortOrder;
            string     sortBy    = "StatisticalDate";

            if (!string.IsNullOrEmpty(query.SortBy))
            {
                sortBy = query.SortBy;
            }
            return(DataHelper.PagingByRownumber <WXFansInteractStatisticsInfo>(query.PageIndex, query.PageSize, sortBy, sortOrder, true, "Hishop_WXFansInteractStatistics", "Id", stringBuilder.ToString(), "*,(MsgSendNumbers+MenuClickNumbers) as InteractNumbers,(MsgSendTimes+MenuClickTimes) as InteractTimes"));
        }
Example #3
0
 public static IList <WXFansInteractStatisticsInfo> GetWxFansInteractListNoPage(WXFansStatisticsQuery query)
 {
     return(new WXFansInteractStatisticsDao().GetWxFansInteractListNoPage(query));
 }
Example #4
0
        public void ExportToExcle(object sender, EventArgs e)
        {
            string text = "WXFansInteractReport.xls";
            int    num  = this.hidLastConsumeTime.Value.ToInt(0);

            if (!Enum.IsDefined(typeof(EnumConsumeTime), num))
            {
                num = 1;
            }
            DateTime dateTime = default(DateTime);
            DateTime dateTime2;

            if (!DateTime.TryParse(this.hidStartDate.Value, out dateTime))
            {
                dateTime2 = DateTime.Now;
                dateTime  = dateTime2.AddDays(-1.0);
            }
            DateTime dateTime3 = default(DateTime);

            if (!DateTime.TryParse(this.hidEndDate.Value, out dateTime3))
            {
                dateTime2 = DateTime.Now;
                dateTime3 = dateTime2.AddDays(-1.0);
            }
            EnumConsumeTime lastConsumeTime;

            switch (num)
            {
            case 8:
                if (dateTime3 < dateTime)
                {
                    this.ShowMsg("错误的时间范围", false);
                    return;
                }
                lastConsumeTime = EnumConsumeTime.custom;
                text            = "WXFansInteractReport" + dateTime.ToString("yyyyMMdd") + "-" + dateTime3.ToString("yyyyMMdd") + ".xls";
                break;

            case 4:
            {
                dateTime2       = DateTime.Now;
                dateTime2       = dateTime2.Date;
                dateTime3       = dateTime2.AddDays(-1.0);
                dateTime        = dateTime3.AddDays(-30.0);
                lastConsumeTime = EnumConsumeTime.inOneMonth;
                string[] obj2 = new string[5]
                {
                    "WXFansInteractReport",
                    dateTime.ToString("yyyyMMdd"),
                    "-",
                    null,
                    null
                };
                dateTime2 = dateTime3.AddDays(-1.0);
                obj2[3]   = dateTime2.ToString("yyyyMMdd");
                obj2[4]   = ".xls";
                text      = string.Concat(obj2);
                break;
            }

            case 2:
            {
                dateTime2       = DateTime.Now;
                dateTime2       = dateTime2.Date;
                dateTime3       = dateTime2.AddDays(-1.0);
                dateTime        = dateTime3.AddDays(-7.0);
                lastConsumeTime = EnumConsumeTime.inOneWeek;
                string[] obj = new string[5]
                {
                    "WXFansInteractReport",
                    dateTime.ToString("yyyyMMdd"),
                    "-",
                    null,
                    null
                };
                dateTime2 = dateTime3.AddDays(-1.0);
                obj[3]    = dateTime2.ToString("yyyyMMdd");
                obj[4]    = ".xls";
                text      = string.Concat(obj);
                break;
            }

            default:
                dateTime2       = DateTime.Now;
                dateTime2       = dateTime2.Date;
                dateTime3       = dateTime2.AddDays(-1.0);
                dateTime2       = DateTime.Now;
                dateTime2       = dateTime2.Date;
                dateTime3       = dateTime2.AddDays(-1.0);
                lastConsumeTime = EnumConsumeTime.yesterday;
                text            = "WXFansInteractReport" + dateTime.ToString("yyyyMMdd") + ".xls";
                break;
            }
            WXFansStatisticsQuery wXFansStatisticsQuery = new WXFansStatisticsQuery();

            wXFansStatisticsQuery.CustomConsumeEndTime   = dateTime3;
            wXFansStatisticsQuery.CustomConsumeStartTime = dateTime;
            wXFansStatisticsQuery.LastConsumeTime        = lastConsumeTime;
            IList <WXFansInteractStatisticsInfo> wxFansInteractListNoPage = WXFansHelper.GetWxFansInteractListNoPage(wXFansStatisticsQuery);
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendLine("<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">");
            stringBuilder.AppendLine("<tr style=\"font-weight: bold; white-space: nowrap;\">");
            stringBuilder.AppendLine("<td>日期</td>");
            stringBuilder.AppendLine("<td>互动人数</td>");
            stringBuilder.AppendLine("<td>互动次数</td>");
            stringBuilder.AppendLine("<td>菜单点击次数</td>");
            stringBuilder.AppendLine("<td>消息发送次数</td>");
            stringBuilder.AppendLine("</tr>");
            foreach (WXFansInteractStatisticsInfo item in wxFansInteractListNoPage)
            {
                stringBuilder.AppendLine("<tr>");
                StringBuilder stringBuilder2 = stringBuilder;
                dateTime2 = item.StatisticalDate;
                stringBuilder2.AppendLine("<td>" + dateTime2.ToString("yyyy-MM-dd") + "</td>");
                stringBuilder.AppendLine("<td style=\"vnd.ms-excel.numberformat:@\">" + item.InteractNumbers + "</td>");
                stringBuilder.AppendLine("<td style=\"vnd.ms-excel.numberformat:@\">" + item.InteractTimes + "</td>");
                stringBuilder.AppendLine("<td style=\"vnd.ms-excel.numberformat:@\">" + item.MenuClickTimes + "</td>");
                stringBuilder.AppendLine("<td style=\"vnd.ms-excel.numberformat:@\">" + item.MsgSendTimes + "</td>");
                stringBuilder.AppendLine("</tr>");
            }
            stringBuilder.AppendLine("</table>");
            this.Page.Response.Clear();
            this.Page.Response.Buffer  = false;
            this.Page.Response.Charset = "UTF-8";
            this.Page.Response.AppendHeader("Content-Disposition", ("attachment;filename=" + text) ?? "");
            this.Page.Response.ContentEncoding = Encoding.GetEncoding("UTF-8");
            this.Page.Response.ContentType     = "application/ms-excel";
            this.Page.EnableViewState          = false;
            this.Page.Response.Write(stringBuilder.ToString());
            this.Page.Response.End();
        }
Example #5
0
 public static PageModel <WXFansInteractStatisticsInfo> GetWxFansInteractList(WXFansStatisticsQuery query)
 {
     return(new WXFansInteractStatisticsDao().GetWxFansInteractList(query));
 }