///// <summary> ///// Gets description of error ///// </summary> ///// <param name="error">ErrorCode</param> ///// <returns>Error description</returns> //private string GetErrorDescription(ErrorCode error) //{ // string errorDescription; // switch (error) // { // case ErrorCode.ERRORCODE_UNSPECIFIED: errorDescription = "Unknown/Unspecified error"; break; // case ErrorCode.ERRORCODE_UNKNOWNCMD: errorDescription ="Unknown cmd param"; break; // case ErrorCode.ERRORCODE_BADPARAMS: errorDescription = "Invalid parameters (e.g. missing cmd/s_redirectto param)"; break; // case ErrorCode.ERRORCODE_BADPOLLID: errorDescription = "Invalid poll id"; break; // case ErrorCode.ERRORCODE_NEEDUSER: errorDescription = "User required for operation (User not logged in)"; break; // case ErrorCode.ERRORCODE_ACCESSDENIED: errorDescription = "Access denied/operation not allowed"; break; // case ErrorCode.ERRORCODE_AUTHORCANNOTVOTE: errorDescription = "Page author cannot vote"; break; // default: errorDescription = "Unknown/Unspecified error"; break; // } // return errorDescription; //} /// <summary> /// Tries to parse the request url to see what command has been sent through /// </summary> /// <param name="request">The request object</param> /// <returns>True if command found, false if not OR something went wrong</returns> public virtual bool ParseRequestURLForCommand(IRequest request) { // Get the command from the request string command = request.GetParamStringOrEmpty("cmd", "Get the command for the poll"); if (command.Length > 0) { // See if we're adding a vote if (command == "vote") { // Now get the response to the poll vote int response = request.TryGetParamIntOrKnownValueOnError("response", ResponseMin - 1, "Try to get the response for the poll vote"); return Vote(response); } else if (command == "removevote") { // We're wanting to remove a vote return RemoveVote(); } else if (command == "config") { // Config command is meant to configure poll. For now // we only have hide/unhide config feature. In the // future we may have more. When this happens it would // be wise to refactor code below making it more extendible. // E.g, throw it in a virtual Config() function. // See if we want to hide/unhide if (request.DoesParamExist("hide", _docSPollHideParam)) { // Now see if we're trying to hide or unhide bool hide; if (request.GetParamIntOrZero("hide", _docSPollHideParam) > 0) { hide = true; } else { hide = false; } // Return the result form the hide return HidePoll(hide); } } else if (command == "hidepoll") { // We're trying to hide a poll return HidePoll(true); } else if (command == "unhidepoll") { // We're trying to unhide a poll return HidePoll(false); } } // Did not match the command given, or not given! return UnhandledCommand(command); }