public DataWrapper GetCompareCarSuperModelByMakes(string makeSeoName) { var makeTranslator = UriTokenTranslators.GetMakeTranslatorBySeoName(makeSeoName); if (makeTranslator == null) { return(DataWrapper()); } try { var compareSuperModelList = VehicleSpecService.GetNewSuperModelsByMakeAsync(makeSeoName).Result; if (compareSuperModelList != null) { var response = compareSuperModelList.Select(t => new CompareSuperModels { Make = t.Make, Name = t.Name, SeoName = t.SeoName, }); return(DataWrapper(response)); } return(DataWrapper()); } catch (Exception) { //if service returns no filter data... return(DataWrapper()); } }
public ActionResult Make(string makeSeoName) { const string assetsPrefix = "carsforsale.make"; var makeTranslator = UriTokenTranslators.GetMakeTranslatorBySeoName(makeSeoName); if (makeTranslator == null) { return(HttpNotFound()); } var metadata = MetadataService.GetMetadataForPage(HttpContext); var vspModelsTask = VehicleSpecService.GetModelsByMakeAsync(makeSeoName); // availableModels => represents models we actually have inventory for var availableModelsTask = CarsForSaleService.GetModelsDomainByMakeIdAsync(makeTranslator.AbtMakeId); vspModelsTask.Wait(); availableModelsTask.Wait(); var vspModels = vspModelsTask.Result; var availableModels = availableModelsTask.Result.Select(m => m.Description).ToList(); var models = vspModels .Where(m => availableModels.Contains(m.Name)) .Select(mo => new MakeViewModel.Dto.Model { MatchValue = String.Format("{0}~{1}", mo.AbtMakeId, mo.Name), Name = mo.Name, SeoName = mo.SeoName }); var viewModel = new MakeViewModel(assetsPrefix, metadata) { InlineHeadScript = AssetService.GetInlineHeadScript(), InlineHeadStyles = AssetService.GetInlineHeadStyles(assetsPrefix), TrackMeta = new TrackMeta(metadata) { Make = makeTranslator.Name }, AdvertMeta = new AdvertMeta(new { make = makeTranslator.Name }), OfferMeta = new OfferMeta(new { make = makeTranslator.Name }), Make = new MakeViewModel.Dto.Make { Name = makeTranslator.Name, SeoName = makeTranslator.SeoName }, Models = models }; return(View("Make", viewModel)); }
public DataWrapper GetCompareCarTrimsByMakeBySuperModel(string makeSeoName, string superModelSeoName) { var makeTranslator = UriTokenTranslators.GetMakeTranslatorBySeoName(makeSeoName); var superModelTranslator = UriTokenTranslators.GetSuperModelTranslatorBySeoName(superModelSeoName); if (makeTranslator == null || superModelTranslator == null) { return(DataWrapper()); } try { var compareTrimList = VehicleSpecService.GetNewTrimsByMakeBySuperModelAsync(makeSeoName, superModelSeoName).Result; if (compareTrimList != null) { var response = compareTrimList .OrderByDescending(t => t.Year) .ThenBy(t => t.Make) .ThenBy(t => t.Model) .ThenBy(t => t.Name) .Select(t => new CompareListTrim { Name = t.Name, SeoName = t.SeoName, Year = t.Year, Id = t.Id, Msrp = t.Msrp }); return(DataWrapper(response)); } return(DataWrapper()); } catch (Exception) { //if service returns no filter data... return(DataWrapper()); } }