Пример #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Unesite broj porta: ");
            int brojPorta = Int32.Parse(Console.ReadLine());

            NetTcpBinding binding = new NetTcpBinding();

            binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Certificate;
            string address   = "net.tcp://localhost:" + brojPorta + "/WCFService";
            string srvCertCN = WindowsIdentity.GetCurrent().Name;

            srvCertCN = Formatter.ParseName(srvCertCN);
            Console.WriteLine(srvCertCN);
            X509Certificate2 srvCert  = CertManager.GetCertificateFromStorage(StoreName.TrustedPeople, StoreLocation.LocalMachine, "serverSertifikat");
            EndpointAddress  address2 = new EndpointAddress(new Uri(address),
                                                            new X509CertificateEndpointIdentity(srvCert));
            //string grupa = CertManager.GetOu(StoreName.My, StoreLocation.LocalMachine, "klijentSertifikat");
            //Console.WriteLine("Ovo je grupa "+ grupa);
            int response;

            using (WCFClient proxy = new WCFClient(binding, address2))
            {
                do
                {
                    response = ClientMenu.Menu();
                    switch (response)
                    {
                    case 1:
                        Console.WriteLine("Enter Id(must be number):");
                        int id;
                        int.TryParse(Console.ReadLine(), out id);
                        Console.WriteLine("Enter region:");
                        string reg = Console.ReadLine();
                        Console.WriteLine("Enter city:");
                        string city = Console.ReadLine();
                        Console.WriteLine("Enter year:");
                        int        year   = int.Parse(Console.ReadLine());
                        List <int> consum = new List <int>();
                        int        m      = 0;
                        for (int i = 0; i < 12; i++)
                        {
                            Console.WriteLine("Enter consumption of electricity for month" + (i + 1));
                            int.TryParse(Console.ReadLine(), out m);
                            //m = int.Parse(Console.ReadLine());
                            consum.Add(m);
                        }
                        proxy.Add(id, reg, city, year, consum);
                        break;

                    case 2:
                        Console.WriteLine("Enter id of entity you want to read:");
                        int Id = int.Parse(Console.ReadLine());
                        proxy.Read(Id);
                        break;

                    case 3:
                        Console.WriteLine("Enter id of entity you want to edit:");
                        int idOfEntity = int.Parse(Console.ReadLine());
                        Console.WriteLine("Enter month number you want to edit consumption of electricity:");
                        int monthNo = int.Parse(Console.ReadLine());
                        Console.WriteLine("Enter new value for consumption of electricity:");
                        int consumption = int.Parse(Console.ReadLine());
                        proxy.Edit(monthNo, consumption, idOfEntity);
                        break;

                    case 4:
                        Console.WriteLine("Enter id of entity you want to delete:");
                        int IdE = int.Parse(Console.ReadLine());
                        proxy.Delete(IdE);
                        break;

                    case 5:
                        Console.WriteLine("Enter city name for which you want to calculate consumption of electricity:");
                        string c = Console.ReadLine();
                        proxy.Calculate(c);
                        break;

                    case 6:
                        Console.WriteLine("Goodbye!");
                        break;

                    default:
                        Console.WriteLine("Wrong command. Try agian");
                        break;
                    }
                } while (response != 6);
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            NetTcpBinding binding = new NetTcpBinding();

            binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
            string address = "net.tcp://localhost:9999/SecurityService";

            //WCFClient proxy = new WCFClient(binding, new EndpointAddress(new Uri(address)));


            using (WCFClient proxy = new WCFClient(binding, new EndpointAddress(new Uri(address))))
            {
                Console.WriteLine("Unesite korisnicko ime i sifru!");
                string tempKorisnickoIme = Console.ReadLine();
                string tempLozinka       = Console.ReadLine().Trim();

                proxy.UlogujSe(tempKorisnickoIme, tempLozinka);

                Console.WriteLine("Klijent je povezan");
                Console.WriteLine(proxy.IspisiPoruke(tempKorisnickoIme));

                while (true)
                {
                    Console.WriteLine("*****MENI*****");
                    Console.WriteLine("Izaberite opciju:\n");
                    Console.WriteLine("***UKOLIKO STE ADMIN MOZETE IZABRATI NEKU OD OVIH OPCIJA***");

                    Console.WriteLine("1. Dodaj radnika...\n");
                    Console.WriteLine("2. Menjaj radnike...\n");
                    Console.WriteLine("3. Obrisi radnika...\n");
                    Console.WriteLine("4. Menjaj parametre provizijama...\n");

                    Console.WriteLine("***UKOLIKO STE RADNIK MOZETE IZABRATI NEKU OD OVIH OPCIJA***");

                    Console.WriteLine("5. Dodaj korisnika...\n");
                    Console.WriteLine("6. Menjaj korisnika...\n");
                    Console.WriteLine("7. Obrisi korisnika...\n");
                    Console.WriteLine("8. Menjaj transakciju korisnika...\n");
                    Console.WriteLine("9. Obrisi transakciju korisnika...\n");
                    Console.WriteLine("10. Zatrazi dozvoljeni minus...\n");

                    Console.WriteLine("***UKOLIKO STE KORISINIK MOZETE IZABRATI NEKU OD OVIH OPCIJA***");
                    Console.WriteLine("11. Isplata...\n");
                    Console.WriteLine("12. Uplata...\n");
                    proxy.Ispis();

                    string tempSaKonzoleOpcija = Console.ReadLine();
                    if (tempSaKonzoleOpcija == "1")
                    {
                        Console.WriteLine("Unesite ime radnika...\n");
                        string imeRadnikaSaKonzole = Console.ReadLine();
                        Console.WriteLine("Unesite prezime radnika...\n");
                        string prezimeRadnikaSaKonzole = Console.ReadLine();
                        Console.WriteLine("Unesite korisnicko ime radnika...\n");
                        string korImeSaKonzole = Console.ReadLine();
                        Console.WriteLine("Unesite sifru radnika...\n");
                        string sifraSaKonzole = Console.ReadLine();

                        proxy.DodajRadnika(imeRadnikaSaKonzole, prezimeRadnikaSaKonzole, korImeSaKonzole, sifraSaKonzole);
                    }
                    else if (tempSaKonzoleOpcija == "2")
                    {
                        Console.WriteLine("Unesite korisnicko ime radnika kome zelite da menjate podatke...\n");
                        string ki = Console.ReadLine();
                        Console.WriteLine("Unesite novo izmenjeno ime radnika ili staro ukoliko niste menjali ime...\n");
                        string ime = Console.ReadLine();
                        Console.WriteLine("Unesite novo izmenjeno prezime radnika ili staro ukoliko niste menjali prezime...\n");
                        string prezime = Console.ReadLine();
                        Console.WriteLine("Unesite novu izmenjenu sifru radnika ili staru ukoliko niste menjali sifru...\n");
                        string si = Console.ReadLine();

                        proxy.MenjajPostojecegRadnika(ime, prezime, ki, si);
                    }
                    else if (tempSaKonzoleOpcija == "3")
                    {
                        Console.WriteLine("Unesite korisnickon ime radnika kojeg zelite da obrisete...\n");
                        string temp = Console.ReadLine();
                        proxy.ObrisiRadnika(temp);
                    }
                    else if (tempSaKonzoleOpcija == "4")
                    {
                        Console.WriteLine("Unesite novu vrednost za vrednost minimalne potrosnje kako bi korisniku bio odobren minus..\n");
                        double mp = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite novu vrednost parametra za racunanje minimalne sume koju korisnik dobija za dozvoljeni minus...\n");
                        double ms = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite vrednost provizije za iznose do 3000...\n");
                        double do3000 = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite vrednost provizije za iznose preko 3000...\n");
                        double preko3000 = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite vrednost provizije za momentalni transfer...\n");
                        double momTr = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite na koliko sekundi se skida provizija za mesecno odrzavanje...\n");
                        int ss = Int32.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite paramatar koji govori koliko je provizija za mesecno odrzavanje...\n");
                        double mo = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite brojac za mesecno skidanje provizije...\n");
                        int b = Int32.Parse(Console.ReadLine());
                        proxy.MenjajParametreProvizijama(mp, ms, do3000, preko3000, momTr, ss, mo, b);
                    }
                    else if (tempSaKonzoleOpcija == "5")
                    {
                        Console.WriteLine("Unesite ime korisnika...\n");
                        string imeKorisnikaSaKonzole = Console.ReadLine();
                        Console.WriteLine("Unesite prezime korisnika...\n");
                        string prezimeKorisnikaSaKonzole = Console.ReadLine();
                        Console.WriteLine("Unesite korisnicko ime korisnika...\n");
                        string korImeSaKonzole = Console.ReadLine();
                        Console.WriteLine("Unesite sifru korisnika...\n");
                        string sifraSaKonzole = Console.ReadLine();
                        Console.WriteLine("Unesite broj racuna korisnika...\n");
                        string brRac = Console.ReadLine();
                        Console.WriteLine("Unesite trenutno stanje korisnika...\n");
                        double stanje = Double.Parse(Console.ReadLine());
                        proxy.DodajKorisnika(imeKorisnikaSaKonzole, prezimeKorisnikaSaKonzole, sifraSaKonzole, korImeSaKonzole, brRac, stanje);
                    }
                    else if (tempSaKonzoleOpcija == "6")
                    {
                        Console.WriteLine("Unesite korisnicko ime korisnika kome zelite da menjate podatke...\n");
                        string ki = Console.ReadLine();
                        Console.WriteLine("Unesite novo izmenjeno ime korisnika ili staro ukoliko niste menjali ime...\n");
                        string ime = Console.ReadLine();
                        Console.WriteLine("Unesite novo izmenjeno prezime korisnika ili staro ukoliko niste menjali prezime...\n");
                        string prezime = Console.ReadLine();
                        Console.WriteLine("Unesite novu izmenjenu sifru korisnika ili staru ukoliko niste menjali sifru...\n");
                        string si = Console.ReadLine();

                        proxy.MenjajKorisnika(ime, prezime, si, ki);
                    }
                    else if (tempSaKonzoleOpcija == "7")
                    {
                        Console.WriteLine("Unesite korisnicko ime korisnika kojeg zelite da obrisete...\n");
                        string temp = Console.ReadLine();
                        proxy.ObrisiKorisnika(temp);
                    }
                    else if (tempSaKonzoleOpcija == "8")
                    {
                        Console.WriteLine("Unesite korisnicko ime korisnika kojem zelite da izmenite transakciju..\n");
                        string ki = Console.ReadLine();

                        proxy.IspisZaPromenuTransakcije(ki);

                        Console.WriteLine("Unesite novi iznos novca transakcije...\n");
                        double p = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Unesite broj transakcije korisnika...\n");
                        int bt = Int32.Parse(Console.ReadLine());

                        proxy.MenjajTransakcijuKorisnika(ki, p, bt);
                        proxy.IspisZaPromenuTransakcije(ki);
                    }
                    else if (tempSaKonzoleOpcija == "9")
                    {
                        Console.WriteLine("Unesite korisnicko ime korisnika ciju transakciju zelite  da obrisete...\n");
                        string ki = Console.ReadLine();
                        Console.WriteLine("Unesite broj transakcije koju zelite da obrisete");
                        int bt = Int32.Parse(Console.ReadLine());

                        proxy.ObrisiTransakcijuKorisnika(ki, bt);
                    }
                    else if (tempSaKonzoleOpcija == "10")
                    {
                        Console.WriteLine("Unesite korisnicko ime korisnika koji zeli da trazi dozvoljeni minus...\n");
                        string ki = Console.ReadLine();

                        proxy.KorisnikTraziDozvoljeniMinus(ki);
                    }
                    else if (tempSaKonzoleOpcija == "11")
                    {
                        Console.WriteLine("Unesite korisnicko ime korisnika koji zeli da isplati novac...\n");
                        string ki = Console.ReadLine();
                        Console.WriteLine("Unesite koliku svotu novca korisnik zeli da isplati...\n");
                        double n = Double.Parse(Console.ReadLine());

                        proxy.Isplata(ki, n);
                    }
                    else if (tempSaKonzoleOpcija == "12")
                    {
                        Console.WriteLine("Unesite korisnicko ime korisnika koji zeli da izvrsi uplatu...\n");
                        string ki = Console.ReadLine();
                        Console.WriteLine("Unesite korisnicko ime korisnika kojem zelite da uplatite novac...\n ");
                        string ku = Console.ReadLine();
                        Console.WriteLine("Unesite koliku svotu novca zelite da uplatite...\n");
                        double n = Double.Parse(Console.ReadLine());
                        Console.WriteLine("Vrsta uplate!\n");
                        Console.WriteLine("1-uplata drugoj osobi koja je korisnik sistema...\n");
                        Console.WriteLine("2-uplata drugoj osobi koja nije korisnik sistema(manje ili tacno 3000,00 RSD)...\n");
                        Console.WriteLine("3-uplata drugoj osobi koja nije korisnik sistema(vise od 3000,00 RSD)...\n");
                        Console.WriteLine("4-momentalni transfer...\n");
                        int temp = Int32.Parse(Console.ReadLine());
                        proxy.Uplata(ku, ki, n, temp);
                        Console.WriteLine("Uplata se izvrsava...\n");
                    }
                    else
                    {
                        Console.WriteLine("OPCIJA NE POSTOJI!!!\n");
                    }
                }
            }

            // Console.ReadLine();
        }
