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);
        }
Exemplo n.º 2
0
 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>();
 }
Exemplo n.º 4
0
 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);
        }