예제 #1
0
        public bool Isplata(string korIme, double novac)
        {
            IIdentity       id  = Thread.CurrentPrincipal.Identity;
            WindowsIdentity wID = id as WindowsIdentity;

            CustomPrincipal principal = new CustomPrincipal(wID);


            if (!principal.IsInRole("Korisnik"))
            {
                MyAuditBehavior.LogNeuspesnaAutorizacija();
                Console.WriteLine("Nemate permisiju..\n");
                return(false);
            }

            MyAuditBehavior.LogUspesnaAutorizacija();

            if (!MojaBaza.korisnici.ContainsKey(korIme))
            {
                Console.WriteLine("Ne postoji korisnik na ciji racun radnik treba da isplati pare...\n");
                MyAuditBehavior.LogNeuspesnaTransakcija();
                return(false);
            }
            else
            {
                if (MojaBaza.korisnici[korIme].StanjeRacuna >= novac)
                {
                    MojaBaza.korisnici[korIme].StanjeRacuna -= novac;
                    MojaBaza.korisnici[korIme].PrethodneTransakcije.Add(MojaBaza.korisnici[korIme].BrTr, novac);
                    MojaBaza.korisnici[korIme].BrTr++;
                    MojaBaza.korisnici[korIme].Isplate += novac;
                    Console.WriteLine("Stanje na racunu korisnika " + MojaBaza.korisnici[korIme].KorisnickoIme + " nakon isplate je: " + MojaBaza.korisnici[korIme].StanjeRacuna);
                    MyAuditBehavior.LogUspesnaTransakcija();
                    return(true);
                }
                else
                {
                    Console.WriteLine("Korisnik " + korIme + " nema dovoljno novca za isplatu.\n");
                    MyAuditBehavior.LogNeuspesnaTransakcija();
                    return(false);
                }
            }
        }
예제 #2
0
        public bool KorisnikTraziDozvoljeniMinus(string korIme)
        {
            IIdentity       id  = Thread.CurrentPrincipal.Identity;
            WindowsIdentity wID = id as WindowsIdentity;

            CustomPrincipal principal = new CustomPrincipal(wID);

            if (!principal.IsInRole("Radnik"))
            {
                MyAuditBehavior.LogNeuspesnaAutorizacija();
                Console.WriteLine("Nemate permisiju..\n");
                return(false);
            }

            MyAuditBehavior.LogUspesnaAutorizacija();

            Console.WriteLine("Korisnik " + MojaBaza.korisnici[korIme].KorisnickoIme + " trazi dozvoljeni minus...");
            //dodajemo u listu zahteva za dozvoljenim minusom
            MojaBaza.listaZahtevaZaDozvoljenimMinusom.Add(korIme);

            foreach (string var in MojaBaza.listaZahtevaZaDozvoljenimMinusom)
            {
                Console.WriteLine("U listi se nalazi zahtev korisnika sa korisnickim imenom: " + var);
            }

            if (MojaBaza.korisnici[korIme].Isplate >= 100000)
            {
                Console.WriteLine("Radnik je odobrio zahtev za dozvoljeni minus korisniku sa korisnickim imenom " + korIme);
                MojaBaza.korisnici[korIme].DozvoljeniMinus = 0.1 * MojaBaza.korisnici[korIme].Isplate;
                Console.WriteLine("Stanje korisnika " + MojaBaza.korisnici[korIme].KorisnickoIme + " nakon ispate je: " + MojaBaza.korisnici[korIme].DozvoljeniMinus.ToString());
                return(true);
            }

            else
            {
                Console.WriteLine("Radnik je odobrio zahtev za dozvoljeni minus korisniku sa korisnickim imenom " + korIme);
                //uklanjamo iz reda zahteva
                MojaBaza.listaZahtevaZaDozvoljenimMinusom.Remove(korIme);
                return(false);
            }
        }
