public virtual enHelperActivityType Process(ref Socket soUDP,
                                                    ref IPEndPoint remoteIpEndPoint, string sessionID, Encoding enc)
        {
            ProcessCommand(ref soUDP, ref remoteIpEndPoint, sessionID, enc);

            // handle 555 BANNED and 598 - UNKNOWN COMMAND
            if (ResponseCode == 598)
            {
                return(enHelperActivityType.UnknownCommand_598);
            }
            if (ResponseCode == 555)
            {
                return(enHelperActivityType.Banned_555);
            }

            if (errorOccurred)
            {
                return(enHelperActivityType.NoSuchAnime);
            }

            //BaseConfig.MyAnimeLog.Write("AniDBCommand_GetAnimeDescription.Process: Response: {0}", socketResponse);

            // Process Response
            string sMsgType = socketResponse.Substring(0, 3);


            switch (sMsgType)
            {
            case "233":
            {
                // 233 ANIMEDESC
                // the first 11 characters should be "240 EPISODE"
                // the rest of the information should be the data list

                animeDesc = new Raw_AniDB_AnimeDesc(socketResponse);
                return(enHelperActivityType.GotAnimeDesc);
            }

            case "330":
            {
                return(enHelperActivityType.NoSuchAnime);
            }

            case "333":                     // no such description
            {
                return(enHelperActivityType.NoSuchAnime);
            }

            case "501":
            {
                return(enHelperActivityType.LoginRequired);
            }
            }

            return(enHelperActivityType.FileDoesNotExist);
        }
		public virtual enHelperActivityType Process(ref Socket soUDP,
			ref IPEndPoint remoteIpEndPoint, string sessionID, Encoding enc)
		{
			ProcessCommand(ref soUDP, ref remoteIpEndPoint, sessionID, enc);

			// handle 555 BANNED and 598 - UNKNOWN COMMAND
			if (ResponseCode == 598) return enHelperActivityType.UnknownCommand_598;
			if (ResponseCode == 555) return enHelperActivityType.Banned_555;

			if (errorOccurred) return enHelperActivityType.NoSuchAnime;

			//BaseConfig.MyAnimeLog.Write("AniDBCommand_GetAnimeDescription.Process: Response: {0}", socketResponse);

			// Process Response
			string sMsgType = socketResponse.Substring(0, 3);


			switch (sMsgType)
			{
				case "233":
					{
						// 233 ANIMEDESC
						// the first 11 characters should be "240 EPISODE"
						// the rest of the information should be the data list

						animeDesc = new Raw_AniDB_AnimeDesc(socketResponse);
						return enHelperActivityType.GotAnimeDesc;

					}
				case "330":
					{
						return enHelperActivityType.NoSuchAnime;
					}
				case "333": // no such description
					{
						return enHelperActivityType.NoSuchAnime;
					}
				case "501":
					{
						return enHelperActivityType.LoginRequired;
					}
			}

			return enHelperActivityType.FileDoesNotExist;

		}