Esempio n. 1
0
        public void Prompt()
        {
            bool quitflag = false;

            while ((!quitflag) && _bbs.Connected)
            {
                //Show Main Prompt
                if (!_bbs.ExpertMode)
                {
                    _bbs.WriteLine("~l1~c7? ~c1Menu, ~c7H~c1elp~c2, ~c7L~c1ist~c2, ~c7Q~c1uit");
                }
                else
                {
                    _bbs.WriteLine();
                }
                if (CurrentUDBase > -1)
                {
                    _bbs.Write("~c1UDBases~c2:~c7");
                }
                else
                {
                    _bbs.Write("~c1UDBases~c2:~c7");
                }
                string command = _bbs.Input(true, false, false);
                if (command.Length > 0)
                {
                    if ("0123456789".Contains(command.Substring(0, 1)))
                    {
                        if (CurrentUDBase == -1)
                        {
                            //Select item.
                            IdAndKeys selectedItem = Current_Area_List.FirstOrDefault(p => p.Keys["listid"].Equals(command));
                            if (selectedItem != null)
                            {
                                if (selectedItem.Keys["type"] == "area")
                                {
                                    _bbs.WriteLine("~l1~c7Changing to Area: " + selectedItem.Keys["title"] + "~p1");
                                    ChangeToArea(selectedItem.Id);
                                }
                                else
                                {
                                    _bbs.WriteLine("~l1~c7Changing to UDBase: " + selectedItem.Keys["title"] + "~p1");
                                    ChangeToUDBase(selectedItem.Id);
                                }
                            }
                        }
                        else
                        {
                            //We're in a udbase \
                            //CMD_DetailsByFileId(int.Parse(command));
                        }
                    }
                    else
                    {
                        switch (command.ToUpper()[0])
                        {
                        case 'H':
                            if (CurrentUDBase == -1)
                            {
                                _bbs.SendFileForTermType("udarea_help", true);
                            }
                            else
                            {
                                _bbs.SendFileForTermType("udbase_help", true);
                            }
                            break;

                        case '?':
                            if (CurrentUDBase == -1)
                            {
                                _bbs.SendFileForTermType("udarea_menu", true);
                            }
                            else
                            {
                                _bbs.SendFileForTermType("udbase_menu", true);
                            }
                            break;

                        case 'L':
                            CMD_List();
                            break;

                        case '/':
                            if (CurrentUDBase > -1)
                            {
                                CurrentUDBase = -1;
                                CMD_List();
                            }
                            else
                            {
                                if (Current_Area > -1)
                                {
                                    CurrentUDBase = -1;
                                    IdAndKeys mba = _dataInterface.UDBase_ParentArea(Current_Area);
                                    _bbs.WriteLine("~l1~c7Changing to Area: " + mba.Keys["title"] + "~p1");
                                    ChangeToArea(mba.Id);
                                }
                                else
                                {
                                    _bbs.WriteLine("~l1~d2Already at top level.~d0");
                                }
                            }
                            break;

                        case 'U':
                            if (CurrentUDBase == -1)
                            {
                                _bbs.WriteLine("~l1~d1Select a UD base.~d0");
                            }
                            else
                            {
                                CMD_Upload();
                            }
                            break;

                        case 'Q':
                            quitflag = true;
                            break;

                        case 'D':
                            //Download
                            if (command.Length == 1)
                            {
                                _bbs.Write("~c1File Number~c2:~c7");
                                int i = _bbs.InputNumber(3);
                                if (i > -1)
                                {
                                    CMD_Download(i.ToString());
                                }
                            }
                            else
                            {
                                CMD_Download(command.Substring(1, command.Length - 1));
                            }
                            break;
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        public void Prompt()
        {
            bool quitflag = false;

            while ((!quitflag) && _bbs.Connected)
            {
                //Show Main Prompt
                _bbs.WriteLine("~l1" + Path);
                if (!_bbs.expertMode)
                {
                    _bbs.WriteLine("~c7? ~c1Menu, ~c7H~c1elp~c2, ~c7L~c1ist~c2, ~c7Q~c1uit");
                }
                else
                {
                    _bbs.WriteLine();
                }
                if (CurrentMessageBase > -1)
                {
                    _bbs.Write("~c1Bases~c2:~c7");
                }
                else
                {
                    _bbs.Write("~c1Bases~c2:~c7");
                }
                string command = _bbs.Input(true, false, false);
                if (command.Length > 0)
                {
                    if ("0123456789".Contains(command.Substring(0, 1)))
                    {
                        if (CurrentMessageBase == -1)
                        {
                            //Select item.
                            IdAndKeys selectedItem = Current_Area_List.FirstOrDefault(p => p.Keys["listid"].Equals(command));
                            if (selectedItem != null)
                            {
                                if (selectedItem.Keys["type"] == "area")
                                {
                                    _bbs.WriteLine("~l1~c7Changing to Area: " + selectedItem.Keys["title"] + "~p1");
                                    ChangeToArea(selectedItem.Id);
                                }
                                else
                                {
                                    _bbs.WriteLine("~l1~c7Changing to Message Base: " + selectedItem.Keys["title"] + "~p1");
                                    ChangeToMessageBase(selectedItem.Id);
                                }
                            }
                        }
                        else
                        {
                            //We're in a messagebase \
                            CMD_ReadThreadByListId(int.Parse(command));
                        }
                    }
                    else
                    {
                        switch (command.ToUpper()[0])
                        {
                        case 'H':
                            if (CurrentMessageBase == -1)
                            {
                                _bbs.SendFileForTermType("messagearea_help", true);
                            }
                            else
                            {
                                _bbs.SendFileForTermType("messagebase_help", true);
                            }
                            break;

                        case '?':
                            if (CurrentMessageBase == -1)
                            {
                                _bbs.SendFileForTermType("messagearea_menu", true);
                            }
                            else
                            {
                                _bbs.SendFileForTermType("messagebase_menu", true);
                            }
                            break;

                        case 'L':
                            CMD_List();
                            break;

                        case '/':
                            if (CurrentMessageBase > -1)
                            {
                                CurrentMessageBase = -1;
                                RecalculatePath();
                                CMD_List();
                            }
                            else
                            {
                                if (Current_Area > -1)
                                {
                                    CurrentMessageBase = -1;
                                    IdAndKeys mba = _bbsDataCore.MessageBase_ParentArea(Current_Area);
                                    _bbs.WriteLine("~l1~c7Changing to Area: " + mba.Keys["title"] + "~p1");
                                    ChangeToArea(mba.Id);
                                }
                                else
                                {
                                    _bbs.WriteLine("~l1~d2Already at top level.~d0");
                                }
                            }
                            break;

                        case 'P':
                            if (CurrentMessageBase == -1)
                            {
                                _bbs.WriteLine("~l1~d1Select a message base.~d0");
                            }
                            else
                            {
                                CMD_Post();
                            }
                            break;

                        case 'Q':
                            quitflag = true;
                            break;

                        case 'R':
                            // "Unread" means the message id does not appear in the
                            // R = Read next unread message
                            // RA = Read all messages in all threads
                            // RA# = Read all messages in specified thread
                            // R# = Read unread messages in specified thread
                            // R#,# = Read specified message in specified thread
                            // RN = Read unread messages in all threads with unread messages
                            if (CurrentMessageBase == -1)
                            {
                                _bbs.WriteLine("~l1~d1Select a message base.~d0");
                            }
                            else
                            {
                                if (command.Length > 1)
                                {
                                    if (command.ToUpper()[1] == 'A')
                                    {
                                        //RA, RA#
                                    }
                                    else
                                    {
                                        if (command.ToUpper()[1] == 'N')
                                        {
                                            //RN,RN#
                                        }
                                        else
                                        {
                                            if ("1234567890".Contains(command.ToUpper()[1]))
                                            {
                                                //R#
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    CMD_ReadNextUnread();
                                }
                            }
                            break;
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        public void Prompt()
        {
            bool quitflag = false;

            while ((!quitflag) && _bbs.Connected)
            {
                //Show Main Prompt
                if (!_bbs.ExpertMode)
                {
                    _bbs.WriteLine("~l1~c7H~c1elp~c2, ~c7L~c1ist~c2, ~c7Q~c1uit");
                }
                else
                {
                    _bbs.WriteLine();
                }
                _bbs.Write("~c1GFiles~c2:~c7");
                string command = _bbs.Input(true, false, false);
                if (command.Length > 0)
                {
                    if ("0123456789".Contains(command.Substring(0, 1)))
                    {
                        //Select item.
                        IdAndKeys selectedItem = Current_Area_List.FirstOrDefault(p => p.Keys["listid"].Equals(command));
                        if (selectedItem != null)
                        {
                            if (selectedItem.Keys["type"] == "area")
                            {
                                ChangeToArea(selectedItem.Id);
                            }
                            else
                            {
                                //Show this file
                                CMD_Read(int.Parse(selectedItem.Keys["gfiledetailid"]));
                            }
                        }
                    }
                    else
                    {
                        switch (command.ToUpper()[0])
                        {
                        case 'H':
                            _bbs.SendFileForTermType("gfile_help", true);
                            break;

                        case 'L':
                            CMD_List();
                            break;

                        case '/':
                            if (Current_Gfile_Area > -1)
                            {
                                ChangeToArea(_dataInterface.GFile_ParentArea(Current_Gfile_Area));
                            }
                            break;

                        case 'Q':
                            quitflag = true;
                            break;

                        default:
                            if (_bbs.Sysop_Identified)
                            {
                                CMD_SysOp(command);
                            }
                            else
                            {
                                _bbs.WriteLine("~l1~d2Unknown command.~d0~c1");
                            }
                            break;
                        }
                    }
                }
            }
        }