예제 #3
0
        public Entity Read(int id)
        {
            CustomPrincipal principal = Thread.CurrentPrincipal as CustomPrincipal;

            var permission = Permissions.Read.ToString().ToLower();

            if (principal.IsInRole(permission))
            {
                Console.WriteLine("Read() successfully executed.");

                Entity e = DataBase.ReadFromBase(id);

                return(e);
            }
            else
            {
                Console.WriteLine("Read() unsuccessfully executed.");
                Entity e = null;
                return(e);
            }
        }
예제 #4
0
        public bool MenjajTransakcijuKorisnika(string korIme, double pare, int brojTransakcije)
        {
            IIdentity       id  = Thread.CurrentPrincipal.Identity;
            WindowsIdentity wID = id as WindowsIdentity;

            CustomPrincipal principal = new CustomPrincipal(wID);


            if (!principal.IsInRole("Radnik"))
            {
                MyAuditBehavior.LogNeuspesnaAutorizacija();
                Console.WriteLine("Nemate permisiju..\n");
                return(false);
            }

            MyAuditBehavior.LogUspesnaAutorizacija();

            if (!MojaBaza.korisnici.ContainsKey(korIme))
            {
                Console.WriteLine("Ne postoji korisnik sa zadatim korisnickim imenom " + MojaBaza.korisnici[korIme].KorisnickoIme + "\n");
                return(false);
            }

            else
            {
                if (MojaBaza.korisnici[korIme].PrethodneTransakcije.Keys.Contains(brojTransakcije))
                {
                    MojaBaza.korisnici[korIme].PrethodneTransakcije[brojTransakcije] = pare;
                    Console.WriteLine("Transakcija korisnika " + MojaBaza.korisnici[korIme].KorisnickoIme + " je uspesno promenjena");
                    return(true);
                }
                else
                {
                    Console.WriteLine("U listi korisnickih transakcija ne postoji transakcija sa tim brojem...\n");
                    return(false);
                }
            }
        }
예제 #5
0
        public void MenjajParametreProvizijama(double minimalnaPotrosnja, double sumaKojuDobijaKorisnikZaDozvMinus, double provizijaZaIznoseDo3000,
                                               double provizijaZaIsnosePreko3000, double provizijaZaMomTransfer, int skalabilneSekunde, double provizijaZaMesecnoOdrzavanje, int brojac)
        {
            IIdentity       id  = Thread.CurrentPrincipal.Identity;
            WindowsIdentity wID = id as WindowsIdentity;

            CustomPrincipal principal = new CustomPrincipal(wID);


            if (!principal.IsInRole("Admiri"))
            {
                MyAuditBehavior.LogNeuspesnaAutorizacija();
                Console.WriteLine("Nemate permisiju..\n");
                return;
            }

            MyAuditBehavior.LogUspesnaAutorizacija();

            File.Delete("Provizije.txt");
            string textZaUpis = minimalnaPotrosnja + ";" + sumaKojuDobijaKorisnikZaDozvMinus + ";" + provizijaZaIznoseDo3000 + ";" + provizijaZaIsnosePreko3000 + ";" + provizijaZaMomTransfer + ";" + skalabilneSekunde + ";" + provizijaZaMesecnoOdrzavanje + ";" + brojac;

            File.WriteAllText("Provizije.txt", textZaUpis);
        }
