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); } }
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)); }
protected void BindList(EmailLogCollection coll) { dgLogs.ItemDataBound += dgLogs_ItemDataBound; dgLogs.DataSource = coll; dgLogs.DataBind(); Master.DisableViewState(dgLogs); lblTotal.Text = dgLogs.VirtualItemCount.ToString(); }
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(); }