public static void AddMethod(string methodName, string serviceName)
 {
     if (!BazaStatistikeMetoda.ContainsKey(methodName))
     {
         Metoda m = new Metoda(methodName, 0, serviceName);
         BazaStatistikeMetoda.Add(m.NazivMetode, m);
     }
     BazaStatistikeMetoda[methodName].BrojPoziva++;
     SacuvajStatistikuMetoda();
 }
        public static void NajcesceKoriscenaUslugaOperatera()
        {
            // Nadji svakog ko nije "Bank" i dodaj ga u neku listu ( uzmem sve postojece operatere tj usernameove)
            // Za svakog postojeceg operatera, prodjem kroz xml i pokupim njegove metode
            // Na kraju ispisem najjacu metodu od svakog

            List <Metoda> sveOperatorskeMetode = BazaStatistikeMetoda.Values.ToList();

            sveOperatorskeMetode = sveOperatorskeMetode.Where(m => m.NazivServisa != "Bank").ToList();
            Dictionary <string, List <Metoda> > operatori = new Dictionary <string, List <Metoda> >();

            foreach (var metoda in sveOperatorskeMetode)
            {
                // ako dictionary ne sadrzi ni jednu metodu za tog operatera
                if (!operatori.ContainsKey(metoda.NazivServisa))
                {
                    // napravi listu za tog operatera
                    operatori.Add(metoda.NazivServisa, new List <Metoda>());
                }
                // dodaj u listu
                operatori[metoda.NazivServisa].Add(metoda);
            }

            // nakon ovog foreacha u dictionary operatori cu imati sve postojece operatere i sve metode od tih operatera

            // sad prolazim kroz svaki element liste i trazim maksimum od svakog
            if (operatori.Count == 0)
            {
                Console.WriteLine("Ne postoji najcesce koriscena usluga.");
                return;
            }
            foreach (var operater in operatori)
            {
                Metoda max = new Metoda();
                max.BrojPoziva = -1;
                Console.WriteLine("Najcesce koriscena metoda operatera " + operater.Key + " :");
                foreach (var metoda in operater.Value)
                {
                    if (metoda.BrojPoziva > max.BrojPoziva)
                    {
                        max = metoda;
                    }
                }
                Console.WriteLine(max.NazivMetode + " " + max.BrojPoziva);
            }
        }
        public static void NajcesceKoriscenaUslugaBanke()
        {
            //var max = BazaStatistikeMetoda.Where(s => s.Value.NazivServisa =="Bank").Aggregate((l, r) => l.Value.BrojPoziva > r.Value.BrojPoziva ? l : r).Key;
            //Console.WriteLine("Najcesce koriscena usluga banke: " + BazaStatistikeMetoda[max].NazivMetode + " , Broj poziva: " + BazaStatistikeMetoda[max].BrojPoziva);

            Metoda max = new Metoda();

            max.BrojPoziva = -1;
            foreach (var metoda in BazaStatistikeMetoda.Values)
            {
                if (metoda.NazivServisa == "Bank")
                {
                    if (metoda.BrojPoziva > max.BrojPoziva)
                    {
                        max = metoda;
                    }
                }
            }
            Console.WriteLine("Najcesce koriscena usluga banke: " + max.NazivMetode + " , Broj poziva: " + max.BrojPoziva);
        }