protected void OnImport(object sender, EventArgs e)
        {
            if (divPageError.Visible || !Page.IsValid)
            {
                // Error on page, get out of here
                return;
            }
            try
            {
                ImportExportSettings settingsToImport     = GetImportSettings();
                ImportSettingsAction importSettingsAction = GetImportSettingsAction();

                string errorText =
                    _importExportSettingsService.ImportSettings(fileUpload.FileBytes, settingsToImport,
                                                                importSettingsAction, VisitHelper.GetVisit());
                divPageNote.Visible = true;
                if (string.IsNullOrEmpty(errorText))
                {
                    divPageNote.InnerText = "The settings were successfully imported!";
                }
                else
                {
                    divPageNote.InnerText = "Some settings were successfully imported!";
                    SetDivPageErrorFormat(errorText);
                }
            }
            catch (Exception ex)
            {
                SetDivPageError(ex);
            }
        }
        public string ImportSettings(byte[] settingsFileBytes, ImportExportSettings settingsToImport,
                                     ImportSettingsAction importAction, NodeVisit visit)
        {
            ValidateByRole(visit, SystemRoleType.Admin);

            if (settingsToImport == ImportExportSettings.None)
            {
                return(null);
            }
            if (_compressionHelper.IsCompressed(settingsFileBytes))
            {
                try
                {
                    settingsFileBytes = _compressionHelper.UncompressDeep(settingsFileBytes);
                }
                catch (Exception e)
                {
                    throw new ArgException("Failed to uncompress zip file content: " + e.Message);
                }
            }
            NodeSettings nodeSettings;

            try
            {
                nodeSettings = _serializationHelper.Deserialize <NodeSettings>(settingsFileBytes);
            }
            catch (Exception e)
            {
                throw new ArgException("Failed to deserialize node settings content: " + e.Message);
            }
            string   errorMessage = null;
            DateTime modifiedOn   = DateTime.Now;
            string   modifiedById = visit.Account.Id;

            if (EnumUtils.IsFlagSet(settingsToImport, ImportExportSettings.GlobalArguments))
            {
                IList <ConfigItem> list =
                    NodeSettings.GetGlobalArguments(nodeSettings.GlobalArguments, modifiedById,
                                                    modifiedOn);
                ConfigManager.Import(list, importAction);
            }
            return(errorMessage);
        }
Exemplo n.º 3
0
 public void Import(IList <ConfigItem> list, ImportSettingsAction importAction)
 {
     lock (_lockObject)
     {
         TransactionTemplate.Execute(delegate
         {
             if (importAction == ImportSettingsAction.Replace)
             {
                 _configDao.DeleteAll();
             }
             CollectionUtils.ForEach(list, delegate(ConfigItem item)
             {
                 ConfigItem saveItem = new ConfigItem(item);
                 saveItem.Value      = _cryptographyProvider.Encrypt(item.Value);
                 _configDao.Save(saveItem.Id, saveItem);
             });
             Load();
             return(null);
         });
     }
 }