public string CreateFile(long datasetId, long datasetVersionOrderNr, long dataStructureId, string title, string extention)
{
string dataPath = GetFullStorePath(datasetId, datasetVersionOrderNr, title, extention);
//Template will not be filtered by columns
if (this.VisibleColumns == null)
{
#region generate file with full datastructure
string dataStructureFilePath = GetDataStructureTemplatePath(dataStructureId, extention);
//dataPath = GetStorePath(datasetId, datasetVersionOrderNr, title, extention);
try
{
SpreadsheetDocument dataStructureFile = SpreadsheetDocument.Open(dataStructureFilePath, true);
SpreadsheetDocument dataFile = SpreadsheetDocument.Create(dataPath,
dataStructureFile.DocumentType);
foreach (OpenXmlPart part in dataStructureFile.GetPartsOfType<OpenXmlPart>())
{
OpenXmlPart newPart = dataFile.AddPart<OpenXmlPart>(part);
}
dataFile.WorkbookPart.Workbook.Save();
dataStructureFile.Dispose();
dataFile.Dispose();
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
#endregion
}
// create a file with a subset of variables
if (this.VisibleColumns != null)
{
/// call templateprovider from rpm
ExcelTemplateProvider provider = new ExcelTemplateProvider();
string path = GetStorePath(datasetId, datasetVersionOrderNr);
string newTitle = GetNewTitle(datasetId, datasetVersionOrderNr, title, extention);
provider.CreateTemplate(getVariableIds(this.VisibleColumns), dataStructureId, path, newTitle);
}
return dataPath;
}