public static Coordinate GetCoord(string ngrGridRef)
        {
            LatLng latlng;
            if (ngrGridRef.Length == 7)
            {
                var irishref = new IrishRef(ngrGridRef);
                latlng = irishref.ToLatLng();
            }
            else
            {
                var osref = new OSRef(ngrGridRef);
                latlng = osref.ToLatLng();
            }

            return new Coordinate(latlng.Latitude, latlng.Longitude);
        }
        private object GetPlace(dynamic parameters)
        {
            var place = (Place)Database.Open().Places.FindById((int)parameters.id);

            OSRef gridRef = null;
            if(!string.IsNullOrEmpty(place.GridReference))
                try
                {
                    gridRef = new OSRef(Regex.Replace(place.GridReference, @"\s+", ""));
                }
                catch
                {
                    //dont care
                }

            var representation = new HalBuilder(Request.Url.ToString())
                .AddPublicPropertiesOf(place)
                .ConditionallyAddProperty("longitude", gridRef != null, ()=>gridRef.ToLatLng().Longitude)
                .ConditionallyAddProperty("latitude", gridRef != null, ()=>gridRef.ToLatLng().Latitude)
                .Build();

            return Response.AsJson(representation);
        }