예제 #6
0
        public bool Uplata(string korIme, string korImeUplatioc, double novac, int izbor)
        {
            //string temp = "";

            IIdentity       id  = Thread.CurrentPrincipal.Identity;
            WindowsIdentity wID = id as WindowsIdentity;

            CustomPrincipal principal = new CustomPrincipal(wID);


            if (!principal.IsInRole("Korisnik"))
            {
                MyAuditBehavior.LogNeuspesnaAutorizacija();
                Console.WriteLine("Nemate permisiju..\n");
                return(false);
            }

            MyAuditBehavior.LogUspesnaAutorizacija();

            if (!MojaBaza.korisnici.ContainsKey(korIme))
            {
                Console.WriteLine("Ne postoji korisnik na ciji racun radnik treba da uplati pare...\n");
                MyAuditBehavior.LogNeuspesnaTransakcija();
                return(false);
            }
            else
            {
                /*
                 * MojaBaza.korisnici[korIme].StanjeRacuna += novac;
                 * MojaBaza.korisnici[korIme].PrethodneTransakcije.Add(MojaBaza.korisnici[korIme].BrTr++, novac);
                 * Console.WriteLine("Stanje na racunu korisnika nakon uplate je: " + MojaBaza.korisnici[korIme].StanjeRacuna);
                 * return true;*/

                switch (izbor)
                {
                case 1:
                    MojaBaza.korisnici[korIme].StanjeRacuna += novac;
                    MojaBaza.korisnici[korIme].PrethodneTransakcije.Add(MojaBaza.korisnici[korIme].BrTr, novac);
                    MojaBaza.korisnici[korIme].BrTr++;
                    Console.WriteLine("Stanje na racunu korisnika " + MojaBaza.korisnici[korIme].KorisnickoIme + " nakon uplate je: " + MojaBaza.korisnici[korIme].StanjeRacuna);
                    MyAuditBehavior.LogUspesnaTransakcija();
                    break;

                case 2:

                    if (MojaBaza.korisnici[korImeUplatioc].StanjeRacuna > 100)
                    {
                        MojaBaza.korisnici[korIme].StanjeRacuna         += novac;
                        MojaBaza.korisnici[korImeUplatioc].StanjeRacuna -= 100;
                        MojaBaza.korisnici[korIme].PrethodneTransakcije.Add(MojaBaza.korisnici[korIme].BrTr, novac);
                        MojaBaza.korisnici[korIme].BrTr++;
                        MyAuditBehavior.LogUspesnaTransakcija();
                        Console.WriteLine("Stanje na racunu korisnika " + MojaBaza.korisnici[korIme].KorisnickoIme + " nakon uplate je: " + MojaBaza.korisnici[korIme].StanjeRacuna);
                    }
                    else
                    {
                        Console.WriteLine("Nemoguce uplatiti novac");
                        MyAuditBehavior.LogNeuspesnaTransakcija();
                        return(false);
                    }
                    break;

                case 3:
                    if (MojaBaza.korisnici[korImeUplatioc].StanjeRacuna > 0.3 * novac)
                    {
                        MojaBaza.korisnici[korIme].StanjeRacuna         += novac;
                        MojaBaza.korisnici[korImeUplatioc].StanjeRacuna -= 0.3 * novac;
                        // Console.WriteLine("Stanje na racunu korisnika nakon uplate je: " + MojaBaza.korisnici[korIme].StanjeRacuna);
                        MojaBaza.korisnici[korIme].PrethodneTransakcije.Add(MojaBaza.korisnici[korIme].BrTr, novac);
                        MojaBaza.korisnici[korIme].BrTr++;
                        Console.WriteLine("Stanje na racunu korisnika " + MojaBaza.korisnici[korIme].KorisnickoIme + " nakon uplate je: " + MojaBaza.korisnici[korIme].StanjeRacuna);
                        MyAuditBehavior.LogUspesnaTransakcija();
                    }
                    else
                    {
                        Console.WriteLine("Nemoguce uplatiti novac");
                        MyAuditBehavior.LogNeuspesnaTransakcija();
                        return(false);
                    }
                    break;

                case 4:
                    if (MojaBaza.korisnici[korImeUplatioc].StanjeRacuna > 250)
                    {
                        MojaBaza.korisnici[korIme].StanjeRacuna         += novac;
                        MojaBaza.korisnici[korImeUplatioc].StanjeRacuna -= 250;
                        MojaBaza.korisnici[korIme].PrethodneTransakcije.Add(MojaBaza.korisnici[korIme].BrTr, novac);
                        MojaBaza.korisnici[korIme].BrTr++;
                        Console.WriteLine("Stanje na racunu korisnika " + MojaBaza.korisnici[korIme].KorisnickoIme + " nakon uplate je: " + MojaBaza.korisnici[korIme].StanjeRacuna);
                        MyAuditBehavior.LogUspesnaTransakcija();
                    }
                    else
                    {
                        Console.WriteLine("Nemoguce uplatiti novac");
                        MyAuditBehavior.LogNeuspesnaTransakcija();
                        return(false);
                    }
                    break;
                }
                return(true);
            }
        }