Пример #1
0
        /// <summary>
        ///     Deploys the application asynchronously.
        /// </summary>
        /// <param name="state">The state.</param>
        private void DeployAsynchronous(object state)
        {
            var package = state as Package;

            var context = new RoutedProcessingContext(message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message);

            if (package != null)
            {
                var tenantId = package.SelectedTenant.EntityId;

                using (new TenantAdministratorContext(0))
                {
                    AppManager.UpgradeApp(tenantId, package.AppVerId, context);
                }

                using (new TenantAdministratorContext(tenantId))
                {
                    TenantHelper.Invalidate(new EntityRef(tenantId));
                }
            }

            IsBusy = false;

            System.Windows.Application.Current.Dispatcher.Invoke(LoadPackages);
        }
Пример #2
0
        /// <summary>
        ///     Runs the export asynchronously.
        /// </summary>
        /// <param name="state">The state.</param>
        private void ExportAsynchronous(object state)
        {
            var context = new RoutedProcessingContext(message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message);

            FileInfo info = new FileInfo(( string )state);

            Format format = Format.Undefined;

            if (info.Extension.Equals(".db", StringComparison.OrdinalIgnoreCase))
            {
                format = Format.Sqlite;
            }

            AppManager.ExportAppPackage(SelectedPackage.AppVerId, ( string )state, format, context);

            IsBusy = false;
        }
Пример #3
0
        /// <summary>
        ///     Deploys the application asynchronously.
        /// </summary>
        /// <param name="state">The state.</param>
        private void RepairAsynchronous(object state)
        {
            var package = state as Package;

            var context = new RoutedProcessingContext(message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message);

            using (new TenantAdministratorContext(0))
            {
                if (package != null)
                {
                    AppManager.RepairApp(package.SelectedTenant.EntityId, package.AppVerId, context);
                }
            }

            IsBusy = false;

            System.Windows.Application.Current.Dispatcher.Invoke(LoadPackages);
        }
        /// <summary>
        ///     Runs the import method asynchronously.
        /// </summary>
        /// <param name="state">The state.</param>
        private void ImportAsynchronous(object state)
        {
            var context = new RoutedProcessingContext(message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message, message => BusyMessage = message);

            var packagePaths = ( string[] )state;

            foreach (string packagePath in packagePaths)
            {
                Guid appVerId;
                using (new TenantAdministratorContext(0))
                {
                    appVerId = AppManager.ImportAppPackage(packagePath, context);
                }

                Package package = Package.GetPackage(appVerId);

                if (package != null)
                {
                    Application.Current.Dispatcher.Invoke(new Action <Package>(AddPackage), package);
                }
            }

            IsBusy = false;
        }