public ActionResult Index() { var model = new MigrateMediaModel { IsOverwrite = false, UseConfigurationAzureBlobStorage = true }; SetDefaultModelProperties(model); return(View(model)); }
public ActionResult Index(MigrateMediaModel model) { if (!model.UseConfigurationAzureBlobStorage && string.IsNullOrWhiteSpace(model.CustomAzureBlobStorageConnectionString)) { ModelState.AddModelError("CustomAzureBlobStorageConnectionString", "Azure Blob Storage Connection String is required."); } SetDefaultModelProperties(model); if (!ModelState.IsValid) { return(View(model)); } var connectionString = model.UseConfigurationAzureBlobStorage ? ConfigurationManager.AppSettings[MediaStorageStorageConnectionStringSettingName] : model.CustomAzureBlobStorageConnectionString; if (!_migrateMediaService.CanConnectToAzureCloudStorage(connectionString)) { _orchardServices.Notifier.Add(NotifyType.Error, T("Migration failed: Unable to connect to Azure blob storage.")); return(View(model)); } var result = model.MigrationMethod == MigrateMethodTypes.AzureBlobStorageToFileSystem ? _migrateMediaService.MigratAzureBlobStorageToFileSystem(connectionString, model.IsOverwrite) : _migrateMediaService.MigrateFileSystemToAzureBlobStorage(connectionString, model.IsOverwrite); if (result.SuccessfulTransferCount > 0 || result.UnsuccessfulTransferCount == 0) { _orchardServices.Notifier.Add(NotifyType.Information, T(string.Format("Successfully migrated {0} media item(s).", result.SuccessfulTransferCount))); } if (result.IgnoredCount > 0) { _orchardServices.Notifier.Add(NotifyType.Warning, T(string.Format("Ignored {0} media item(s) during migration.", result.IgnoredCount))); } if (result.UnsuccessfulTransferCount > 0) { _orchardServices.Notifier.Add(NotifyType.Error, T(string.Format("Failed to migrate {0} media item(s).", result.UnsuccessfulTransferCount))); } return(RedirectToAction("Index")); }
private void SetDefaultModelProperties(MigrateMediaModel model) { model.ConfiguredAzureBlobStorage = RemoveSensitiveInfoFromConnectionString(ConfigurationManager.AppSettings[MediaStorageStorageConnectionStringSettingName]); model.MediaItemsCount = _mediaLibraryService.GetMediaContentItems().Count(); }