private void GetMail(MailDisplayTypes MailDisplayType) { if (MailDisplayType == MailDisplayTypes.All) { this.dt_Messages = Lib.GetAllMail(User["shortname"].ToString()); } else if (MailDisplayType == MailDisplayTypes.Unread) { this.dt_Messages = Lib.GetUnreadMail(User["shortname"].ToString()); } else if (MailDisplayType == MailDisplayTypes.Sent) { this.dt_Messages = Lib.GetSentMail(User["shortname"].ToString()); } if (this.dt_Messages.Rows.Count >= 1) { foreach (DataRow dr_Tmp in this.dt_Messages.Rows) { this.o_Message = new UserMailMessage(Convert.ToInt32(dr_Tmp["M_ID"].ToString()), Convert.ToDateTime(dr_Tmp["M_Created"].ToString()), dr_Tmp["M_Sender"].ToString(), dr_Tmp["M_Receiver"].ToString(), dr_Tmp["M_Subject"].ToString(), dr_Tmp["M_Body"].ToString(), Lib.ConvertToBoolean(dr_Tmp["M_Read"])); this.al_Messages.Add(this.o_Message); } } }
public int DisplayMail(MailDisplayTypes MailDisplayType) { this.al_Messages.Clear(); this.GetMail(MailDisplayType); this.o_Menu = new Menu(); this.o_Menu.User = this.o_User; if (MailDisplayType == MailDisplayTypes.All) { this.o_Menu.Header = "-- Inbox - All --"; } else if (MailDisplayType == MailDisplayTypes.Unread) { this.o_Menu.Header = "--Inbox - New--"; } else if (MailDisplayType == MailDisplayTypes.Sent) { this.o_Menu.Header = "--Sent--"; } this.o_Menu.MenuItems = new ArrayList(); foreach (UserMailMessage o_Tmp in this.al_Messages) { this.o_Menu.MenuItems.Add("Subject: " + o_Tmp.Subject + " From: " + o_Tmp.Sender + " To: " + o_Tmp.Recipient); } this.o_Menu.Footer = ""; this.o_Menu.Prompt = "Please make a selection: "; this.o_Menu.MenuType = Menu.MenuTypes.SingleChoiceBack; int result = 0; ArrayList al_Tmp = new ArrayList(); while (result < 1) { // al_Tmp contains the integer number of the message to view al_Tmp = o_Menu.ShowMenu(ref result); // Always catch nulls coming back from menus. // That usually means the client disconnected at the menu. if (al_Tmp == null) { return(0); } if (result >= 1) { return(result); } if (al_Tmp.Count == 0) { this.Mail(); return(1); } else { for (int i = al_Tmp.Count - 1; i >= 0; i--) { this.ViewMessage((UserMailMessage)al_Messages[((int)al_Tmp[0]) - 1]); } } } return(0); }