Exemple #1
0
        public PackageFragmentValidationResult Uninstall(SystemLockingType systemLockingType)
        {
            try
            {
                if (systemLockingType == SystemLockingType.None)
                {
                    if (this.UseTransaction)
                    {
                        DoUninstall();
                    }
                    else
                    {
                        DoUninstallWithoutTransaction();
                    }
                }
                else
                {
                    bool isSoftSystemLocking = (systemLockingType == SystemLockingType.Soft);

                    string errorMessage;
                    if (!ApplicationOnlineHandlerFacade.CanPutApplicationOffline(isSoftSystemLocking, out errorMessage))
                    {
                        return(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, errorMessage));
                    }

                    using (ApplicationOnlineHandlerFacade.TurnOffScope(isSoftSystemLocking))
                    {
                        if (this.UseTransaction)
                        {
                            DoUninstall();
                        }
                        else
                        {
                            DoUninstallWithoutTransaction();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, ex));
            }

            return(null);
        }
 protected void ConnectionStringValidator_ServerValidate(object source, ServerValidateEventArgs args)
 {
     try
     {
         SqlConnection conn = new SqlConnection(txtConnectionString.Text);
         conn.Open();
         conn.Close();
     }
     catch (Exception x)
     {
         ConnectionStringValidator.Text = "Connection failed. Please make sure that the connection string is valid and, if updated, restart the server.<!-- <a href='http://docs.composite.net/Composite.Tools.DataStoreMigrator' >More information</a>.--><br /><br />Error details: " + x.Message;
         args.IsValid = false;
         return;
     }
     try
     {
         using (typeof(GlobalInitializerFacade).GetStaticProperty <IDisposable>("CoreLockScope"))
         {
             using (ApplicationOnlineHandlerFacade.TurnOffScope(false))
             {
                 KeyValuePair[] trParams = new KeyValuePair[] { new KeyValuePair("ConnectionStringName", DynamicSqlDataProviderConnectionStringName), new KeyValuePair("ConnectionString", txtConnectionString.Text) };
                 TransformWebConfiguration("SetConnectionString.xslt", trParams);
                 TransformConfiguration("SetDynamicSqlDataProvider.xslt",
                                        new KeyValuePair("ConnectionStringName", DynamicSqlDataProviderConnectionStringName));
             }
         }
     }
     catch (Exception x)
     {
         ConnectionStringValidator.Text = x.Message;
         if (x.InnerException != null)
         {
             ConnectionStringValidator.Text = x.InnerException.Message;
         }
         args.IsValid = false;
         return;
     }
 }
Exemple #3
0
        /// <exclude />
        public PackageFragmentValidationResult Install(SystemLockingType systemLockingType)
        {
            try
            {
                using (GlobalInitializerFacade.CoreLockScope)
                {
                    var onPackageInstallation = OnPackageInstallation;
                    if (onPackageInstallation != null)
                    {
                        onPackageInstallation();
                    }

                    if (systemLockingType == SystemLockingType.None ||
                        !ApplicationOnlineHandlerFacade.IsApplicationOnline ||
                        SystemSetupFacade.SetupIsRunning)
                    {
                        return(DoInstall());
                    }

                    bool isSoftSystemLocking = systemLockingType == SystemLockingType.Soft;

                    string errorMessage;
                    if (!ApplicationOnlineHandlerFacade.CanPutApplicationOffline(isSoftSystemLocking, out errorMessage))
                    {
                        return(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, errorMessage));
                    }

                    using (ApplicationOnlineHandlerFacade.TurnOffScope(isSoftSystemLocking))
                    {
                        return(DoInstall());
                    }
                }
            }
            catch (Exception ex)
            {
                return(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, ex));
            }
        }
    protected void SourceValidator_ServerValidate(object source, ServerValidateEventArgs args)
    {
        if (!TestOutOfBoundStringFields())
        {
            args.IsValid = false;
            return;
        }
        try
        {
            string sourceProviderName = ddlSourceDataProvider.SelectedValue;
            string targetProviderName = DynamicSqlDataProviderName;

            var dataProviderCopier = Reflection.CreateInstance("Composite.Data.DataProviderCopier", sourceProviderName, targetProviderName);

            dataProviderCopier.CallMethod("FullCopy");

            using (typeof(GlobalInitializerFacade).GetStaticProperty <IDisposable>("CoreLockScope"))
            {
                using (ApplicationOnlineHandlerFacade.TurnOffScope(false))
                {
                    TransformConfiguration("SetDefaultDynamicTypeDataProvider.xslt",
                                           new KeyValuePair("DynamicTypeDataProviderName", DynamicSqlDataProviderName));

                    var dynamicXmlDataProviderConfiguration = DataFacade.GetDynamicDataProviderNames()
                                                              .Where(d => d == DynamicXmlDataProviderName)
                                                              .Select(d => Reflection.GetDataProviderConfiguration(d))
                                                              .First();

                    lock (_lock)
                    {
                        var xmlConfigpath = PathUtil.Resolve(DynamicXmlDataProviderConfigPath);
                        File.Move(xmlConfigpath, GetBakPath(xmlConfigpath));

                        var storeDirectory = PathUtil.Resolve(dynamicXmlDataProviderConfiguration.GetProperty("StoreDirectory"));
                        Directory.Move(storeDirectory, GetBakPath(storeDirectory));

                        try
                        {
                            File.Delete(PathUtil.Resolve(TreeDefinitionPath));
                        }
                        //Ignore
                        catch { }
                    }
                }
            }
            ConsoleMessageQueueFacade.Enqueue(new MessageBoxMessageQueueItem
            {
                DialogType = DialogType.Message,
                Message    = lblComplete.Text,
                Title      = lblComplete.Text
            }, null);
            ConsoleMessageQueueFacade.Enqueue(new RebootConsoleMessageQueueItem(), null);
        }
        catch (Exception x)
        {
            SourceValidator.Text = x.Message;
            if (x.InnerException != null)
            {
                SourceValidator.Text = x.InnerException.Message;
            }
            args.IsValid = false;
            return;
        }
    }