Esempio n. 1
0
        public override Link BuildLink(RouteParameters parameters)
        {
            Link l = this.Url.Clone() as Link;
            string formatString = "/{0:0000}/{1:00}/{2:00}/{3}";
            Route r = this.GetRoute();
            if (parameters["Slug"] != null)
            {
                formatString = (r != null) ? r.FormatString : formatString;

            }
            else if (parameters["Day"] != null)
            {
                formatString = "/{0:0000}/{1:00}/{2:00}";
            }
            else if (parameters["Month"] != null)
            {
                formatString = "/{0:0000}/{1:00}";
            }
            else if (parameters["Year"] != null)
            {
                formatString = "/{0:0000}";
            }
            else
            {
                formatString = "";
            }

            l.Extra = string.Format(
                formatString,
                parameters.Get("Year", DateTime.Now.Year),
                parameters.Get("Month", DateTime.Now.Month),
                parameters.Get("Day", DateTime.Now.Day),
                parameters["Slug"]
            );

            return l;
        }