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); }