public override void Process(ResolveShortUrlArgs args)
        {
            Assert.IsNotNull(args, "args");
            Assert.IsNotNull(args.Item, "item");

            if (args.Item.TemplateID == ID.Parse("{6FB79081-4D9E-413D-AE86-B855A5BDC65C}"))
            {
                string year    = string.Empty;
                string dateIso = args.Item["{EF82E79D-4454-478A-B744-44F08CAFE9F6}"];
                if (!string.IsNullOrEmpty(dateIso) && DateUtil.IsIsoDate(dateIso))
                {
                    year = DateUtil.IsoDateToDateTime(dateIso).Year.ToString(CultureInfo.InvariantCulture);
                }

                string make  = args.Item["{E6A36520-A063-4906-AA2D-4471D4720AFA}"];
                string model = args.Item["{26D1E50A-E374-4577-8258-732E8E50A36C}"];
                string trim  = args.Item["{AE64C200-73BA-4C53-A5A8-258B1AD60D4A}"];
                var    parts = new List <string> {
                    year, make, model, trim
                };

                string url = string.Empty;

                foreach (string part in parts)
                {
                    if (!string.IsNullOrEmpty(part))
                    {
                        url += "/" + part;
                    }
                }

                args.ResolvedUrl = url;
                args.AbortPipeline();
            }
        }
        public override void Process(ResolveShortUrlArgs args)
        {
            Assert.IsNotNull(args, "args");
            Assert.IsNotNull(args.Item, "item");

            if (args.Item.TemplateID == ID.Parse("{6FB79081-4D9E-413D-AE86-B855A5BDC65C}"))
            {
                string year = string.Empty;
                string dateIso = args.Item["{EF82E79D-4454-478A-B744-44F08CAFE9F6}"];
                if (!string.IsNullOrEmpty(dateIso) && DateUtil.IsIsoDate(dateIso))
                {
                    year = DateUtil.IsoDateToDateTime(dateIso).Year.ToString(CultureInfo.InvariantCulture);
                }

                string make = args.Item["{E6A36520-A063-4906-AA2D-4471D4720AFA}"];
                string model = args.Item["{26D1E50A-E374-4577-8258-732E8E50A36C}"];
                string trim = args.Item["{AE64C200-73BA-4C53-A5A8-258B1AD60D4A}"];
                var parts = new List<string> {year, make, model, trim};

                string url = string.Empty;

                foreach (string part in parts)
                {
                    if (!string.IsNullOrEmpty(part))
                    {
                        url += "/" + part;
                    }
                }

                args.ResolvedUrl = url;
                args.AbortPipeline();
            }
        }
Esempio n. 3
0
        public static string ResolveShortUrl(this Item item, UrlOptions options)
        {
            if (item == null)
            {
                Log.Fatal("ShortUrlManager: cannot resolve short url. Item was null", new object());
                return null;
            }

            var args = new ResolveShortUrlArgs(item, options);
            CorePipeline.Run("resolveShortUrl", args);
            return args.ResolvedUrl;
        }