public Dictionary <int, PassiveBonusDbData> LoadPassiveBonuses(string characterID) { lock (sync) { log.InfoFormat("load passive bonuses for character = {0} [red]", characterID); var document = collection.FindOne(Query <PassiveBonusesDocument> .EQ(d => d.characterID, characterID)); if (document == null) { document = new PassiveBonusesDocument { characterID = characterID, bonuses = new Dictionary <int, PassiveBonusDbData>() }; collection.Save(document); } return(document.bonuses); } }
public void SavePassiveBonuses(string characterID, Dictionary <int, PassiveBonusDbData> bonuses) { lock (sync) { log.InfoFormat("save passive bonuses {0} [red]", characterID); var document = collection.FindOne(Query <PassiveBonusesDocument> .EQ(d => d.characterID, characterID)); if (document == null) { document = new PassiveBonusesDocument { characterID = characterID }; } document.Set(bonuses); collection.Save(document); } }