/// <summary> /// Clones the specified research. /// </summary> /// <param name="id">ID of research to clone.</param> /// <returns>ID of created Research.</returns> public static Guid CloneResearch(Guid id) { try { AbstractResearch researchToClone = existingResearches[id]; AbstractResearch r = AbstractResearch.CreateResearchByType(researchToClone.GetResearchType()); existingResearches.Add(r.ResearchID, r); r.ModelType = researchToClone.ModelType; r.Storage = AbstractResultStorage.CreateStorage(researchToClone.Storage.GetStorageType(), researchToClone.Storage.StorageString); r.GenerationType = researchToClone.GenerationType; r.TracingPath = researchToClone.TracingPath; r.CheckConnected = researchToClone.CheckConnected; r.RealizationCount = researchToClone.RealizationCount; r.ResearchParameterValues = researchToClone.ResearchParameterValues; r.GenerationParameterValues = researchToClone.GenerationParameterValues; r.AnalyzeOption = researchToClone.AnalyzeOption; return(r.ResearchID); } catch (KeyNotFoundException) { throw new CoreException("Specified research does not exist."); } }
public static ResearchType GetResearchType() { return(existingResearch.GetResearchType()); }