public DataWrapper GetCategoryTrimFilterAttributesByCategory([FromBody] string queryStr) { var query = JsonConvert.DeserializeObject <CategoryFilterQuery>(queryStr); var categoryName = query.CategoryName; var categoryTranslator = UriTokenTranslators.GetCategoryTranslatorByName(categoryName); var categorySeoName = categoryTranslator.SeoName; try { var categoryTrimFilterAttributes = VehicleSpecService.GetCategoryTrimFilterAttributesByCategoryAsync(categorySeoName).Result; if (categoryTrimFilterAttributes != null) { var queryResults = categoryTrimFilterAttributes; var response = new CategoryTrimFilterAttributeResponse { CategoryTrimFilterAttributes = queryResults }; return(DataWrapper(response)); } return(DataWrapper()); } catch (Exception) { return(DataWrapper()); } }
public DataWrapper GetCustomFilterGroupDataByCategoryAndVehicleAttributeName([FromBody] string queryStr) { var query = JsonConvert.DeserializeObject <VehicleAttributeFilterQuery>(queryStr); var categoryName = query.CategoryName; var vehicleAttributeName = query.VehicleAttributeSeoName; var categoryTranslator = UriTokenTranslators.GetCategoryTranslatorByName(categoryName); var categorySeoName = categoryTranslator.SeoName; var vehicleAttributeTranslator = UriTokenTranslators.GetVehicleAttributeTranslatorBySeoName(vehicleAttributeName); var vehicleAttributeSeoName = vehicleAttributeTranslator.SeoName; try { var categoryFilterGroups = VehicleSpecService.GetCustomFilterGroupDataByCategoryAndVehicleAttributeNameAsync(categorySeoName, vehicleAttributeSeoName).Result; if (categoryFilterGroups != null) { var queryResults = categoryFilterGroups; var response = new CategoryFilterGroupResponse { CategoryFilterGroups = queryResults }; return(DataWrapper(response)); } return(DataWrapper()); } catch (Exception) { return(DataWrapper()); } }
public ActionResult Article(string title, int contentId) { const string assetsPrefix = "finance.article"; const int numAdUnits = 4; var metadata = MetadataService.GetMetadataForPage(HttpContext); var articleTask = VehicleContentService.GetArticleByIdAsync(contentId); articleTask.Wait(); var article = articleTask.Result; var makeTranslator = String.Empty; var modelTranslator = String.Empty; var yearTranslator = String.Empty; var categoryTranslator = String.Empty; if (article.Make.IsNotNullOrEmpty()) { makeTranslator = UriTokenTranslators.GetMakeTranslatorByName(article.Make).Name; } if (article.Model.IsNotNullOrEmpty()) { modelTranslator = UriTokenTranslators.GetModelTranslatorByName(article.Model).Name; } if (article.Year.ToString().IsNotNullOrEmpty()) { yearTranslator = article.Year.ToString(); } if (article.VehicleCategory.IsNotNullOrEmpty()) { var tempcategoryTranslator = UriTokenTranslators.GetCategoryTranslatorByName(article.VehicleCategory); if (tempcategoryTranslator != null) { categoryTranslator = tempcategoryTranslator.Name; } } var currentUrl = HttpContext.Request.Url.AbsoluteUri; // throws a 404 exception if the current URL doesn't match the URL of the article. if (article.Url.IsNullOrEmpty() || currentUrl.IndexOf(article.Url) == -1) { throw new HttpException(404, "HTTP/1.1 404 Not Found"); } ICollection <ArticleAd> ads = new Collection <ArticleAd>(); IList <ICollection <ArticleAd> > articleAds = new List <ICollection <ArticleAd> >(); IList <TrackerVehicle> articleVehicles = new List <TrackerVehicle>(); TrackerVehicle vehicle; // set article page ads foreach (var articlePage in article.ArticlePages) { ads = articlePage.AdUnits; articleAds.Add(ads); if (articlePage.Make != null) { vehicle = new TrackerVehicle { Make = articlePage.Make, Model = articlePage.Model, SuperModel = articlePage.Model, Year = articlePage.Year }; } else { vehicle = new TrackerVehicle { Make = makeTranslator, Model = modelTranslator, SuperModel = modelTranslator, Year = Int32.Parse(yearTranslator) }; } articleVehicles.Add(vehicle); } // set article page ads for endcap ICollection <ArticleAd> adsEndcap = new Collection <ArticleAd>(); for (var adUnit = 1; adUnit <= numAdUnits; adUnit++) { var articleAdUnit = article.AdUnits.FirstOrDefault(x => x.AdUnitId == adUnit); adsEndcap.Add(new ArticleAd { AdMake = articleAdUnit.AdMake ?? String.Empty, AdModel = articleAdUnit.AdModel ?? String.Empty, AdVehicleYear = articleAdUnit.AdVehicleYear, AdCategory = articleAdUnit.AdCategory ?? String.Empty, AdUnitId = articleAdUnit.AdUnitId }); } articleAds.Add(adsEndcap); var articleVehiclesJsonStr = JsonConvert.SerializeObject(articleVehicles); var articleAdsJsonStr = JsonConvert.SerializeObject(articleAds); var viewModel = new ArticleViewModel(assetsPrefix, metadata) { InlineHeadScript = AssetService.GetInlineHeadScript(), InlineHeadStyles = AssetService.GetInlineHeadStyles(assetsPrefix), AdvertMeta = new AdvertMeta(new { ads = articleAds[0] }) , PageMeta = new PageMeta { Title = article.Title, Canonical = "http://www.car.com" + article.Url, Keywords = article.MetaKeywords, Description = article.MetaDescription }, TrackMeta = new TrackMeta { Make = makeTranslator, SuperModel = modelTranslator, Year = yearTranslator, Category = categoryTranslator }, OpenGraphMeta = new OpenGraphMeta { Title = article.Title, Description = article.MetaDescription, Type = "article", Url = "http://www.car.com" + article.Url, Images = article.ArticlePages.Select(x => x.PageImage).Where(x => x.IsNotNullOrEmpty()).ToList() }, Article = article }; viewModel.RegisterPageJson(articleVehiclesJsonStr, "ABT.pageJson.articleVehicles"); viewModel.RegisterPageJson(articleAdsJsonStr, "ABT.pageJson.articleAds"); ArticleGalleryViewModel articleGallery = new ArticleGalleryViewModel(); { articleGallery.Article = viewModel.Article; } viewModel.ArticleGallery = articleGallery; return(View("Article", viewModel)); }