private string storeGeneratedFilePathToContentDiscriptor(long datasetId, DatasetVersion datasetVersion, string title, string ext) { string name = ""; string mimeType = ""; if (ext.Contains("csv")) { name = "datastructure"; mimeType = "text/comma-separated-values"; } if (ext.Contains("html")) { name = title; mimeType = "application/html"; } using (DatasetManager dm = new DatasetManager()) { int versionNr = dm.GetDatasetVersionNr(datasetVersion); // create the generated FileStream and determine its location string dynamicPath = OutputDatasetManager.GetDynamicDatasetStorePath(datasetId, versionNr, title, ext); //Register the generated data FileStream as a resource of the current dataset version //ContentDescriptor generatedDescriptor = new ContentDescriptor() //{ // OrderNo = 1, // Name = name, // MimeType = mimeType, // URI = dynamicPath, // DatasetVersion = datasetVersion, //}; if (datasetVersion.ContentDescriptors.Count(p => p.Name.Equals(name)) > 0) { // remove the one contentdesciptor foreach (ContentDescriptor cd in datasetVersion.ContentDescriptors) { if (cd.Name == name) { cd.URI = dynamicPath; dm.UpdateContentDescriptor(cd); } } } else { // add current contentdesciptor to list //datasetVersion.ContentDescriptors.Add(generatedDescriptor); dm.CreateContentDescriptor(name, mimeType, dynamicPath, 1, datasetVersion); } //dm.EditDatasetVersion(datasetVersion, null, null, null); return(dynamicPath); } }
private static void storeGeneratedFilePathToContentDiscriptor(long datasetId, DatasetVersion datasetVersion, string title, string ext) { string name = ""; string mimeType = ""; if (ext.Contains("xml")) { name = "metadata"; mimeType = "text/xml"; } DatasetManager dm = new DatasetManager(); int versionNr = dm.GetDatasetVersionNr(datasetVersion); // create the generated FileStream and determine its location string dynamicPath = OutputDatasetManager.GetDynamicDatasetStorePath(datasetId, versionNr, title, ext); //Register the generated data FileStream as a resource of the current dataset version //ContentDescriptor generatedDescriptor = new ContentDescriptor() //{ // OrderNo = 1, // Name = name, // MimeType = mimeType, // URI = dynamicPath, // DatasetVersion = datasetVersion, //}; try { datasetVersion = dm.GetDatasetVersion(datasetVersion.Id); if (datasetVersion.ContentDescriptors.Count(p => p.Name.Equals(name)) > 0) { // remove the one contentdesciptor foreach (ContentDescriptor cd in datasetVersion.ContentDescriptors) { if (cd.Name == name) { cd.URI = dynamicPath; dm.UpdateContentDescriptor(cd); } } } else { // add current contentdesciptor to list //datasetVersion.ContentDescriptors.Add(generatedDescriptor); dm.CreateContentDescriptor(name, mimeType, dynamicPath, 1, datasetVersion); } //dm.EditDatasetVersion(datasetVersion, null, null, null); } finally { dm.Dispose(); } }
private void storeGeneratedFilePathToContentDiscriptor(long datasetId, DatasetVersion datasetVersion, string ext, bool withUnits) { DatasetManager dm = new DatasetManager(); string nameExt = ""; if (withUnits) { nameExt = "_withunits"; } try { string name = ""; string mimeType = ""; if (ext.Contains("csv")) { name = "generatedCSV" + nameExt; mimeType = "text/csv"; } if (ext.Contains("txt")) { name = "generatedTXT" + nameExt; mimeType = "text/plain"; } if (ext.Contains("tsv")) { name = "generatedTSV" + nameExt; mimeType = "text/tsv"; } if (ext.Contains("xlsm")) { name = "generated"; mimeType = "application/xlsm"; } if (ext.Contains("xlsx")) { name = "generatedExcel" + nameExt; mimeType = "application/xlsx"; } int versionNr = dm.GetDatasetVersionNr(datasetVersion); // create the generated FileStream and determine its location string dynamicPath = IOHelper.GetDynamicStorePath(datasetId, versionNr, "data" + nameExt, ext); //Register the generated data FileStream as a resource of the current dataset version //ContentDescriptor generatedDescriptor = new ContentDescriptor() //{ // OrderNo = 1, // Name = name, // MimeType = mimeType, // URI = dynamicPath, // DatasetVersion = datasetVersion, //}; if (datasetVersion.ContentDescriptors.Count(p => p.Name.Equals(name)) > 0) { // remove the one contentdesciptor foreach (ContentDescriptor cd in datasetVersion.ContentDescriptors) { if (cd.Name == name) { cd.URI = dynamicPath; dm.UpdateContentDescriptor(cd); } } } else { // add current contentdesciptor to list //datasetVersion.ContentDescriptors.Add(generatedDescriptor); dm.CreateContentDescriptor(name, mimeType, dynamicPath, 1, datasetVersion); } //dm.EditDatasetVersion(datasetVersion, null, null, null); } finally { dm.Dispose(); } }