private static DataBaseService.PingDbState TryToReachDBAtStartSession() { // Запуск первый? ------------------------------------------------------------------- if (AppServiceStartAction.isAppFistRun) { // Да первый // Выставляем что первый был AppServiceStartAction.isAppFistRun = false; // Просто возвращаем результат Аппликейшена return(AppServiceStartAction.state); } // Не первый запуск. ---------------------------------------------------------------- // пингуем базу, что там сейчас с ней? var sessionStartDbRes = DataBaseService.CheckDbStates(); if (sessionStartDbRes == DataBaseService.PingDbState.NoError) { // Все ок, база сейчас работает. а приложение было запушено? if (AppServiceStartAction.state != DataBaseService.PingDbState.NoError) { // Вызываем повторный старт приложения. ApplicationService.RunDbDependAppStartServices(); // Обновляем статус в приложении, что все хорошо, больше запускаться не нужно AppServiceStartAction.state = DataBaseService.PingDbState.NoError; } } // Возвращаем состояние старта на сессии return(sessionStartDbRes); }
/// <summary> /// CheckDbStates Check all db states /// </summary> /// <returns></returns> public static PingDbState CheckDbStates() { if (!DataBaseService.PingDateBase()) { return(PingDbState.FailConnectionSqlDb); } if (!DataBaseService.CheckDBStructure()) { return(PingDbState.WrongDbStructure); } if (!DataBaseService.CheckDBVersion()) { return(PingDbState.WrongDbVersion); } return(PingDbState.NoError); }