Ejemplo n.º 1
0
 public override FuzzyString Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
 {
     return(new FuzzyString
     {
         Value = docSerializer.Deserialize(context, args)
                 .GetValue("Value").AsString
     });
 }
Ejemplo n.º 2
0
        public override NameValueCollection Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
        {
            BsonDocument doc = documentserializer.Deserialize(context);
            var          nvc = new NameValueCollection();

            foreach (var prop in doc)
            {
                nvc.Add(prop.Name.Replace('|', '.'), prop.Value.ToString());
            }

            return(nvc);
        }
Ejemplo n.º 3
0
        public override Date Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
        {
            var ticks = docSerializer.Deserialize(context, args)
                        .GetValue("Ticks").AsInt64;

            return
                ((ticks == 0) ?
                 null :
                 new Date()
            {
                DateTime = new DateTime(ticks, DateTimeKind.Utc)
            });
        }
Ejemplo n.º 4
0
        public async Task <GeocodeComponents> LookupGeocode(string query)
        {
            // build request
            var request = new RestRequest("geocode/json");

            request.AddQueryParameter("key", _apiKey);
            request.AddQueryParameter("address", query);

            // get results
            var response = await RestClient.ExecuteGetTaskAsync(request);

            using (var jsonReader = new MongoDB.Bson.IO.JsonReader(response.Content))
            {
                // parse to bson
                var serializer   = new BsonDocumentSerializer();
                var bsonDocument = serializer.Deserialize(BsonDeserializationContext.CreateRoot(jsonReader));

                // cast to geocode components
                var geocode = new GeocodeComponents(bsonDocument);
                return(geocode);
            }
        }
Ejemplo n.º 5
0
        public async Task <List <BsonDocument> > GetUsers(List <BsonDocument> statistics)
        {
            var users = await Task.WhenAll(statistics.Select(async o =>
            {
                // get user login
                var login = o["author"]["login"].AsString;

                // retrieve user
                var requestUrl = $"users/{login}";
                var response   = await GitClient.ExecuteAsGitGetTaskAsync(_token, requestUrl);

                // parse and return
                using (var jsonReader = new MongoDB.Bson.IO.JsonReader(response.Content))
                {
                    var serializer   = new BsonDocumentSerializer();
                    var bsonDocument = serializer.Deserialize(BsonDeserializationContext.CreateRoot(jsonReader));

                    return(bsonDocument);
                }
            }));

            return(new List <BsonDocument>(users));
        }