Пример #1
0
        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);
        }
Пример #2
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;
        }