public void SaveShipModel(string characterID, ShipModel shipModel) { lock (sync) { log.InfoFormat("save ship model for character = {0} [red]", characterID); var document = ShipModelDocuments.FindOne(Query <ShipModelDocument> .EQ(d => d.CharacterId, characterID)); if (document == null) { document = new ShipModelDocument { CharacterId = characterID }; } document.IsNewDocument = false; document.Set(shipModel); ShipModelDocuments.Save(document); } }
public ShipModel LoadShipModel(string characterID, Res resource, out bool isNew) { lock (sync) { log.InfoFormat("load ship model for character = {0} [red]", characterID); var document = ShipModelDocuments.FindOne(Query <ShipModelDocument> .EQ(d => d.CharacterId, characterID)); if (document != null) { isNew = false; return(document.SourceObject(resource)); } else { isNew = true; document = new ShipModelDocument { CharacterId = characterID, IsNewDocument = isNew }; ShipModelDocuments.Save(document); return(document.SourceObject(resource)); } } }