protected virtual void EncodeVirtualPath(RouteValueDictionary values, SeoUrlKeywordType type) { var routeValueKey = type.ToString(); var language = values.ContainsKey(Constants.Language) ? values[Constants.Language] as string : Thread.CurrentThread.CurrentUICulture.Name; if (values.ContainsKey(routeValueKey) && values[routeValueKey] != null) { values[routeValueKey] = this.EncodeRouteValue(values[routeValueKey].ToString(), type, language); } }
private string EncodeRouteValue(string routeValue, SeoUrlKeywordType type, string language = null) { if (!string.IsNullOrEmpty(routeValue)) { routeValue = routeValue.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).Last(); var keyword = routeValue; // this.GetKeyword(routeValue, type, language); Sasha: routevalue here is already a keyword //var client = ClientContext.Clients.CreateBrowseClient(); if (keyword != null) { if (type.Equals(SeoUrlKeywordTypes.Store) || type.Equals(SeoUrlKeywordTypes.Category)) { return(routeValue); } else if (type.Equals(SeoUrlKeywordTypes.Store)) { /* * var category = * Task.Run( * () => * client.GetCategoryAsync(routeValue)) * .Result.AsWebModel(); * if (category != null) * { * return string.Join("/", category.BuildOutline(language).Select(x => x.Value)); * } * */ return(routeValue); // routevalue for category is outline } } } return(routeValue); }