/// <inheritdoc /> public PointOfInterest Convert(PointOfInterestDTO value, object state) { var entity = new UnknownPointOfInterest(); this.Merge(entity, value, state); return(entity); }
/// <inheritdoc /> public PointOfInterest Convert(PointOfInterestDataContract value, object state) { if (value == null) { throw new ArgumentNullException("value", "Precondition: value != null"); } PointOfInterest pointOfInterest; switch (value.Type) { case "unlock": pointOfInterest = new Dungeon(); break; case "landmark": pointOfInterest = new Landmark(); break; case "vista": pointOfInterest = new Vista(); break; case "waypoint": pointOfInterest = new Waypoint(); break; default: pointOfInterest = new UnknownPointOfInterest(); break; } pointOfInterest.PointOfInterestId = value.PointOfInterestId; pointOfInterest.Name = value.Name; pointOfInterest.Floor = value.Floor; var coordinates = value.Coordinates; if (coordinates != null && coordinates.Length == 2) { pointOfInterest.Coordinates = this.converterForVector2D.Convert(coordinates, state); } return(pointOfInterest); }
// Implement this method in a buddy class to set properties that are specific to 'UnknownPointOfInterest' (if any) partial void Merge(UnknownPointOfInterest entity, PointOfInterestDTO dto, object state);