private string SaveFileInContentDiscriptor(DatasetVersion datasetVersion) { try { //XXX put function like GetStorePathOriginalFile or GetDynamicStorePathOriginalFile // the function is available in the abstract class datawriter ExcelWriter excelWriter = new ExcelWriter(); // Move Original File to its permanent location String tempPath = TaskManager.Bus[TaskManager.FILEPATH].ToString(); string originalFileName = TaskManager.Bus[TaskManager.FILENAME].ToString(); string storePath = excelWriter.GetFullStorePathOriginalFile(datasetVersion.Dataset.Id, datasetVersion.VersionNo, originalFileName); string dynamicStorePath = excelWriter.GetDynamicStorePathOriginalFile(datasetVersion.Dataset.Id, datasetVersion.VersionNo, originalFileName); string extention = TaskManager.Bus[TaskManager.EXTENTION].ToString(); Debug.WriteLine("extention : " + extention); //Why using the excel writer, isn't any function available in System.IO.File/ Directory, etc. Javad FileHelper.MoveFile(tempPath, storePath); string mimeType = MimeMapping.GetMimeMapping(originalFileName); //Register the original data as a resource of the current dataset version ContentDescriptor originalDescriptor = new ContentDescriptor() { OrderNo = 1, Name = "unstructuredData", MimeType = mimeType, URI = dynamicStorePath, DatasetVersion = datasetVersion, }; // add current contentdesciptor to list datasetVersion.ContentDescriptors.Add(originalDescriptor); return storePath; } catch(Exception e) { return ""; } }
private string MoveAndSaveOriginalFileInContentDiscriptor(DatasetVersion datasetVersion) { TaskManager TaskManager = (TaskManager)Session["TaskManager"]; //dataset id and data structure id are available via datasetVersion properties,why you are passing them via the BUS? Javad long datasetId = Convert.ToInt64(TaskManager.Bus[TaskManager.DATASET_ID]); long dataStructureId = Convert.ToInt64(TaskManager.Bus[TaskManager.DATASTRUCTURE_ID]); DatasetManager datasetManager = new DatasetManager(); string title = TaskManager.Bus[TaskManager.DATASET_TITLE].ToString(); string ext = ".xlsm";// TaskManager.Bus[TaskManager.EXTENTION].ToString(); ExcelWriter excelWriter = new ExcelWriter(); // Move Original File to its permanent location String tempPath = TaskManager.Bus[TaskManager.FILEPATH].ToString(); string originalFileName = TaskManager.Bus[TaskManager.FILENAME].ToString(); string storePath = excelWriter.GetFullStorePathOriginalFile(datasetId, datasetVersion.Id, originalFileName); string dynamicStorePath = excelWriter.GetDynamicStorePathOriginalFile(datasetId, datasetVersion.VersionNo, originalFileName); //Why using the excel writer, isn't any function available in System.IO.File/ Directory, etc. Javad FileHelper.MoveFile(tempPath, storePath); //Register the original data as a resource of the current dataset version ContentDescriptor originalDescriptor = new ContentDescriptor() { OrderNo = 1, Name = "original", MimeType = "application/xlsm", URI = dynamicStorePath, DatasetVersion = datasetVersion, }; if (datasetVersion.ContentDescriptors.Count(p => p.Name.Equals(originalDescriptor.Name)) > 0) { // remove the one contentdesciptor foreach (ContentDescriptor cd in datasetVersion.ContentDescriptors) { if (cd.Name == originalDescriptor.Name) { cd.URI = originalDescriptor.URI; } } } else { // add current contentdesciptor to list datasetVersion.ContentDescriptors.Add(originalDescriptor); } return storePath; }