public virtual Site RecalculateProperties() { OwnershipType = LastVisit.OwnershipType; Coordinates = CalculateCoordinates(); CalculatedCoordinates = CalculateCalculatedCoordinates(); OwnershipContactInfo = LastVisit.OwnershipContactInfo; MakeOwnershipContactInfoPublic = LastVisit.MakeOwnershipContactInfoPublic; Photos.RemoveAll().AddRange(from photo in LastVisit.Photos select new SitePhotoReference(photo.ToPhoto(), this)); VisitCount = Visits.Count; Visitors.RemoveAll().AddRange( (from visit in Visits from visitor in visit.Visitors select visitor).Distinct()); return(this); }