private void ProcessRequest() { try { if (!m_dbManager.IsDatabaseValid()) { string constructionResult = ""; m_logger.LogInfo("Database invalid. Re-initializing..."); if (m_dbManager.ReCreateDatabase(m_logger, out constructionResult)) { // Recreated the DB m_succeeded = true; } else { m_logger.LogError(constructionResult); } } else { // DB is already valid m_succeeded = true; } } catch (Exception ex) { m_logger.LogError(ex.Message); m_logger.LogError(ex.StackTrace); } finally { m_exitedSignal.Set(); } }
private static bool InitializeDatabase( Logger logger) { DatabaseManagerConfig dbConfig = new DatabaseManagerConfig( ApplicationConstants.CONNECTION_STRING, ApplicationConstants.MOBS_DIRECTORY, ApplicationConstants.MAPS_DIRECTORY); DatabaseManager dbManager = new DatabaseManager(dbConfig); bool databaseValid = false; if (!dbManager.IsDatabaseValid()) { string constructionResult = ""; logger.LogInfo("Database invalid. Re-initializing..."); if (dbManager.ReCreateDatabase(logger, out constructionResult)) { databaseValid = true; } else { logger.LogError(constructionResult); } } else { databaseValid = true; } return databaseValid; }
public string RecreateDatabase() { BasicResponse response = new BasicResponse(); if (RestUtilities.ValidateJSONRequestHasAuthenticatedSession(Session, out response.result) && RestUtilities.ValidateJSONRequestSessionHasAdminOpsLevel(Session, out response.result)) { StringBuilder result = new StringBuilder(); Logger logger = new Logger((string message) => { result.AppendLine(message); }); try { string constructionResult = ""; DatabaseManagerConfig dbConfig = new DatabaseManagerConfig( ApplicationConstants.CONNECTION_STRING, ApplicationConstants.MOBS_DIRECTORY, ApplicationConstants.MAPS_DIRECTORY); DatabaseManager dbManager = new DatabaseManager(dbConfig); if (!dbManager.ReCreateDatabase(logger, out constructionResult)) { logger.LogError(constructionResult); } } catch (System.Exception ex) { logger.LogError(string.Format("Failed to recreate database: {0}", ex.Message)); } response.result = result.ToString(); } return JSONUtilities.SerializeJSONResponse<BasicResponse>(response); }