public void LoadBadges()
        {
            var type   = typeof(IBadge);
            var badges = AppDomain.CurrentDomain.GetAssemblies()
                         .SelectMany(s => s.GetTypes())
                         .Where(p => type.IsAssignableFrom(p) && p.IsClass);

            var db         = new DatabaseAccess.DatabaseManager();
            var collection =
                db.GetDatabase().GetCollection <IBadge>(typeof(IBadge).Name);

            foreach (var badge in badges)
            {
                var query = Query.EQ("_t", badge.Name);
                var b     = collection.FindOne(query);
                if (b == null)
                {
                    b = (IBadge)Activator.CreateInstance(Type.GetType(badge.FullName));
                    db.Insert <IBadge>(b);
                }
            }
        }
        public void LoadBadges()
        {
            log.Info("Loading badges");
            var type = typeof(IBadge);
            var badges = AppDomain.CurrentDomain.GetAssemblies()
                .SelectMany(s => s.GetTypes())
                .Where(p => type.IsAssignableFrom(p) && p.IsClass);

            var db = new DatabaseAccess.DatabaseManager();
            var collection =
                db.GetDatabase().GetCollection<IBadge>(typeof(IBadge).Name);
            foreach (var badge in badges)
            {                              
                var query = Query.EQ("_t", badge.Name);
                var b = collection.FindOne(query);
                if (b == null)
                {                
                    b = (IBadge)Activator.CreateInstance(Type.GetType(badge.FullName));
                    db.Insert<IBadge>(b);
                }                
            }
                
        }