コード例 #1
0
        private static void HydrateOxoDocument(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            volumeModel.Volume.Document = GetOxoDocument(context, volumeModel.Volume.Document);

            volumeModel.Volume.Vehicle.ProgrammeId = volumeModel.Volume.Document.ProgrammeId;
            volumeModel.Volume.Vehicle.Gateway     = volumeModel.Volume.Document.Gateway;
        }
コード例 #2
0
        private static void HydrateMarketGroup(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            if (volumeModel.Volume.MarketGroup is EmptyMarketGroup)
            {
                return;
            }

            volumeModel.Volume.MarketGroup = GetMarketGroup(context, volumeModel.Volume.MarketGroup, volumeModel.Volume.Document);
        }
コード例 #3
0
        private static void HydrateVehicle(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            if (!(volumeModel.Volume.Vehicle is EmptyVehicle))
            {
                return;
            }

            volumeModel.Volume.Vehicle = GetVehicle(context, volumeModel.Volume.Vehicle, volumeModel.Volume.Document);
            // Set this prior to filtering by market
            volumeModel.Volume.TotalDerivatives = volumeModel.Volume.Vehicle.AvailableModels.Count();
        }
コード例 #4
0
        public static async Task <FdpOxoVolumeViewModel> GetModel(IDataContext context,
                                                                  TakeRateFilter filter)
        {
            FdpOxoVolumeViewModel model = null;

            if (filter.Action == TakeRateDataItemAction.SaveChanges)
            {
                model = await GetFullAndPartialViewModelForSave(context, filter);
            }
            return(model);
        }
コード例 #5
0
        private static void HydrateFdpVolumeHeaders(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            var volumeSummary = new List <TakeRateSummary>();

            foreach (var header in volumeModel.Volume.VolumeSummary)
            {
                var newHeader = GetVolumeHeader(context, header);
                //volumeSummary.Add(newHeader);
                //volumeModel.Volume.Vehicle.AvailableImports = newHeader.Vehicle.AvailableImports;
                //volumeModel.Volume.Vehicle.AvailableDocuments = newHeader.Vehicle.AvailableDocuments;
            }

            volumeModel.Volume.VolumeSummary = volumeSummary;
        }
コード例 #6
0
        public static async Task<FdpOxoVolumeViewModel> GetFullAndPartialViewModel(IDataContext context, IVolume forVolume)
        {
            var modelBase = GetBaseModel(context);
            var volumeModel = new FdpOxoVolumeViewModel(modelBase)
            {
                Volume = (Volume)forVolume,
                Configuration = context.ConfigurationSettings,
                Countries = context.References.ListReferencesByKey(countryKey)
            };

            HydrateOxoDocument(context, volumeModel);
            HydrateFdpVolumeHeaders(context, volumeModel);
            await HydrateFdpVolumeHeadersFromOxoDocument(context, volumeModel);
            HydrateVehicle(context, volumeModel);
            HydrateLookups(context, forVolume, volumeModel);
            HydrateMarkets(context, volumeModel);
            HydrateData(context, volumeModel);

            return volumeModel;
        }
コード例 #7
0
        public static async Task <FdpOxoVolumeViewModel> GetFullAndPartialViewModel(IDataContext context, IVolume forVolume)
        {
            var modelBase   = GetBaseModel(context);
            var volumeModel = new FdpOxoVolumeViewModel(modelBase)
            {
                Volume        = (Volume)forVolume,
                Configuration = context.ConfigurationSettings,
                Countries     = context.References.ListReferencesByKey(countryKey)
            };

            HydrateOxoDocument(context, volumeModel);
            HydrateFdpVolumeHeaders(context, volumeModel);
            await HydrateFdpVolumeHeadersFromOxoDocument(context, volumeModel);

            HydrateVehicle(context, volumeModel);
            HydrateLookups(context, forVolume, volumeModel);
            HydrateMarkets(context, volumeModel);
            HydrateData(context, volumeModel);

            return(volumeModel);
        }
コード例 #8
0
 private static void HydrateLookups(IDataContext context, IVolume volume, FdpOxoVolumeViewModel volumeModel)
 {
     volumeModel.VehicleLookup = GetLookup(context, volume.Vehicle);
 }
コード例 #9
0
 private static void HydrateData(IDataContext context, FdpOxoVolumeViewModel volumeModel)
 {
     volumeModel.Volume.VolumeData = ListVolumeData(context, volumeModel.Volume);
 }
