示例#1
0
        private VisitedPlaceDataObject MapSparqlResultToVisitedPlace(SparqlResult result, bool mapId = true)
        {
            var visitedPlace = new VisitedPlaceDataObject();

            if (mapId)
            {
                visitedPlace.Id = new Guid((result.Where(r => r.Key == "VisitedPlace").Single().Value as UriNode).Uri.Fragment.TrimStart('#'));
            }

            visitedPlace.Date        = DateTime.ParseExact((result.Where(r => r.Key == "Date").Single().Value as BaseLiteralNode).Value, "yyyy-MM-dd", CultureInfo.InvariantCulture);
            visitedPlace.Description = (result.Where(r => r.Key == "Description").Single().Value as BaseLiteralNode)?.Value;

            if (result.Where(r => r.Key == "PlaceOrCountry").Count() == 1)
            {
                visitedPlace.Typeofplace = (PlaceTypesEnum)Enum.Parse(typeof(PlaceTypesEnum), (result.Where(r => r.Key == "PlaceOrCountry").Single().Value as BaseLiteralNode)?.Value);
            }

            if (result.Where(r => r.Key == "CountryURI").Count() == 1)
            {
                visitedPlace.CountryURI = (result.Where(r => r.Key == "CountryURI").Single().Value as UriNode).Uri.ToString();
            }

            if (result.Where(r => r.Key == "PlaceURI").Count() == 1)
            {
                visitedPlace.PlaceURI = (result.Where(r => r.Key == "PlaceURI").Single().Value as UriNode).Uri.ToString();
            }

            visitedPlace.IsNew   = false;
            visitedPlace.IsDirty = false;

            return(visitedPlace);
        }