public UpdateProcessViewModel( INavigationManager navigation, UpdateConfiguration configuration, IMySQLProvider mySQLProvider, IApplicationInfo applicationInfo, ParametersService parametersService, IInteractiveService interactive, IGuiDispatcher guiDispatcher) : base(navigation) { this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); SQLProvider = mySQLProvider; this.applicationInfo = applicationInfo ?? throw new ArgumentNullException(nameof(applicationInfo)); this.parametersService = parametersService ?? throw new ArgumentNullException(nameof(parametersService)); this.interactive = interactive ?? throw new ArgumentNullException(nameof(interactive)); this.guiDispatcher = guiDispatcher ?? throw new ArgumentNullException(nameof(guiDispatcher)); FileName = System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Резервные копии", String.Format("{0}{1:yyMMdd-HHmm}.sql", applicationInfo.ProductName, DateTime.Now) ); IsModal = true; //FIXME Здесь проверка micro_updates оставлена для совместимости и возможности корректного обновления со старых версий программ. Удаление сделает невозможным начать обновление с установленного микроапдейта. dbVersion = this.parametersService.micro_updates != null?this.parametersService.micro_updates(typeof(Version)) : this.parametersService.version(typeof(Version)); hops = configuration.GetHopsToLast(dbVersion).ToArray(); Title = String.Format("Обновление: {0} → {1}", dbVersion.VersionToShortString(), hops.Last().Destination.VersionToShortString()); }
public UpdateProcessViewModel( INavigationManager navigation, UpdateConfiguration configuration, IMySQLProvider mySQLProvider, IApplicationInfo applicationInfo, ParametersService parametersService, IInteractiveService interactive, IGuiDispatcher guiDispatcher) : base(navigation) { this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); SQLProvider = mySQLProvider; this.applicationInfo = applicationInfo ?? throw new ArgumentNullException(nameof(applicationInfo)); this.parametersService = parametersService ?? throw new ArgumentNullException(nameof(parametersService)); this.interactive = interactive ?? throw new ArgumentNullException(nameof(interactive)); this.guiDispatcher = guiDispatcher ?? throw new ArgumentNullException(nameof(guiDispatcher)); FileName = System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Резервные копии", String.Format("{0}{1:yyMMdd-HHmm}.sql", applicationInfo.ProductName, DateTime.Now) ); IsModal = true; dbVersion = GetCurrentDBVersion(); hops = configuration.GetHopsToLast(dbVersion).ToArray(); Title = String.Format("Обновление: {0} → {1}", dbVersion.VersionToShortString(), hops.Last().Destination.VersionToShortString()); }
public MySQLUserRepository(IMySQLProvider mysqlProvider, IInteractiveService interactiveService) { this.mysqlProvider = mysqlProvider ?? throw new ArgumentNullException(nameof(mysqlProvider)); this.interactiveService = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService)); }