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); }
public void Mail() { this.dt_Messages = Lib.GetUnreadMail(o_User["shortname"].ToString()); this.o_Menu = new Menu(); this.o_Menu.User = this.o_User; this.o_Menu.Header = "-- Internal Postal Service -- " + "\r\n" + "Please make a selection from below:"; this.o_Menu.MenuItems = new ArrayList(); this.o_Menu.MenuItems.Add("View New Mail"); this.o_Menu.MenuItems.Add("View Inbox - All Mail"); this.o_Menu.MenuItems.Add("View Sent Mail"); this.o_Menu.MenuItems.Add("Send Mail"); this.o_Menu.Footer = "You have " + o_User["coloralertgood"] + this.dt_Messages.Rows.Count.ToString() + o_User["colormessages"] + " new messages"; this.o_Menu.Prompt = "Selection: "; this.o_Menu.MenuType = Menu.MenuTypes.SingleChoice; this.dt_Messages = null; ArrayList al_Tmp = new ArrayList(); int result = 0; al_Tmp = this.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; } if (result >= 1) { //User chose back or exit return; } if (al_Tmp[0].ToString() == "1") { switch (this.DisplayMail(MailDisplayTypes.Unread)) { case 1: return; case 2: Mail(); return; default: Mail(); return; } } else if (al_Tmp[0].ToString() == "2") { switch (this.DisplayMail(MailDisplayTypes.All)) { case 1: return; case 2: Mail(); return; default: Mail(); return; } } else if (al_Tmp[0].ToString() == "3") { switch (this.DisplayMail(MailDisplayTypes.Sent)) { case 1: return; case 2: Mail(); return; default: Mail(); return; } } else if (al_Tmp[0].ToString() == "4") { SendMail(); } al_Tmp = null; }