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 }
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);
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); }
/// <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); } }