partial void CopyExtraPropertiesToClone(AgileRun clone, bool includeLocalProperties);
public AgileRun Clone(bool includeLocalProperties) { var c = new AgileRun { ActualDuration = ActualDuration, AgileRunNumberReadOnly = AgileRunNumberReadOnly, AssignedTo = AssignedTo, AssignedToId = AssignedToId, Description = Description, EstimatedDuration = EstimatedDuration, ExecutionStatus = ExecutionStatus, FieldValues = FieldValues, Id = Id, Name = Name, Notes = Notes, Number = Number, Objective = Objective, OrderNumber = OrderNumber, PackageId = PackageId, PackageName = PackageName, PostCondition = PostCondition, PreCondition = PreCondition, Priority = Priority, PriorityId = PriorityId, Project = Project, ProjectId = ProjectId, ProjectName = ProjectName, SourceContainerId = SourceContainerId, SourceId = SourceId, Status = Status, StatusId = StatusId, Type = Type, TypeId = TypeId, Steps = Steps.Select(x=>x.Clone(includeLocalProperties)).ToList(), Widgets = Widgets.Select(x=>x.Clone(includeLocalProperties)).ToList(), }; CopyExtraPropertiesToClone(c, includeLocalProperties); return c; }