private void LoadRuleButton_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            openFileDialog.Filter           = "XML file (*.xml)|*.xml";
            openFileDialog.Title            = "CosmicClone Load AnonymizationRules";
            if (openFileDialog.ShowDialog() == true)
            {
                string xmlText = File.ReadAllText(openFileDialog.FileName);
                var    rules   = CloneSerializer.XMLDeserialize <List <ScrubRule> >(xmlText);
                if (rules == null && rules.Count == 0)
                {
                    MessageBox.Show("No rules to Load in file : " + openFileDialog.FileName, "No rules Found", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }

                var orderedRules = rules.OrderBy(o => o.RuleId).ToList();

                //Delete all scrub rules
                WrapPanel wrapPanel = (WrapPanel)this.FindName("WrapPanel");
                wrapPanel.Children.Clear();

                //Re initialize rule index
                this.RuleIndex = 1;

                foreach (var rule in orderedRules)
                {
                    CreateScrubRule(rule);
                }
            }
            //txtEditor.Text = File.ReadAllText(openFileDialog.FileName);
            //handle unable to load exception
        }
示例#2
0
        public static T LoadFile <T>(this OpenFileDialog dialog, Environment.SpecialFolder folder, string fileName)
        {
            dialog.InitialDirectory = Environment.GetFolderPath(folder);
            dialog.Filter           = "XML file (*.xml)|*.xml";
            dialog.Title            = $"Load {fileName}";

            if (dialog.ShowDialog() == true)
            {
                var text = File.ReadAllText(dialog.FileName);
                return(CloneSerializer.XMLDeserialize <T>(text));
            }
            return(default);
示例#3
0
        public static void SaveFile <T>(this SaveFileDialog dialog, Environment.SpecialFolder folder, string fileName, T data)
        {
            dialog.InitialDirectory = Environment.GetFolderPath(folder);
            dialog.Filter           = "XML file (*.xml)|*.xml";
            dialog.Title            = $"Save {fileName}";
            dialog.FileName         = $"{fileName}_{DateTime.Now.ToString("MM-dd-yyyy-HHmmss", CultureInfo.InvariantCulture)}";

            if (dialog.ShowDialog() == true)
            {
                var xmlText = CloneSerializer.XMLSerialize(data);
                File.WriteAllText(dialog.FileName, xmlText);
            }
        }
        internal static ISerializer GetSerializer(bool?compress, bool?security)
        {
            ISerializer result = new CloneSerializer();

            if (compress.GetValueOrDefault(false))
            {
                result = new CompressSerializer(result);
            }

            if (security.GetValueOrDefault(false))
            {
                result = new EncryptSerializer(result);
            }

            return(result);
        }
示例#5
0
        /// <summary>
        /// 원하는 <see cref="ISerializer"/>를 빌드합니다.
        /// </summary>
        /// <param name="compress">압축할 것인가?</param>
        /// <param name="security">보안을 적용할 것인가?</param>
        /// <returns></returns>
        public static ISerializer GetSerializer(bool compress, bool security)
        {
            if (IsDebugEnabled)
            {
                log.Debug("Create Serializer. compress=[{0}], security=[{1}]", compress, security);
            }

            // ISerializer serializer = new BinarySerializer();
            ISerializer serializer = new CloneSerializer();

            if (compress)
            {
                serializer = new CompressSerializer(serializer);
            }

            if (security)
            {
                serializer = new EncryptSerializer(serializer);
            }

            return(serializer);
        }
        private void SaveRuleButton_Click(object sender, RoutedEventArgs e)
        {
            var rules = this.getScrubRules();

            if (rules == null || rules.Count == 0)
            {
                MessageBox.Show("No Rules found. Please add/load anonymization rules before Save", "No rules Found", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            saveFileDialog.Filter           = "XML file (*.xml)|*.xml";
            saveFileDialog.Title            = "CosmicClone save AnonymizationRules";
            saveFileDialog.FileName         = "AnonymizationRules_" + DateTime.Now.ToString("MM-dd-yyyy-HHmmss", CultureInfo.InvariantCulture);

            if (saveFileDialog.ShowDialog() == true)
            {
                var xmlText = CloneSerializer.XMLSerialize(rules);
                File.WriteAllText(saveFileDialog.FileName, xmlText);
            }
        }