protected void MailPreviewPanel_Callback(object sender, CallbackEventArgsBase e) { int id; var text = string.Format(NotFoundMessageFormat, e.Parameter); if (int.TryParse(e.Parameter, out id)) { MessageBL bl = new MessageBL(); var Messages = bl.GetAllMessages(User.Identity.Name); var message = Messages.FirstOrDefault(m => m.ID == id); if (message != null) { bl.MarkMessagesAs(true, new int[] { id }); var subject = message.Subject; if (message.IsReply) { subject = "Re: " + subject; } text = string.Format(PreviewMessageFormat, subject, message.From, message.To, message.Date, message.Text); } } MailPreviewPanel.Controls.Add(new LiteralControl(text)); }
protected void MailGrid_CustomDataCallback(object sender, ASPxGridViewCustomDataCallbackEventArgs e) { Session["CurrentReplyEmailID"] = null; var args = e.Parameters.Split('|'); if (args[0] == "MailForm" && args[1] == "Reply" && args.Length == 3) { int id; if (!int.TryParse(args[2], out id)) { return; } MessageBL bl = new MessageBL(); var Messages = bl.GetAllMessages(User.Identity.Name); var message = Messages.FirstOrDefault(m => m.ID == id); if (message == null) { return; } var result = new Dictionary <string, string>(); Session["CurrentReplyEmailID"] = id; result["To"] = message.To; var subject = message.Subject; if (!subject.StartsWith("Re: ")) { subject = "Re: " + subject; } result["Subject"] = subject; result["Text"] = FormatMessageCore(message, ReplyMessageFormat); e.Result = result; } if (args[0] == "MailForm" && args.Length == 3 && args[1] == "EditDraft") { int id; if (!int.TryParse(args[2], out id)) { return; } MessageBL bl = new MessageBL(); var Messages = bl.GetAllMessages(User.Identity.Name); var message = Messages.FirstOrDefault(m => m.ID == id); if (message == null) { return; } var result = new Dictionary <string, string>(); result["To"] = message.To; result["Subject"] = message.Subject; result["Text"] = message.Text; e.Result = result; } if (args[0] == "MarkAs" && args.Length > 2) { var read = args[1] == "Read"; int[] keys = null; if (!TryParseKeyValues(args.Skip(2), out keys)) { return; } MessageBL bl = new MessageBL(); bl.MarkMessagesAs(read, keys); } }