Exemple #1
0
        private async Task ImportConfigurationsFromFileAsync(StorageFile storageFile)
        {
            ServiceConfiguration[] configurations;
            try
            {
                configurations = await _configurationStore.GetConfigurationsFromFileAsync(storageFile);
            }
            catch (Exception ex)
            {
                await _dialog.ShowAsync($"Could not read data because {ex.Message}", "Import Error");

                return;
            }
            var sb = new StringBuilder();

            sb.AppendLine($"Found configurations for {configurations.Length} service{GetPluralS(configurations)}. ");
            foreach (ServiceConfiguration configuration in configurations)
            {
                var actions = configuration.ActionGroups.SelectMany(e => e.Actions).ToArray();
                sb.AppendLine($" - {configuration.Name} ({actions.Length} action{GetPluralS(actions)})");
            }
            var          message = "Do you want to replace the currently configured services, or have the new services added to to them?";
            const string title   = "File content parsed correctly";

#if ARM
            sb.Append("Do you want to proceed?");
            string answer = await _dialog.ShowAsync(sb.ToString(), title, "Import", "Cancel");

            if (answer == "Cancel")
            {
                return;
            }
            answer = await _dialog.ShowAsync(message, "Import Configurations", "Replace", "Add");
#endif
#if X86X64
            sb.Append(message);
            string answer = await _dialog.ShowAsync(sb.ToString(), title, "Replace", "Add", "Cancel");

            if (answer == "Cancel")
            {
                return;
            }
#endif
            if (answer == "Replace")
            {
                Configurations.ClearAndAddRange(configurations);
            }
            else
            {
                Configurations.AddRange(configurations);
            }
            await StoreDataAsync();
        }