Пример #1
0
        public byte[] GetIndicatorDataFile(int indicatorId)
        {
            fileWriter = new SingleIndicatorFileWriter(indicatorId, _attributesForBodyContainer.GeneralParameters);

            // Don't recalculate if exist
            if (HasBeenWrittenFileFromCache(fileWriter))
            {
                return(getWrittenFileFromCache(fileWriter));
            }

            if (HasBeenIgnoreFileWriterSettings(indicatorId))
            {
                // Empty file
                return(new byte[] { });
            }

            var grouping          = _attributesForBodyContainer.GetGrouping(indicatorId, _attributesForBodyContainer.OnDemandParameters.GroupIds);
            var indicatorMetadata = FindIndicatorMetadata(grouping);

            WriterInitialization(grouping, indicatorMetadata);
            WriteIndicatorDataBodyInFile(indicatorId, indicatorMetadata, grouping);

            return(fileWriter.GetFileContent());
        }
Пример #2
0
 private static byte[] getWrittenFileFromCache(SingleIndicatorFileWriter fileWriter)
 {
     return(fileWriter.TryLoadFile());
 }
Пример #3
0
 private static bool HasBeenWrittenFileFromCache(SingleIndicatorFileWriter fileWriter)
 {
     byte[] bytes = null;
     bytes = fileWriter.TryLoadFile();
     return(bytes != null);
 }