private static async Task <OXODoc> HydrateOxoDocument(IDataContext context, TakeRateViewModel volumeModel)
        {
            var    watch  = Stopwatch.StartNew();
            OXODoc retVal = new EmptyOxoDocument();

            if (!(volumeModel.Document.UnderlyingOxoDocument is EmptyOxoDocument))
            {
                volumeModel.Document.UnderlyingOxoDocument =
                    await GetOxoDocument(context, volumeModel.Document.UnderlyingOxoDocument);
            }
            else
            {
                volumeModel.Document.UnderlyingOxoDocument =
                    await GetOxoDocumentFromTakeRateFile(context, volumeModel.Document);
            }

            volumeModel.Document.Vehicle.ProgrammeId = volumeModel.Document.UnderlyingOxoDocument.ProgrammeId;
            volumeModel.Document.Vehicle.Gateway     = volumeModel.Document.UnderlyingOxoDocument.Gateway;

            retVal = volumeModel.Document.UnderlyingOxoDocument;

            watch.Stop();
            Log.Debug(watch.ElapsedMilliseconds);

            return(retVal);
        }
Beispiel #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>();
 }
Beispiel #4
0
        public async Task <OXODoc> GetUnderlyingOxoDocument(TakeRateFilter filter)
        {
            OXODoc document = new EmptyOxoDocument();

            if (!filter.DocumentId.HasValue)
            {
                var summary = _takeRateDataStore.FdpTakeRateHeaderGet(filter);
                document = _documentDataStore.OXODocGet(summary.OxoDocId, filter.ProgrammeId.GetValueOrDefault());
            }
            else
            {
                document = _documentDataStore.OXODocGet(filter.DocumentId.Value, filter.ProgrammeId.GetValueOrDefault());
            }

            return(await Task.FromResult(document));
        }
Beispiel #5
0
        private static OXODoc GetOxoDocument(IDataContext context, OXODoc forOxoDocument)
        {
            OXODoc oxoDocument  = new EmptyOxoDocument();
            var    cacheKey     = string.Format("OxoDocument_{0}", forOxoDocument.Id);
            var    cachedLookup = HttpContext.Current.Cache.Get(cacheKey);

            if (cachedLookup != null)
            {
                oxoDocument = (OXODoc)cachedLookup;
            }
            else
            {
                oxoDocument = context.Volume.GetOxoDocument(new VolumeFilter()
                {
                    OxoDocId = forOxoDocument.Id, ProgrammeId = forOxoDocument.ProgrammeId
                });
                HttpContext.Current.Cache.Add(cacheKey, oxoDocument, null, DateTime.Now.AddMinutes(60), Cache.NoSlidingExpiration, CacheItemPriority.Default, null);
            }
            return(oxoDocument);
        }
 private static OXODoc GetOxoDocument(IDataContext context, OXODoc forOxoDocument)
 {
     OXODoc oxoDocument = new EmptyOxoDocument();
     var cacheKey = string.Format("OxoDocument_{0}", forOxoDocument.Id);
     var cachedLookup = HttpContext.Current.Cache.Get(cacheKey);
     if (cachedLookup != null)
     {
         oxoDocument = (OXODoc)cachedLookup;
     }
     else
     {
         oxoDocument = context.Volume.GetOxoDocument(new VolumeFilter() { OxoDocId = forOxoDocument.Id, ProgrammeId = forOxoDocument.ProgrammeId });
         HttpContext.Current.Cache.Add(cacheKey, oxoDocument, null, DateTime.Now.AddMinutes(60), Cache.NoSlidingExpiration, CacheItemPriority.Default, null);
     }
     return oxoDocument;
 }