Exemplo n.º 1
0
        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;
            }
        }