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); } }
protected void Page_Load(object sender, EventArgs e) { int CurrentPageIndex = 0; if (!int.TryParse(hfCurrentPageIndex_dgLogs.Value, out CurrentPageIndex)) { CurrentPageIndex = 0; } if (CurrentPageIndex < 0) { CurrentPageIndex = 0; } dgLogs.CurrentPageIndex = CurrentPageIndex; action = Request.QueryString[@"action"]; if (action == @"preview") { Int64 EmailLogId = 0; Int64.TryParse(Request.QueryString[@"EmailLogId"], out EmailLogId); EmailLog logItem = EmailLogController.GetLogItem(EmailLogId); if (logItem != null) { Response.Clear(); Response.Write(logItem.Body); Response.End(); return; } } LoadItems(); }
protected void lbDelete_Click(object sender, CommandEventArgs e) { if (e.CommandName.Equals("doDelete")) { if (Permissions.UserHasAnyPermissionIn(SessionHelper.UserId(), "sys_edit_emails")) { Int64 EmailLogId = Convert.ToInt64(e.CommandArgument); EmailLogController.DeleteLog(EmailLogId); Master.MessageCenter.DisplaySuccessMessage(EmailTemplatesStrings.GetText("MessageLogDeleted")); } else { Master.MessageCenter.DisplayWarningMessage(GlobalStrings.GetText(@"NoPermissionsForAction")); } } }
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(); }