private async void LoadDataClick(object sender, RoutedEventArgs e) { try { RSACryptoServiceProvider rsa; WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); using (rsa = new RSACryptoServiceProvider(Consts.RSA_KEY_LENGTH)) { try { RSACryptoServiceProviderExtensions.FromXmlString(rsa, File.ReadAllText(_xmlStringPath)); DataSubjectSharer dataSubjectSharer = new DataSubjectSharer(); dataSubjectSharer.WorkHistroySmartContract = workHistroySmartContract; dataSubjectSharer.RSA = rsa; workHistroySmartContract.LoadContract(AddressEntry.Text); string decryptedData = await dataSubjectSharer.DecryptDataFromContract(); DataOutput.Text = decryptedData; } finally { rsa.PersistKeyInCsp = false; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static async Task BenchmarkWorkHistoryBundleCreation(Queue <string> inputQue) { WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); RSACryptoServiceProvider rsa; DataSubjectSharer dataSubjectSharer = new DataSubjectSharer { WorkHistroySmartContract = workHistroySmartContract, }; using (rsa = new RSACryptoServiceProvider(Consts.RSA_KEY_LENGTH)) { try { dataSubjectSharer.RSA = rsa; string xmlString = new StreamReader("privatePaul.xml").ReadToEnd(); RSACryptoServiceProviderExtensions.FromXmlString(rsa, xmlString); DataBundle dataBundle = new DataBundle(); List <Entry> workHistory = await dataSubjectSharer.GetAllWorkHistory(); string input; do { input = inputQue.Dequeue(); try { int i = Int32.Parse(input) - 1; dataBundle.WorkHistory.Add(workHistory[i]); } catch (Exception e) { } } while (input != "done"); while ((input = inputQue.Dequeue()) != "done") { dataBundle.Referees.Add(await Entry.ReadEntry(input)); } input = inputQue.Dequeue(); Utils.ExportToJsonFile(input, dataBundle); } finally { rsa.PersistKeyInCsp = false; } } }
private static async Task ExportEntry(DataSubjectSharer dataSubjectSharer) { List <Entry> workHistory = await dataSubjectSharer.GetAllWorkHistory(); workHistory.ForEach(entry => Console.WriteLine("ELEMENT:" + (workHistory.IndexOf(entry) + 1) + ":\n" + entry.ToPrettyString()) ); Console.WriteLine("Select Which entry you would like to export"); int i = Int32.Parse(Console.ReadLine()) - 1; Console.WriteLine("Enter file path"); Utils.ExportToJsonFile(Console.ReadLine(), workHistory[i]); }
private static async Task EmpMenu(string[] args) { WorkHistroySmartContract workHistroySmartContract = new WorkHistroySmartContract(); RSACryptoServiceProvider rsa; DataSubjectSharer dataSubjectSharer = new DataSubjectSharer { WorkHistroySmartContract = workHistroySmartContract, }; using (rsa = new RSACryptoServiceProvider(Consts.RSA_KEY_LENGTH)) { try { dataSubjectSharer.RSA = rsa; string xmlString = new StreamReader(args[1]).ReadToEnd(); RSACryptoServiceProviderExtensions.FromXmlString(rsa, xmlString); switch (args[0].ToLower()) { case "add": dataSubjectSharer.AddAddress(args[2]); dataSubjectSharer.SaveChangesToAddresses(); break; case "craete": await CreateWorkHistoryBundle(dataSubjectSharer); break; case "export": await ExportEntry(dataSubjectSharer); break; } } finally { rsa.PersistKeyInCsp = false; } } }
private static async Task CreateWorkHistoryBundle(DataSubjectSharer dataSubjectSharer) { DataBundle dataBundle = new DataBundle(); List <Entry> workHistory = await dataSubjectSharer.GetAllWorkHistory(); workHistory.ForEach(i => Console.WriteLine("ELEMENT:" + (workHistory.IndexOf(i) + 1) + ":\n" + i.ToPrettyString()) ); Console.WriteLine("Please enter index for each entry you would like to add After type done"); string input; do { input = Console.ReadLine(); try { int i = Int32.Parse(input) - 1; dataBundle.WorkHistory.Add(workHistory[i]); } catch (Exception e) { } } while (input != "done"); Console.WriteLine("Please enter the file name for each referee to add. After enter done"); while ((input = Console.ReadLine()) != "done") { dataBundle.Referees.Add(await Entry.ReadEntry(input)); } Console.WriteLine("Enter file name"); input = Console.ReadLine(); Utils.ExportToJsonFile(input, dataBundle); }