private PalindromeRequest CheckForPalindrome(PalindromeRequest pr)
        {
            pr.ReverseCandidate = "";

            for (int i = pr.Candidate.Length - 1; i >= 0; i--)
            {
                pr.ReverseCandidate += pr.Candidate[i];
            }
            if (pr.ReverseCandidate == pr.Candidate)
            {
                pr.IsPalindrome = true;
            }
            return pr;
        }
 public PalindromeRequest EvaluatePalindrome(PalindromeRequest pr )
 {
     pr.Candidate = StripRawString(pr.RawString);
     pr = CheckForPalindrome(pr);
     return pr;
 }
        public ActionResult Palindromes(PalindromeTool pt)
        {
            if (ModelState.IsValid)
            {
                var request = new PalindromeRequest();
                var evaluator = new PalindromeEvaluator();
                request.RawString = pt.RawString;
                request = evaluator.EvaluatePalindrome(request);
                if (request.IsPalindrome)
                {
                    pt.IsPalindrome = 1;
                }
                else
                {
                    pt.IsPalindrome = 2;
                }

                return View("Palindromes", pt);

            }
            return View("Palindromes");
        }