コード例 #10
0
        private static void HydrateVehicle(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            if (!(volumeModel.Volume.Vehicle is EmptyVehicle))
                return;

            volumeModel.Volume.Vehicle = GetVehicle(context, volumeModel.Volume.Vehicle, volumeModel.Volume.Document);
            // Set this prior to filtering by market
            volumeModel.Volume.TotalDerivatives = volumeModel.Volume.Vehicle.AvailableModels.Count();
        }
コード例 #11
0
        private async static Task HydrateFdpVolumeHeadersFromOxoDocument(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            if (volumeModel.Volume.VolumeSummary.Any())
                return;

            var volumeHeaders = await ListVolumeSummary(context, volumeModel.Volume);
            volumeModel.Volume.VolumeSummary = volumeHeaders.CurrentPage;
        }
コード例 #12
0
        private static void HydrateOxoDocument(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            volumeModel.Volume.Document = GetOxoDocument(context, volumeModel.Volume.Document);

            volumeModel.Volume.Vehicle.ProgrammeId = volumeModel.Volume.Document.ProgrammeId;
            volumeModel.Volume.Vehicle.Gateway = volumeModel.Volume.Document.Gateway;
        }
コード例 #13
0
 private static void HydrateDerivativesByMarket(IDataContext context, FdpOxoVolumeViewModel volumeModel)
 {
     volumeModel.Volume.Vehicle.AvailableModels = ListAvailableModelsFilteredByMarket(context, volumeModel.Volume);
 }
コード例 #14
0
        private static void HydrateFdpVolumeHeaders(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            var volumeSummary = new List<TakeRateSummary>();
            foreach (var header in volumeModel.Volume.VolumeSummary)
            {
                var newHeader = GetVolumeHeader(context, header);
                //volumeSummary.Add(newHeader);
                //volumeModel.Volume.Vehicle.AvailableImports = newHeader.Vehicle.AvailableImports;
                //volumeModel.Volume.Vehicle.AvailableDocuments = newHeader.Vehicle.AvailableDocuments;
            }

            volumeModel.Volume.VolumeSummary = volumeSummary;
        }
コード例 #15
0
 private static void HydrateMarkets(IDataContext context, FdpOxoVolumeViewModel volumeModel)
 {
     HydrateMarket(context, volumeModel);
     HydrateMarketGroup(context, volumeModel);
     HydrateDerivativesByMarket(context, volumeModel);
 }
コード例 #16
0
        private static void HydrateMarketGroup(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            if (volumeModel.Volume.MarketGroup is EmptyMarketGroup)
                return;

            volumeModel.Volume.MarketGroup = GetMarketGroup(context, volumeModel.Volume.MarketGroup, volumeModel.Volume.Document);
        }
コード例 #17
0
 private static void HydrateLookups(IDataContext context, IVolume volume, FdpOxoVolumeViewModel volumeModel)
 {
     volumeModel.VehicleLookup = GetLookup(context, volume.Vehicle);
 }
コード例 #18
0
 private static void HydrateMarkets(IDataContext context, FdpOxoVolumeViewModel volumeModel)
 {
     HydrateMarket(context, volumeModel);
     HydrateMarketGroup(context, volumeModel);
     HydrateDerivativesByMarket(context, volumeModel);
 }
コード例 #19
0
 private static void HydrateDerivativesByMarket(IDataContext context, FdpOxoVolumeViewModel volumeModel)
 {
     volumeModel.Volume.Vehicle.AvailableModels = ListAvailableModelsFilteredByMarket(context, volumeModel.Volume);
 }
コード例 #20
0
        private async static Task HydrateFdpVolumeHeadersFromOxoDocument(IDataContext context, FdpOxoVolumeViewModel volumeModel)
        {
            if (volumeModel.Volume.VolumeSummary.Any())
            {
                return;
            }

            var volumeHeaders = await ListVolumeSummary(context, volumeModel.Volume);

            volumeModel.Volume.VolumeSummary = volumeHeaders.CurrentPage;
        }
コード例 #21
0
 private static void HydrateData(IDataContext context, FdpOxoVolumeViewModel volumeModel)
 {
     volumeModel.Volume.VolumeData = ListVolumeData(context, volumeModel.Volume);
 }