예제 #1
0
        public ActionResult Vehicles()
        {
            var vm = new VehicleSearchViewModel();

            vm.SearchParams.IsAspNetUser = true;
            return(View(vm));
        }
예제 #2
0
        public JsonResult GetVehicleList(VehicleSearchViewModel SearchViewModel)
        {
            if (SessionVehicleSearchViewModel != null)
            {
                if (SearchViewModel != SessionVehicleSearchViewModel)
                {
                    SessionVehicleSearchViewModel = SearchViewModel;
                }
                else
                {
                    SearchViewModel = SessionVehicleSearchViewModel;
                }
            }

            ResponseViewModel result = new ResponseViewModel();

            try
            {
                //限制只能為自己的公司
                var user = _aspNetUsersService.GetUserModelByName(User.Identity.Name);
                SearchViewModel.SearchCompanyId = user.CompanyId;
                result.Data           = _vehicleService.GetVehicles(SearchViewModel);
                result.IsOk           = true;
                result.HttpStatusCode = HttpStatusCode.OK;
            }
            catch (Exception ex)
            {
                result.IsOk           = false;
                result.Exception      = ex;
                result.HttpStatusCode = HttpStatusCode.InternalServerError;
                result.Data           = new List <VehicleListViewModel>();
            }
            result.ResponseTime = string.Format("{0:yyyy/MM/dd HH:mm:ss}", DateTime.Now);
            return(Json(result, JsonRequestBehavior.DenyGet));
        }
        public ActionResult Used()
        {
            var vm = new VehicleSearchViewModel();

            vm.SearchParams.Condition    = (int)Condition.Used;
            vm.SearchParams.IsAspNetUser = false;
            return(View(vm));
        }
        public ActionResult Used()
        {
            var model = new VehicleSearchViewModel()
            {
                Results = new List <CarModel>()
            };

            return(View(model));
        }
        public ActionResult Vehicles(string Message = "", bool showPurchased = false)
        {
            ViewBag.Message = Message;
            var model = new VehicleSearchViewModel
            {
                Results = (showPurchased ? DataManager.Instance.GetPurchasedCars() : DataManager.Instance.GetAvailableCars()).OrderByDescending(c => c.MSRP)
            };

            return(View(model));
        }
예제 #6
0
        public ActionResult Index(string Message = "")
        {
            ViewBag.Message = Message;
            var model = new VehicleSearchViewModel
            {
                Results = DataManager.Instance.GetAvailableCars().OrderByDescending(c => c.MSRP)
            };

            return(View(model));
        }
