public ImportExport(ImportExportModel model)
 {
     InitializeComponent();
     this.DataContext    = model;
     this.model          = model;
     model.requestClose += HandleRequestClose;
 }
        public override void OnFinish(object sender, EventArgs e)
        {
            var uploadedFile = GetBinding <UploadedFile>("UploadedFile");

            using (var sr = new StreamReader(uploadedFile.FileStream))
            {
                var txt = sr.ReadToEnd();

                var importModel = ImportExportModel.FromXml(txt);
                var importer    = new ResourceImporter(importModel);

                var result = importer.Import();

                var sb = new StringBuilder();

                sb.AppendLine("Languages: " + String.Join(", ", result.Languages.Select(l => l.Name)));
                sb.AppendLine("ResourceSets: " + String.Join(", ", result.ResourceSets.Select(s => s ?? "Website")));
                sb.AppendLine();
                sb.AppendLine("Keys added: " + result.KeysAdded);
                sb.AppendLine("Values added: " + result.ValuesAdded);
                sb.AppendLine("Values updated: " + result.ValuesUpdated + " (were the same: " + result.ValuesWereTheSame + ")");

                ShowMessage(DialogType.Message, "Import result", sb.ToString());
            }
        }
        public async void Export_Empty_If_No_Config()
        {
            ImportExportModel export = await _importExportService.Export();

            Assert.NotNull(export);
            Assert.Empty(export.User2UserGroup);
            Assert.Empty(export.UserGroupPermissions);
            Assert.Empty(export.UserGroups);
        }
        public async void Can_Export_All()
        {
            Scaffold.Config();

            ImportExportModel export = await _importExportService.Export();

            Assert.NotNull(export);
            Assert.NotEmpty(export.User2UserGroup);
            Assert.NotEmpty(export.UserGroupPermissions);
            Assert.NotEmpty(export.UserGroups);
        }
Beispiel #5
0
        /// <summary>
        /// Export all workflow configuration. This is a simple representation of the current workflow database tables.
        /// </summary>
        /// <returns></returns>
        public Task <ImportExportModel> Export()
        {
            var model = new ImportExportModel
            {
                Settings             = _repo.ExportSettings(),
                UserGroups           = _repo.ExportUserGroups(),
                User2UserGroup       = _repo.ExportUser2UserGroups(),
                UserGroupPermissions = _repo.ExportUserGroupPermissions()
            };

            return(Task.FromResult(model));
        }
        public async void Can_Export_All()
        {
            var  model  = Scaffold.ReadFromJsonFile <ImportExportModel>(@"Config.json");
            bool import = await _importExportService.Import(model);

            Assert.True(import);

            ImportExportModel export = await _importExportService.Export();

            Assert.NotNull(export);
            Assert.NotEmpty(export.User2UserGroup);
            Assert.NotEmpty(export.UserGroupPermissions);
            Assert.NotEmpty(export.UserGroups);
        }
Beispiel #7
0
        public async Task <IHttpActionResult> Post([FromBody] ImportExportModel model)
        {
            try
            {
                bool success = await _exportService.Import(model);

                return(Ok(success));
            }
            catch (Exception ex)
            {
                const string error = "Error importing workflow configuration";
                Log.Error(error, ex);
                return(Content(HttpStatusCode.InternalServerError, ViewHelpers.ApiException(ex, error)));
            }
        }
Beispiel #8
0
        public async Task <IHttpActionResult> Get()
        {
            try
            {
                ImportExportModel export = await _exportService.Export();

                return(Json(export, ViewHelpers.CamelCase));
            }
            catch (Exception ex)
            {
                const string error = "Error exporting workflow configuration";
                Log.Error(error, ex);
                return(Content(HttpStatusCode.InternalServerError, ViewHelpers.ApiException(ex, error)));
            }
        }
Beispiel #9
0
        /// <summary>
        /// Export all workflow configuration. This is a simple representation of the current workflow database tables.
        /// </summary>
        /// <returns></returns>
        public Task <ImportExportModel> Export()
        {
            var model = new ImportExportModel();

            try
            {
                model.Settings             = _repo.ExportSettings();
                model.UserGroups           = _repo.ExportUserGroups();
                model.User2UserGroup       = _repo.ExportUser2UserGroups();
                model.UserGroupPermissions = _repo.ExportUserGroupPermissions();
            }
            catch (Exception e)
            {
                _log.Error(GetType(), e.Message, e);
            }

            return(Task.FromResult(model));
        }
Beispiel #10
0
        /// <summary>
        /// Import all workflow configuration
        /// </summary>
        /// <param name="model">A model representing the end-to-end workflow configuration</param>
        /// <returns></returns>
        public Task <bool> Import(ImportExportModel model)
        {
            if (model.Settings != null)
            {
                _repo.ImportSettings(model.Settings);
            }

            if (model.UserGroups != null)
            {
                _repo.ImportUserGroups(model.UserGroups);
            }

            if (model.User2UserGroup != null)
            {
                _repo.ImportUser2UserGroups(model.User2UserGroup);
            }

            if (model.UserGroupPermissions != null)
            {
                _repo.ImportUserGroupPermissions(model.UserGroupPermissions);
            }

            return(Task.FromResult(true));
        }