public ActionResult MapQuery(string sitename, int queryId, string slug)
        {
            Revision revision = QueryUtil.GetMigratedRevision(queryId, MigrationType.Saved);

            if (revision == null)
            {
                return(PageNotFound());
            }

            if (slug.HasValue())
            {
                slug = "/" + slug;
            }

            return(new RedirectPermanentResult("/" + sitename + "/query/" + revision.QuerySet.Id + slug));
        }
        public ActionResult MapQuery(string sitename, int queryId, string slug)
        {
            var revision = QueryUtil.GetMigratedRevision(queryId, MigrationType.Normal);

            if (revision == null)
            {
                return(PageNotFound());
            }
            if (slug.HasValue())
            {
                slug = "/" + slug;
            }

            // find the first queryset with the revision
            var querySetId = Current.DB.Query <int>(@"select top 1 QuerySetId from QuerySetRevisions where RevisionId = @Id order by Id asc", new { revision.Id }).First();

            return(new RedirectPermanentResult("/" + sitename + "/query/" + querySetId + slug));
        }