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); } } }