private static async Task <IVehicle> GetVehicle(IDataContext context, Vehicle forVehicle, OXODoc forDocument) { IVehicle vehicle = new EmptyVehicle(); var cacheKey = string.Format("Vehicle_{0}_{1}_{2}", forVehicle.ProgrammeId, forVehicle.Gateway, forDocument.Id); //var cachedLookup = GetCache(cacheKey); //if (cachedLookup != null) //{ // vehicle = (Vehicle) cachedLookup; //} //else //{ // Do not deep get all vehicle details such as markets, derivatives, etc, as these are populated elsewhere vehicle = await context.Vehicle.GetVehicle(new VehicleFilter() { ProgrammeId = forVehicle.ProgrammeId, Gateway = forVehicle.Gateway, DocumentId = forDocument.Id, Deep = false }); if (!(vehicle is EmptyVehicle)) { AddCache(cacheKey, vehicle); } //} return(vehicle); }
public EmptyTakeRateDocument() { UnderlyingOxoDocument = new EmptyOxoDocument(); Vehicle = new EmptyVehicle(); Market = new EmptyMarket(); MarketGroup = new EmptyMarketGroup(); }
public TakeRateDocument() { UnderlyingOxoDocument = new EmptyOxoDocument(); MarketGroup = new EmptyMarketGroup(); Market = new EmptyMarket(); Vehicle = new EmptyVehicle(); TakeRateData = new EmptyTakeRateData(); Mode = TakeRateResultMode.PercentageTakeRate; TakeRateSummary = new List <TakeRateSummary>(); }
private void InitialiseMembers() { Makes = Enumerable.Empty <SelectListItem>(); Programmes = Enumerable.Empty <SelectListItem>(); ModelYears = Enumerable.Empty <SelectListItem>(); Gateways = Enumerable.Empty <SelectListItem>(); TrimLevels = Enumerable.Empty <SelectListItem>(); LookupVehicle = new EmptyVehicle(); AvailableVehicles = Enumerable.Empty <IVehicle>(); }
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); }