コード例 #1
0
 public EmptyTakeRateDocument()
 {
     UnderlyingOxoDocument = new EmptyOxoDocument();
     Vehicle = new EmptyVehicle();
     Market = new EmptyMarket();
     MarketGroup = new EmptyMarketGroup();
 }
コード例 #2
0
        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;
        }
コード例 #3
0
 public TakeRateDocument()
 {
     UnderlyingOxoDocument = new EmptyOxoDocument();
     MarketGroup = new EmptyMarketGroup();
     Market = new EmptyMarket();
     Vehicle = new EmptyVehicle();
     TakeRateData = new EmptyTakeRateData();
     Mode = TakeRateResultMode.PercentageTakeRate;
     TakeRateSummary = new List<TakeRateSummary>();
 }
コード例 #4
0
        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;
        }
コード例 #5
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>();
 }