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()); }
private static byte[] getWrittenFileFromCache(SingleIndicatorFileWriter fileWriter) { return(fileWriter.TryLoadFile()); }
private static bool HasBeenWrittenFileFromCache(SingleIndicatorFileWriter fileWriter) { byte[] bytes = null; bytes = fileWriter.TryLoadFile(); return(bytes != null); }