public ActionResult <Guid> Save([FromBody] GameClientDefinition definition) { try { Log.Info($"requested list of game client definitions."); using (var configContext = this.persistenceContextProvider.CreateNewContext()) { var client = configContext.GetById <DataModel.Configuration.GameClientDefinition>(definition.Id) ?? configContext.CreateNew <DataModel.Configuration.GameClientDefinition>(); client.Season = definition.Season; client.Episode = definition.Episode; client.Description = definition.Description; client.Language = definition.Language; client.Serial = definition.Serial; client.Version = definition.Version; configContext.SaveChanges(); return(this.Ok(client.GetId())); } } catch (Exception ex) { Log.Error($"An unexpected exception occured during saving a game client definition", ex); throw; } }
/// <summary> /// Gets the observer. /// </summary> /// <param name="gameClient">The game client.</param> /// <returns>The observer for the client.</returns> public IGameServerStateObserver GetObserver(GameClientDefinition gameClient) { return(this.observers[gameClient]); }