public void SaveTimedEffects(string characterId, Hashtable save) { lock (sync ) { s_Log.InfoFormat("save timed effects for {0}".Color(LogColor.red), characterId); var document = m_Collection.FindOne(Query <TimedEffectsDocument> .EQ(d => d.characterId, characterId)); if (document == null) { document = new TimedEffectsDocument { characterId = characterId }; } document.isNewDocument = false; document.Set(save); m_Collection.Save(document); } }
public Hashtable LoadTimedEffects(string characterId, Res resource, out bool isNew) { lock (sync) { var document = m_Collection.FindOne(Query <TimedEffectsDocument> .EQ(d => d.characterId, characterId)); if (document != null) { isNew = false; return(document.SourceObject(resource)); } else { isNew = true; document = new TimedEffectsDocument { characterId = characterId, isNewDocument = isNew, effects = new Hashtable() }; m_Collection.Save(document); return(document.SourceObject(resource)); } } }