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; } } } } }
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; } } } } }
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; } } } } }