예제 #1
0
        private void LoadInfo()
        {
            // Version and SP
            KeyValuePair <string, string> versionAndSP = GetMajorVersionAndServicPack();

            _majorVersion = versionAndSP.Key;
            _servicePack  = versionAndSP.Value;

            // Modified ItemTypes
            _modifiedAdminTypesByLastModifcationDate = AdminType.GetAllAdminTypesOrderByLatestModfied(Inn);

            // DB Upgrade
            var dbUpgradeInfo = new DatabaseUpgradeInfo(Inn);

            _latestDatabaseUpgradeItem = dbUpgradeInfo.GetDatabaseUpgrades()[0];

            // Lastest logged in user
            foreach (User user in User.LatestLoggedInUsers(Inn))
            {
                if (!user.IsAdmin)
                {
                    _lastestLoggedInUserNonAdmin = new KeyValuePair <string, string>(user.KeyedName, user.LastLogin);
                    break;
                }
            }
        }
예제 #2
0
        public async Task <IActionResult> Upgrade([FromServices] DatabaseUpgrade srv)
        {
            try
            {
                await srv.Upgrade();

                return(Content("Success Upgrade"));
            }
            catch (Exception ex)
            {
                return(Content(ex.ToString()));
            }
        }
예제 #3
0
        private void butExecute_Click(object sender, EventArgs e)
        {
            // Cancel
            if (this.cancelUpgrade != null)
            {
                this.MessagesWriteLine("Requesting cancellation ...");
                this.cancelUpgrade.Cancel();
                return;
            }

            // Execute
            try
            {
                this.MessagesWriteLine(string.Empty);
                var dbu = new DatabaseUpgrade(this.manifest, this.txtConnectionString.Text)
                {
                    OptionRepair            = chkRepair.Checked,
                    DisableTransactionScope = disableTransactionScope
                };
                dbu.Message += this.MessagesWriteLine;

                if (this.transactionTimeout.HasValue && this.transactionTimeout > TransactionUtils.MaximumTransactionTimeout)
                {
                    this.MessagesWriteLine(string.Format("Setting transaction timeout to {0}", this.transactionTimeout));
                    TransactionUtils.MaximumTransactionTimeout = this.transactionTimeout.Value;
                }

                this.cancelUpgrade = new CancellationTokenSource();
                this.RefreshControls();

                var upgrade = dbu.ExecuteAsync(this.cancelUpgrade.Token);
                upgrade.ContinueWith(this.UpgradeComplete);
                upgrade.Start();
            }
            catch (Exception ex)
            {
                this.MessagesWriteLine(ex.ToString());
            }
        }
 public override string FixScript(string s)
 {
     return(DatabaseUpgrade.FixScript_MySQL(s));
 }