Exemplo n.º 1
0
        public void ProcessRequest(HttpContext context)
        {
            long   id;
            string redirectUrl = null;

            if (long.TryParse(context.Request.Url.Segments.Last <string>(), out id))
            {
                if (context.Request.RawUrl.Contains("community"))
                {
                    redirectUrl = this.GetCommunityDetailsUrl(id);
                }
                else if (context.Request.RawUrl.Contains("service"))
                {
                    redirectUrl = this.GetServiceDetailsUrl(id);
                }
                else
                {
                    redirectUrl = this.GetCommunityDetailsUrl(id);
                    if (string.IsNullOrWhiteSpace(redirectUrl))
                    {
                        redirectUrl = this.GetServiceDetailsUrl(id);
                    }
                }
            }
            if (!string.IsNullOrWhiteSpace(redirectUrl))
            {
                context.Response.RedirectPermanent(redirectUrl);
                return;
            }
            IController controller = ControllerBuilder.get_Current().GetControllerFactory().CreateController(context.Request.RequestContext, "Base");
            RouteData   errorRoute = new RouteData();

            errorRoute.Values.Add("controller", "Base");
            errorRoute.Values.Add("action", "NotFound");
            controller.Execute(new RequestContext(context.Request.RequestContext.HttpContext, errorRoute));
        }