Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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());
            }
        }