private static void SelectOption(WCFClient proxy, string option) { //Debugger.Launch(); string databaseName = String.Empty; string returnedValueString = String.Empty; string city = String.Empty; string country = String.Empty; string payday = String.Empty; string temp = String.Empty; string message = String.Empty; byte[] signature; short fromAge; short toAge; if (option != "9") { Console.Write("\nEnter database name: "); databaseName = Console.ReadLine(); } switch (option) { case "1": returnedValueString = proxy.CreateDatabase(databaseName); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "2": returnedValueString = proxy.DeleteDatabase(databaseName); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "3": message = CreateMessage(databaseName, "Insert"); signature = DigitalSignature.Create(message, proxy.Credentials.ClientCertificate.Certificate); returnedValueString = proxy.Insert(message, signature); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "4": message = CreateMessage(databaseName, "Edit"); signature = DigitalSignature.Create(message, proxy.Credentials.ClientCertificate.Certificate); returnedValueString = proxy.Edit(message, signature); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "5": returnedValueString = DataCryptography.DecryptData(proxy.Credentials.ClientCertificate.Certificate, proxy.ViewAll(databaseName)); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "6": returnedValueString = DataCryptography.DecryptData(proxy.Credentials.ClientCertificate.Certificate, proxy.ViewMaxPayed(databaseName)); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "7": Console.Write("Country: "); country = Console.ReadLine(); do { Console.Write("Payday: "); payday = Console.ReadLine(); } while (!Int32.TryParse(payday, out int id)); returnedValueString = DataCryptography.DecryptData(proxy.Credentials.ClientCertificate.Certificate, proxy.AverageSalaryByCountryAndPayday(databaseName, country, payday)); //returnedValueString = proxy.AverageSalaryByCountryAndPayday(databaseName, country, payday); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "8": Console.Write("City: "); city = Console.ReadLine(); do { do { Console.Write("From age: "); temp = Console.ReadLine(); } while (!short.TryParse(temp, out fromAge)); do { Console.Write("To age: "); temp = Console.ReadLine(); } while (!short.TryParse(temp, out toAge)); } while (fromAge > toAge); returnedValueString = DataCryptography.DecryptData(proxy.Credentials.ClientCertificate.Certificate, proxy.AverageSalaryByCityAndAge(databaseName, city, fromAge, toAge)); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "9": returnedValueString = DataCryptography.DecryptData(proxy.Credentials.ClientCertificate.Certificate, proxy.ViewDatabasesNames()); Console.WriteLine(Environment.NewLine + returnedValueString); break; case "10": Console.WriteLine("Exit"); break; default: Console.WriteLine("Unknown command"); break; } }