partial void CopyExtraPropertiesToClone(Organisation clone, bool includeLocalProperties);
public Organisation Clone(bool includeLocalProperties) { var c = new Organisation { Id = Id, IndustryType = IndustryType, LongDescription = LongDescription, Name = Name, OrderNumber = OrderNumber, ShortDescription = ShortDescription, Components = Components.Select(x=>x.Clone(includeLocalProperties)).ToList(), IncidentResolutions = IncidentResolutions.Select(x=>x.Clone(includeLocalProperties)).ToList(), IncidentStatuses = IncidentStatuses.Select(x=>x.Clone(includeLocalProperties)).ToList(), IncidentTypes = IncidentTypes.Select(x=>x.Clone(includeLocalProperties)).ToList(), Priorities = Priorities.Select(x=>x.Clone(includeLocalProperties)).ToList(), ProjectCategories = ProjectCategories.Select(x=>x.Clone(includeLocalProperties)).ToList(), Projects = Projects.Select(x=>x.Clone(includeLocalProperties)).ToList(), RelationshipTypes = RelationshipTypes.Select(x=>x.Clone(includeLocalProperties)).ToList(), RequirementDifficulties = RequirementDifficulties.Select(x=>x.Clone(includeLocalProperties)).ToList(), RequirementStatuses = RequirementStatuses.Select(x=>x.Clone(includeLocalProperties)).ToList(), RequirementTypes = RequirementTypes.Select(x=>x.Clone(includeLocalProperties)).ToList(), Statuses = Statuses.Select(x=>x.Clone(includeLocalProperties)).ToList(), TestTypes = TestTypes.Select(x=>x.Clone(includeLocalProperties)).ToList(), Versions = Versions.Select(x=>x.Clone(includeLocalProperties)).ToList(), }; CopyExtraPropertiesToClone(c, includeLocalProperties); return c; }