Esempio n. 1
0
        private async Task ProbeSystem(HttpResponse response)
        {
            await WritePageContent(response,
                                   "ProbingSystem", //SetupResources.ProbingSystemMessage,
                                   false);

            //dbPlatform = setupManager.DBPlatform;

            setupManager.EnsureDatabaseIfPossible();
            //dataFolderIsWritable = mojoSetup.DataFolderIsWritable();


            //if (dataFolderIsWritable)
            //{
            //    await WritePageContent(response,
            //        "FileSystemPermissionsOK", //SetupResources.FileSystemPermissionsOKMesage,
            //        false);
            //}
            //else
            //{
            //    await WritePageContent(response,
            //        "FileSystemPermissionProblems", //SetupResources.FileSystemPermissionProblemsMessage,
            //        false);

            //    //WritePageContent(
            //    //    "<div>" + GetFolderDetailsHtml() + "</div>",
            //    //    false);
            //}

            canAccessDatabase = setupManager.CanAccessDatabase();



            if (canAccessDatabase)
            {
                await WritePageContent(response,
                                       setupManager.DBPlatform
                                       + " " + "DatabaseConnectionOK", // SetupResources.DatabaseConnectionOKMessage,
                                       false);
            }
            else
            {
                string dbError = string.Format(
                    "FailedToConnectToDatabase", //SetupResources.FailedToConnectToDatabase,
                    setupManager.DBPlatform);

                await WritePageContent(response, "<div>" + dbError + "</div>", false);

                showConnectionError = setupOptions.ShowConnectionError;


                if (showConnectionError)
                {
                    await WritePageContent(response,
                                           "<div>" + setupManager.GetDbConnectionError()
                                           + "</div>",
                                           false);
                }
            }


            if (canAccessDatabase)
            {
                canAlterSchema = setupManager.CanAlterSchema();

                if (canAlterSchema)
                {
                    await WritePageContent(response,
                                           "DatabaseCanAlterSchema", //SetupResources.DatabaseCanAlterSchemaMessage,
                                           false);
                }
                else
                {
                    if (setupOptions.TryAnywayIfFailedAlterSchemaTest)
                    {
                        canAlterSchema = true;
                    }
                    else
                    {
                        await WritePageContent(response,
                                               "<div>" + "CantAlterSchemaWarning" // SetupResources.CantAlterSchemaWarning
                                               + "</div>",
                                               false);
                    }
                }

                schemaHasBeenCreated = setupManager.SiteTableExists();

                if (schemaHasBeenCreated)
                {
                    await WritePageContent(response,
                                           "DatabaseSchemaAlreadyExists", //SetupResources.DatabaseSchemaAlreadyExistsMessage,
                                           false);


                    needCoreSchemaUpgrade = setupManager.NeedsUpgrade("cloudscribe-core");

                    if (needCoreSchemaUpgrade)
                    {
                        await WritePageContent(response,
                                               "DatabaseSchemaNeedsUpgrade", //SetupResources.DatabaseSchemaNeedsUpgradeMessage,
                                               false);
                    }
                    else
                    {
                        await WritePageContent(response,
                                               "DatabaseSchemaUpToDate", //SetupResources.DatabaseSchemaUpToDateMessage,
                                               false);
                    }

                    existingSiteCount = setupManager.ExistingSiteCount();

                    await WritePageContent(response,
                                           string.Format(
                                               "ExistingSiteCount", //SetupResources.ExistingSiteCountMessage,
                                               existingSiteCount.ToString()),
                                           false);
                }
                else
                {
                    await WritePageContent(response,
                                           "DatabaseSchemaNotCreatedYet", //SetupResources.DatabaseSchemaNotCreatedYetMessage,
                                           false);
                }
            }

            //if (!SetupHelper.RunningInFullTrust())
            //{
            //    // inform of Medium trust configuration issues
            //    WritePageContent(response,
            //        "<b>" + SetupResources.MediumTrustGeneralMessage + "</b><br />"
            //        + GetDataAccessMediumTrustMessage() + "<br /><br />",
            //        false);

            //}
        }