DevProLauncher.Windows.ChatFrm.HandleTeamRequest C# (CSharp) Method

HandleTeamRequest() private method

private HandleTeamRequest ( PacketCommand command ) : void
command PacketCommand
return void
        private void HandleTeamRequest(PacketCommand command)
        {
            if (InvokeRequired)
            {
                Invoke(new Action<PacketCommand>(HandleTeamRequest), command);
                return;
            }
            switch (command.Command)
            {
                case "JOIN":

                    if (Program.Config.RefuseTeamInvites)
                    {
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "AUTOREFUSE" }));
                        return;
                    }

                    if (MessageBox.Show(command.Data + " has invited you to join a team.", "Team Request", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have accepted the team invite."));
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "ACCEPT" }));
                    }
                    else
                    {
                        WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have refused the team invite."));
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "REFUSE" }));
                    }
                    break;

                case "LEAVE":
                    Program.UserInfo.team = string.Empty;
                    Program.UserInfo.teamRank = 0;
                    ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have left the team."));
                    break;

                case "REMOVED":
                    Program.UserInfo.team = string.Empty;
                    Program.UserInfo.teamRank = 0;
                    ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have been removed from the team."));
                    break;

                case "DISBAND":
                    if (Program.UserInfo.team == command.Data)
                    {
                        Program.UserInfo.team = string.Empty;
                        Program.UserInfo.teamRank = 0;
                        ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    }
                    break;
            }
        }