Пример #3
0
        static void Main(string[] args)
        {
            /// Define the expected service certificate. It is required to establish cmmunication using certificates.
            string srvCertCN = "WCFService";

            /// Define the expected certificate for signing ("<username>_sign" is the expected subject name).
            /// .NET WindowsIdentity class provides information about Windows user running the given process
            string signCertCN = String.Empty;

            /// Define subjectName for certificate used for signing which is not as expected by the service
            string wrongCertCN = String.Empty;

            NetTcpBinding binding2 = new NetTcpBinding();

            binding2.Security.Transport.ClientCredentialType = TcpClientCredentialType.Certificate;
            int    id;
            double iznos;
            string ime;
            int    br;

            /// Use CertManager class to obtain the certificate based on the "srvCertCN" representing the expected service identity.
            X509Certificate2 srvCert  = CertManager.GetCertificateFromStorage(StoreName.TrustedPeople, StoreLocation.LocalMachine, srvCertCN);
            EndpointAddress  address2 = new EndpointAddress(new Uri("net.tcp://localhost:10001/WCFService"),
                                                            new X509CertificateEndpointIdentity(srvCert));

            using (WCFClient proxy = new WCFClient(binding2, address2))
            {
                proxy.RegistrujKorisnika();
                while (true)
                {
                    Console.WriteLine(" -- (1): UPLATA NA RAČUN -- ");
                    Console.WriteLine(" -- (2): REZERVIŠI -- ");
                    Console.WriteLine(" -- (3): PLATI REZERVACIJU -- ");
                    Console.WriteLine(" -- (4): DODAJ PROJEKCIJU -- ");
                    Console.WriteLine(" -- (5): IZMENI PROJEKCIJU -- ");
                    Console.WriteLine(" -- (6): IZMENI POPUST -- ");
                    ;

                    int choice = Int32.Parse(Console.ReadLine());

                    {
                        switch (choice)
                        {
                        case 1:

                            Console.WriteLine("Unesite iznos: ");
                            iznos = Double.Parse(Console.ReadLine());
                            proxy.UplatiPareNaRacun(iznos);

                            break;

                        case 2:
                            Console.WriteLine("Unesite ID predstave: ");
                            id = Int32.Parse(Console.ReadLine());
                            Console.WriteLine("Unesite broj karata: ");
                            br = Int32.Parse(Console.ReadLine());
                            proxy.NapraviRezervaciju(id, br);
                            break;

                        case 3:
                            Console.WriteLine("Unesite ID predstave: ");
                            id = Int32.Parse(Console.ReadLine());
                            proxy.PlatiRezervaciju(id);
                            break;

                        case 4:
                            Projekcija p;
                            Console.WriteLine("Unesite ime predstave: ");
                            ime = Console.ReadLine();
                            Console.WriteLine("Unesite datum predstave(mesec, dan): ");
                            DateTime vreme = DateTime.Now;
                            br = Int32.Parse(Console.ReadLine());
                            vreme.AddMonths(br);
                            br = Int32.Parse(Console.ReadLine());
                            vreme.AddDays(br);
                            Console.WriteLine("Unesite vreme predstave(sat, minuti): ");
                            br = Int32.Parse(Console.ReadLine());
                            vreme.AddHours(br);
                            br = Int32.Parse(Console.ReadLine());
                            vreme.AddMinutes(br);
                            Console.WriteLine("Unesite broj sale: ");
                            br = Int32.Parse(Console.ReadLine());
                            Console.WriteLine("Unesite cenu karte: ");
                            double cena = Double.Parse(Console.ReadLine());
                            p = new Projekcija(ime, vreme, br, cena);
                            proxy.DodajProjekciju(p);
                            break;

                        case 5:
                            Console.WriteLine("Unesite ID predstave: ");
                            id = Int32.Parse(Console.ReadLine());
                            Console.WriteLine("Unesite ime predstave: ");
                            ime = Console.ReadLine();
                            Console.WriteLine("Unesite datum predstave(mesec, dan): ");
                            vreme = DateTime.Now;
                            br    = Int32.Parse(Console.ReadLine());
                            vreme.AddMonths(br);
                            br = Int32.Parse(Console.ReadLine());
                            vreme.AddDays(br);
                            Console.WriteLine("Unesite vreme predstave(sat, minuti): ");
                            br = Int32.Parse(Console.ReadLine());
                            vreme.AddHours(br);
                            br = Int32.Parse(Console.ReadLine());
                            vreme.AddMinutes(br);
                            Console.WriteLine("Unesite broj sale: ");
                            br = Int32.Parse(Console.ReadLine());
                            Console.WriteLine("Unesite cenu karte: ");
                            cena = Double.Parse(Console.ReadLine());
                            p    = new Projekcija(ime, vreme, br, cena);
                            proxy.IzmeniProjekciju(p);
                            break;

                        case 6:
                            Console.WriteLine("Unesite popust(procenat): ");
                            iznos = Double.Parse(Console.ReadLine());
                            proxy.IzmeniPopust(iznos);
                            break;

                        default:
                            Console.WriteLine("Uneli ste pogresnu komandu!\r\n");
                            break;
                        }
                    }
                }
            }
        }