/// <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.");
            }
        }
Exemplo n.º 2
0
 public static ResearchType GetResearchType()
 {
     return(existingResearch.GetResearchType());
 }