예제 #7
0
        public MainWindowViewModel()
        {
            CatalogController = new CatalogController();
            this.CloseCommand = new RelayCommand(this.CloseCommandExecute);

            this.VehicleSearchViewModel = new VehicleSearchViewModel();

            this.shoppingBasketContent = new ShoppingBasketViewModel();

            this.Contents = new ObservableCollection <ITMCatalogContent>();
            this.Contents.Add(vehicleSearchViewModel);
            this.Contents.Add(shoppingBasketContent);

            this.SelectedContent = vehicleSearchViewModel;

            Instance = this;
        }
        public async Task <VehicleSearchViewModel> RefreshFacets(VehicleSearchInputModel vehicleSearchInputModel)
        {
            var vehicleSearchViewModel = new VehicleSearchViewModel
            {
                Facets = new VehicleSearchFacets
                {
                    Regions           = await RefreshRegionFacet(vehicleSearchInputModel),
                    VehicleTypeGroups = await RefreshVehicleTypeGroupFacet(vehicleSearchInputModel),
                    VehicleTypes      = await RefreshVehicleTypeFacet(vehicleSearchInputModel),
                    Years             = await RefreshYearFacet(vehicleSearchInputModel),
                    Makes             = await RefreshMakesFacet(vehicleSearchInputModel),
                    Models            = await RefreshModelsFacet(vehicleSearchInputModel),
                    SubModels         = await RefreshSubModelsFacet(vehicleSearchInputModel)
                }
            };

            return(vehicleSearchViewModel);
        }
        public ActionResult Vehicles(VehicleSearchViewModel model, bool showPurchased = false)
        {
            // parse search parameters
            int priceMax = model.PriceMax == null ? int.MaxValue : int.Parse(model.PriceMax);
            int priceMin = model.PriceMin == null ? int.MinValue : int.Parse(model.PriceMin);
            int yearMax  = model.YearMax == null ? int.MaxValue : int.Parse(model.YearMax);
            int yearMin  = model.YearMin == null ? int.MinValue : int.Parse(model.YearMin);

            // filter all cars
            bool queryEmpty = model.Query.IsNullOrWhiteSpace();

            model.Results = from c in showPurchased?DataManager.Instance.GetPurchasedCars() : DataManager.Instance.GetAvailableCars()
                                    where c.MSRP <priceMax && c.MSRP> priceMin && c.Year <yearMax && c.Year> yearMin
                                orderby c.MSRP descending
                                select c;

            // apply search query
            model.Results = model.Results.Where(c => (queryEmpty || (c.Year.ToString() + c.Make + c.Model).ContainsSubstring(model.Query, 3)));

            // display results
            return(View(model));
        }
        public VehicleSearchViewModel Map(VehicleSearchResult source)
        {
            Guid guid;
            var  vehicleSearchViewModel = new VehicleSearchViewModel()
            {
                Facets = new VehicleSearchFacets()
                {
                    Regions = source.Facets.Any(f => f.Name == "regionName") ?
                              source.Facets.First(f => f.Name == "regionName")
                              .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                              .ToArray() : default(string[]),
                    VehicleTypeGroups = source.Facets.Any(f => f.Name == "vehicleTypeGroupName") ?
                                        source.Facets.First(f => f.Name == "vehicleTypeGroupName")
                                        .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                                        .ToArray() : default(string[]),
                    VehicleTypes = source.Facets.Any(f => f.Name == "vehicleTypeName") ?
                                   source.Facets.First(f => f.Name == "vehicleTypeName")
                                   .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                                   .ToArray() : default(string[]),
                    Years = source.Facets.Any(f => f.Name == "yearId") ?
                            source.Facets.First(f => f.Name == "yearId")
                            .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                            .ToArray() : default(string[]),
                    Makes = source.Facets.Any(f => f.Name == "makeName") ?
                            source.Facets.First(f => f.Name == "makeName")
                            .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                            .ToArray() : default(string[]),
                    Models = source.Facets.Any(f => f.Name == "modelName") ?
                             source.Facets.First(f => f.Name == "modelName")
                             .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                             .ToArray() : default(string[]),
                    SubModels = source.Facets.Any(f => f.Name == "subModelName") ?
                                source.Facets.First(f => f.Name == "subModelName")
                                .Value.Select(item => ((SimpleValue)item).Value.ToString()).OrderBy(item => item)
                                .ToArray() : default(string[]),
                },
                Result = new VehicleSearchResultViewModel
                {
                    //NOTE: VehicleId of Guid means new base vehicle without vehicle information
                    Vehicles = source.Documents.Where(item => !Guid.TryParse(item.VehicleId, out guid)).Select(item => new VehicleViewModel
                    {
                        BaseVehicleId   = item.BaseVehicleId ?? 0,
                        Id              = Convert.ToInt32(item.VehicleId),
                        MakeId          = item.MakeId ?? 0,
                        MakeName        = item.MakeName,
                        ModelId         = item.ModelId ?? 0,
                        ModelName       = item.ModelName,
                        RegionId        = item.RegionId ?? 0,
                        RegionName      = item.RegionName,
                        SourceName      = item.Source,
                        SubModelId      = item.SubModelId ?? 0,
                        SubModelName    = item.SubModelName,
                        YearId          = item.YearId ?? 0,
                        ChangeRequestId = item.VehicleChangeRequestId
                    }).ToList(),
                    BaseVehicles = source.Documents.Distinct(new DistinctBaseVehicleIdComparer()).Select(item => new BaseVehicleViewModel
                    {
                        Id              = item.BaseVehicleId ?? 0,
                        MakeId          = item.MakeId ?? 0,
                        MakeName        = item.MakeName,
                        ModelId         = item.ModelId ?? 0,
                        ModelName       = item.ModelName,
                        YearId          = item.YearId ?? 0,
                        ChangeRequestId = item.BaseVehicleChangeRequestId
                    }).ToList(),
                },
                TotalCount = source.TotalCount != null && source.TotalCount > 1000 ? source.TotalCount : null,
            };

            return(vehicleSearchViewModel);
        }