コード例 #1
0
        protected void LoadItems()
        {
            dgLogs.VirtualItemCount = (int)EmailLogController.GetItemCount();
            if (dgLogs.VirtualItemCount == 0)
            {
                phHasItems.Visible   = false;
                phHasNoItems.Visible = true;
            }
            else
            {
                phHasItems.Visible   = true;
                phHasNoItems.Visible = false;

                int CurrentPageIndex = 0;
                if (!int.TryParse(hfCurrentPageIndex_dgLogs.Value, out CurrentPageIndex))
                {
                    CurrentPageIndex = 0;
                }
                if (CurrentPageIndex < 0)
                {
                    CurrentPageIndex = 0;
                }
                dgLogs.CurrentPageIndex = CurrentPageIndex;

                int limit  = dgLogs.PageSize;
                int offset = dgLogs.CurrentPageIndex * dgLogs.PageSize;

                EmailLogCollection items = EmailLogController.GetLogItems(
                    EmailLog.Columns.DeliveryDate, dg.Sql.SortDirection.DESC,
                    limit, offset);

                BindList(items);
            }
        }
コード例 #2
0
        public static EmailLogCollection GetLogItems(string OrderBy, SortDirection OrderDirection, int limit, int offset)
        {
            Query qry = new Query(EmailLog.TableSchema)
                        .OrderBy(OrderBy, OrderDirection)
                        .LimitRows(limit).OffsetRows(offset);

            return(EmailLogCollection.FetchByQuery(qry));
        }
コード例 #3
0
 protected void BindList(EmailLogCollection coll)
 {
     dgLogs.ItemDataBound += dgLogs_ItemDataBound;
     dgLogs.DataSource     = coll;
     dgLogs.DataBind();
     Master.DisableViewState(dgLogs);
     lblTotal.Text = dgLogs.VirtualItemCount.ToString();
 }
コード例 #4
0
        protected void ExportToExcel(int limit, int offset)
        {
            EmailLogCollection coll = EmailLogController.GetLogItems(EmailLog.Columns.DeliveryDate, dg.Sql.SortDirection.DESC, limit, offset);

            System.Data.DataTable dt = new System.Data.DataTable();

            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("LogNumber"), typeof(Int64)));
            dt.Columns.Add(new System.Data.DataColumn(GlobalStrings.GetText("Date"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(GlobalStrings.GetText("Status"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("Subject"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("From"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("Recipient"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("CC"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("BCC"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("Priority"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("Content"), typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn(EmailTemplatesStrings.GetText("Exception"), typeof(string)));

            foreach (EmailLog item in coll)
            {
                System.Data.DataRow row = dt.NewRow();
                row[0]  = item.EmailLogId;
                row[1]  = item.DeliveryDate.ToString(@"dd/MM/yyyy HH:mm:ss");
                row[2]  = GetStatus(item.Status);
                row[3]  = item.Subject;
                row[4]  = item.FromEmail + (string.IsNullOrEmpty(item.FromName) ? string.Empty : @" - " + item.FromName);
                row[5]  = item.ToList;
                row[6]  = item.CcList;
                row[7]  = item.BccList;
                row[8]  = GetMailPriority(item.MailPriority);
                row[9]  = item.Body.Replace(@"<br />", "\r\n").StripHtml();
                row[10] = item.Exception;
                dt.Rows.Add(row);
            }

            SpreadsheetWriter ex = SpreadsheetWriter.FromDataTable(dt, true, true);

            Response.Clear();
            Response.AddHeader(@"content-disposition", @"attachment;filename=EmailLogsExport_" + DateTime.UtcNow.ToString(@"yyyy_MM_dd_HH_mm_ss") + "." + ex.FileExtension);
            Response.Charset         = @"UTF-8";
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = ex.FileContentType;
            Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
            Response.Write(ex.ToString());
            Response.End();
        }