Exemple #1
0
        public SessionDefinition Clone()
        {
            var clone = (SessionDefinition)this.MemberwiseClone();

            clone.Recorders = Recorders?.Select(r => r.Clone()).ToList() ?? new List <SessionRecorderDefinition>();
            clone.Devices   = Devices?.Select(d => d.Clone()).ToList();
            clone.Welcome   = Welcome?.Clone() as WelcomeActionSettings;

            clone.PreSessionSteps = PreSessionSteps?.Select(s => s.Clone()).ToList()
                                    ?? new List <SessionStep>();

            clone.SessionSteps = SessionSteps?.Select(s => s.Clone()).ToList()
                                 ?? new List <SessionStep>();

            clone.PostSessionSteps = PostSessionSteps?.Select(s => s.Clone()).ToList()
                                     ?? new List <SessionStep>();

            return(clone);
        }