partial void CopyExtraPropertiesToClone(ScriptRun clone, bool includeLocalProperties);
public ScriptRun Clone(bool includeLocalProperties) { var c = new ScriptRun { ActualDuration = ActualDuration, Assignment = Assignment, AssignmentId = AssignmentId, Completed = Completed, CreatedAt = CreatedAt, CreatedBy = CreatedBy, CreatedById = CreatedById, FieldValues = FieldValues, Id = Id, LastUpdatedAt = LastUpdatedAt, LastUpdatedBy = LastUpdatedBy, LastUpdatedById = LastUpdatedById, RunBy = RunBy, RunById = RunById, ScriptId = ScriptId, ScriptVersion = ScriptVersion, Status = Status, StepResults = StepResults.Select(x=>x.Clone(includeLocalProperties)).ToList(), Widgets = Widgets.Select(x=>x.Clone(includeLocalProperties)).ToList(), }; CopyExtraPropertiesToClone(c, includeLocalProperties); return c; }