public static Tree Create(Imports.TreeBase importedTree) { importedTree.Site.Trip.AssertIsImported(); Tree tree = new Tree { Measurements = new List <Measurement>(), Photos = new List <IPhoto>(), Measurers = new List <Name>() }; tree.AddMeasurement(Measurement.Create(importedTree)); return(tree.RecalculateProperties()); }
public static Measurement Create(Imports.TreeBase importedTree) { importedTree.Site.Trip.AssertIsImported(); var measurement = new Measurement { ImportingTrip = importedTree.Site.Trip, Measured = importedTree.Site.Trip.Date.Value, CommonName = importedTree.CommonName, ScientificName = importedTree.ScientificName.NullIfEmpty() ?? "(Unidentified)", Height = importedTree.Height, HeightMeasurementMethod = importedTree.HeightMeasurementMethod, Girth = importedTree.Girth, CrownSpread = importedTree.CrownSpread, Coordinates = importedTree.Coordinates, CalculatedCoordinates = importedTree.CalculateCoordinates(), Elevation = importedTree.Elevation, GeneralComments = importedTree.GeneralComments, Photos = new List <IPhoto>(), Measurers = new List <Name>(importedTree.Site.Trip.Measurers) }.RecalculateProperties(); measurement.Photos.AddRange(from photo in importedTree.Photos select new TreeMeasurementPhotoReference(photo.ToPhoto(), measurement)); return(measurement); }