public async Task<IVehicle> GetVehicle(VehicleFilter filter) { IVehicle vehicle = new EmptyVehicle(); if (string.IsNullOrEmpty(filter.Code) && !filter.ProgrammeId.HasValue) { return vehicle; } var programme = _programmeDataStore.ProgrammeGetConfiguration(filter.ProgrammeId.Value); if (programme == null) return vehicle; vehicle = HydrateVehicleFromProgramme(programme); if (filter.Deep) { var availableDocuments = await ListAvailableOxoDocuments(filter); var availableImports = await ListAvailableImports(filter, programme); var availableMarketGroups = await ListAvailableMarketGroups(filter, programme); vehicle.AvailableDocuments = availableDocuments; vehicle.AvailableImports = availableImports; vehicle.AvailableMarketGroups = availableMarketGroups; } var availableModels = await ListAvailableModels(filter); vehicle.AvailableModels = availableModels; vehicle.Gateway = !string.IsNullOrEmpty(filter.Gateway) ? filter.Gateway : vehicle.Gateway; vehicle.ModelYear = !string.IsNullOrEmpty(filter.ModelYear) ? filter.ModelYear : vehicle.ModelYear; return vehicle; }
public async Task<IEnumerable<OXODoc>> ListAvailableOxoDocuments(VehicleFilter filter) { return await Task.FromResult(_documentDataStore .OXODocGetManyByUser(this.CDSID) .Where(d => IsDocumentForVehicle(d, VehicleFilter.ToVehicle(filter))) .Distinct(new OXODocComparer())); }
public async Task<IVehicle> GetVehicle(ProgrammeFilter filter) { var vehicleFilter = new VehicleFilter() { ProgrammeId = filter.ProgrammeId, Code = filter.Code }; return await GetVehicle(vehicleFilter); }
public static IVehicle ToVehicle(VehicleFilter filter) { return new Vehicle() { ProgrammeId = filter.ProgrammeId, VehicleId = filter.VehicleId, Code = filter.Code, Make = filter.Make, ModelYear = filter.ModelYear, Gateway = filter.Gateway }; }
public static IVehicle ToVehicle(VehicleFilter filter) { return(new Vehicle() { ProgrammeId = filter.ProgrammeId, VehicleId = filter.VehicleId, Code = filter.Code, Make = filter.Make, ModelYear = filter.ModelYear, Gateway = filter.Gateway }); }
private VehicleViewModel GetFullAndPartialVehicleViewModel(VehicleFilter filter) { var vehicleViewModel = new VehicleViewModel() { VehicleIndex = filter.VehicleIndex, Filter = filter, AvailableVehicles = ListAvailableVehicles(filter), PageSize = this.PageSize, PageIndex = this.PageIndex }; return vehicleViewModel; }
private IEnumerable<IVehicle> ListAvailableVehicles(VehicleFilter filter) { var cacheKey = string.Format("VehicleFilter_{0}", filter.GetHashCode()); IEnumerable<IVehicle> vehicles = (IEnumerable<IVehicle>)HttpContext.Cache.Get(cacheKey); if (vehicles != null) return vehicles; vehicles = DataContext.Vehicle.ListAvailableVehicles(filter); HttpContext.Cache.Add(cacheKey, vehicles, null, DateTime.Now.AddMinutes(60), Cache.NoSlidingExpiration, CacheItemPriority.Default, null); return vehicles; }
public async Task<IEnumerable<TakeRateSummary>> ListAvailableImports(VehicleFilter filter, Programme forProgramme) { var imports = await Task.FromResult(_volumeDataStore .FdpTakeRateHeaderGetManyByUsername(new TakeRateFilter() { ProgrammeId = filter.ProgrammeId, Gateway = filter.Gateway }) .CurrentPage .ToList()); foreach (var import in imports) { //import.Vehicle = (Vehicle)HydrateVehicleFromProgramme(forProgramme); //import.Vehicle.Gateway = import.Gateway; } return imports; }
public IEnumerable<IVehicle> ListAvailableVehicles(VehicleFilter filter) { var programmes = ListProgrammes(filter); if (programmes == null || !programmes.Any()) return Enumerable.Empty<IVehicle>(); return programmes.Select(p => HydrateVehicleFromProgramme(p, filter.VehicleIndex)); }
public async Task<IEnumerable<MarketGroup>> ListAvailableMarketGroups(VehicleFilter filter, Programme forProgramme) { var marketGroups = Enumerable.Empty<MarketGroup>(); if (filter.DocumentId.HasValue) { marketGroups = await Task.FromResult(_marketGroupDataStore .MarketGroupGetMany(forProgramme.Id, filter.DocumentId.Value, true)); } else { marketGroups = await Task.FromResult(_marketGroupDataStore .MarketGroupGetMany(true)); } return marketGroups; }
public ActionResult FilterVehicles(VehicleFilter filter) { return Json(GetFullAndPartialVehicleViewModel(filter)); }