public void IzvrsiFunkciju()
        {
            List <Podrucje>             lista         = m.IzlistajPodrucja();
            List <Podatak>              listaPodataka = m.IscitajIzBaze();
            Dictionary <string, string> dic           = m.IzlistajPoslednje(3);
            List <double> listaVrednosti;
            Dictionary <string, string> listaPoslednjihVremena = new Dictionary <string, string>();



            List <double> listaRez = new List <double>();

            if (!listaPodataka.Any())
            {
                return;
            }

            if (!dic.Any())
            {
                for (int i = 0; i < lista.Count; i++)
                {
                    listaVrednosti = new List <double>();
                    List <string> s = new List <string>();
                    foreach (Podatak pod in listaPodataka)
                    {
                        if (lista[i].Sifra.Equals(pod.sifraPod))
                        {
                            string[] pom = pod.datum.Split(' ');
                            s.Add(pom[1]);


                            listaVrednosti.Add(pod.vrednost);
                        }
                    }
                    if (s.Any())
                    {
                        listaRez.Add(listaVrednosti.Max());
                        listaPoslednjihVremena.Add(lista[i].Sifra, s.Last());
                    }
                }

                m.UcitajUBazu(listaRez, listaPoslednjihVremena, DateTime.Now, 3);
            }
            else
            {
                for (int i = 0; i < lista.Count; i++)
                {
                    List <string> s = new List <string>();
                    foreach (Podatak pod in listaPodataka)
                    {
                        if (lista[i].Sifra.Equals(pod.sifraPod))
                        {
                            string[] pom = pod.datum.Split(' ');
                            s.Add(pom[1]);
                        }
                    }
                    if (s.Any())
                    {
                        listaPoslednjihVremena.Add(lista[i].Sifra, s.Last());
                    }
                }

                List <string> listaDrz = new List <string>();
                foreach (string sif in dic.Keys)
                {
                    foreach (string l in listaPoslednjihVremena.Keys)
                    {
                        if (sif == l)
                        {
                            if (dic[sif] != listaPoslednjihVremena[l])
                            {
                                listaDrz.Add(sif);
                            }
                        }
                    }
                }

                Dictionary <string, string> li = new Dictionary <string, string>();

                for (int i = 0; i < listaDrz.Count; i++)
                {
                    List <string> s = new List <string>();
                    listaVrednosti = new List <double>();
                    foreach (Podatak pod in listaPodataka)
                    {
                        if (listaDrz[i].Equals(pod.sifraPod))
                        {
                            listaVrednosti.Add(pod.vrednost);
                            string[] pom = pod.datum.Split(' ');
                            s.Add(pom[1]);
                        }
                    }
                    listaRez.Add(listaVrednosti.Max());
                    li.Add(listaDrz[i], s.Last());
                    // listaPoslednjihVremena.Add(lista[i].Sifra, s.Last());
                }
                m.UcitajUBazu(listaRez, li, DateTime.Now, 3);
            }
        }
Esempio n. 2
0
        public void IzvrsiFunkciju()
        {
            List <Podrucje>             lista                  = m.IzlistajPodrucja();
            List <Podatak>              listaPodataka          = m.IscitajIzBaze();
            List <double>               listaSuma              = new List <double>();
            Dictionary <string, string> listaPoslednjihVremena = new Dictionary <string, string>();
            Dictionary <string, string> dic = m.IzlistajPoslednje(1);

            int[]         count    = new int[10];
            List <double> listaRez = new List <double>();

            if (!listaPodataka.Any())
            {
                return;
            }
            int brojac = -1;

            if (!dic.Any())
            {
                for (int i = 0; i < lista.Count; i++)
                {
                    listaSuma.Add(0);
                    brojac++;
                    count[brojac] = 0;
                    List <string> s = new List <string>();
                    foreach (Podatak pod in listaPodataka)
                    {
                        if (lista[i].Sifra.Equals(pod.sifraPod))
                        {
                            string[] pom = pod.datum.Split(' ');
                            s.Add(pom[1]);
                            count[brojac]++;
                            double a = listaSuma.ElementAt(brojac) + pod.vrednost;
                            listaSuma[brojac] = a;
                            //listaSuma.Insert(i, a);
                        }
                    }
                    if (s.Any())
                    {
                        listaPoslednjihVremena.Add(lista[i].Sifra, s.Last());
                    }
                    else
                    {
                        listaSuma.RemoveAt(listaSuma.LastIndexOf(0));
                        brojac--;
                    }
                }

                for (int i = 0; i < listaSuma.Count(); i++)
                {
                    listaRez.Add(listaSuma.ElementAt(i) / count[i]);
                }


                m.UcitajUBazu(listaRez, listaPoslednjihVremena, DateTime.Now, 1);
            }
            else
            {
                for (int i = 0; i < lista.Count; i++)
                {
                    //count[i] = 0;
                    List <string> s = new List <string>();
                    // listaSuma.Add(0);
                    foreach (Podatak pod in listaPodataka)
                    {
                        if (lista[i].Sifra.Equals(pod.sifraPod))
                        {
                            string[] pom = pod.datum.Split(' ');
                            s.Add(pom[1]);
                            //count[i]++;
                            //listaSuma[i] += pod.vrednost;
                        }
                    }
                    if (s.Any())
                    {
                        listaPoslednjihVremena.Add(lista[i].Sifra, s.Last());
                    }

                    //foreach(string kljuc in listaPoslednjihVremena.Keys)
                    //{
                    //    Console.WriteLine(kljuc + " " + listaPoslednjihVremena[kljuc]);
                    //}
                }
                List <string> listaDrz = new List <string>();
                foreach (string sif in dic.Keys)
                {
                    foreach (string l in listaPoslednjihVremena.Keys)
                    {
                        if (sif == l)
                        {
                            if (dic[sif] != listaPoslednjihVremena[l])
                            {
                                listaDrz.Add(sif);
                            }
                        }
                    }
                }

                Dictionary <string, string> li = new Dictionary <string, string>();

                for (int i = 0; i < listaDrz.Count; i++)
                {
                    count[i] = 0;
                    List <string> s = new List <string>();
                    listaSuma.Add(0);
                    int index = i;
                    foreach (Podatak pod in listaPodataka)
                    {
                        if (listaDrz[i].Equals(pod.sifraPod))
                        {
                            count[i]++;

                            double a = listaSuma.ElementAt(index) + pod.vrednost;
                            listaSuma[index] = a;
                            //listaSuma.Insert(index, a);
                            // listaSuma += pod.vrednost;
                            string[] pom = pod.datum.Split(' ');
                            s.Add(pom[1]);
                        }
                    }
                    li.Add(listaDrz[index], s.Last());
                    // listaPoslednjihVremena.Add(lista[i].Sifra, s.Last());
                }

                for (int i = 0; i < listaSuma.Count(); i++)
                {
                    listaRez.Add(listaSuma.ElementAt(i) / count[i]);
                }
                // listaPoslednjihVremena = li;
                m.UcitajUBazu(listaRez, li, DateTime.Now, 1);
            }
        }