public async Task <ActionResult> VehicleSummary() { var response = new SearchVehicleViewModel(); var vehicleSearchRequestDto = new VehicleSearchRequestDto(); // All Vehicles //var vehicleSearchRequestDto = new VehicleSearchRequestDto() { Name = "Sand Crawler" }; response = await _vehicleHelper.SearchVehicleList(vehicleSearchRequestDto); return(View(response)); }
public async Task <SearchVehicleViewModel> SearchVehicleList(VehicleSearchRequestDto request) { var response = new SearchVehicleViewModel(); var vehicleSearchRequestUrl = _commonUrlHelper.GetApiUrl(ApiRequestType.VehicleSearchUrl); var vehicleResponse = await _vehicleRequestHelper.SearchAsync(vehicleSearchRequestUrl, request); if (vehicleResponse != null) { response = _vehicleDecoratorHelper.SearchViewModel(vehicleResponse); } return(response); }
public SearchVehicleViewModel SearchViewModel(List <VehicleModel> modelList) { var response = new SearchVehicleViewModel(); var vehicleWithValidCostInCreditsTotal = 0; var validCostInCreditsVehicleModelList = new List <VehicleModel>(); var nonValidCostInCreditsVehicleModelList = new List <VehicleModel>(); if (modelList != null) { if (modelList.Any()) { foreach (var item in modelList) { if (item.CostInCredits != -1) { vehicleWithValidCostInCreditsTotal++; validCostInCreditsVehicleModelList.Add(item); } else { nonValidCostInCreditsVehicleModelList.Add(item); } } response.VehicleWithValidCostInCreditsTotal = vehicleWithValidCostInCreditsTotal.ToString(); var uniqueManufacturers = ProcessManufacturerGroups(validCostInCreditsVehicleModelList); response.UniqueManufacturerTotal = uniqueManufacturers.Count.ToString(); response.UniqueManufacturerList = uniqueManufacturers .OrderByDescending(o => o.GroupListCount) .ThenByDescending(o => o.CostInCreditsPerGroupAverage).ToList(); response.VehicleModelList = validCostInCreditsVehicleModelList.OrderByDescending(o => o.CostInCredits).ToList(); response.VehicleModelList.AddRange(nonValidCostInCreditsVehicleModelList); } } return(response); }