/// <summary> /// Adds the actual .dmp file from sourcePath to the repo+storage /// Does NOT start analysis /// </summary> /// <returns></returns> public async Task <DumpMetainfo> CreateDump(string bundleId, FileInfo sourcePath) { DumpMetainfo dumpInfo; string dumpId; dumpId = CreateUniqueDumpId(); dumpInfo = new DumpMetainfo() { BundleId = bundleId, DumpId = dumpId, DumpFileName = Utility.MakeRelativePath(pathHelper.GetUploadsDir(), sourcePath), DumpType = DetermineDumpType(sourcePath), Created = DateTime.Now, Status = DumpStatus.Created }; if (!dumps.ContainsKey(bundleId)) { dumps[bundleId] = new ConcurrentDictionary <string, DumpMetainfo>(); } dumps[bundleId][dumpId] = dumpInfo; storage.Create(dumpInfo.Id); FileInfo destFile = await storage.AddFileCopy(dumpInfo.Id, sourcePath); AddSDFile(dumpInfo.Id, destFile.Name, SDFileType.PrimaryDump); return(dumpInfo); }
/// <summary> /// Adds the actual .dmp file from sourcePath to the repo+storage /// Does NOT start analysis /// </summary> /// <returns></returns> public async Task <DumpMetainfo> CreateDump(string bundleId, FileInfo sourcePath, DumpType dumpType) { DumpMetainfo dumpInfo = CreateDumpMetainfo(bundleId); dumpInfo.DumpFileName = Utility.MakeRelativePath(pathHelper.GetUploadsDir(), sourcePath); dumpInfo.DumpType = dumpType; FileInfo destFile = await storage.AddFileCopy(dumpInfo.Id, sourcePath); AddSDFile(dumpInfo.Id, destFile.Name, SDFileType.PrimaryDump); return(dumpInfo); }