示例#1
0
        public void RukovanjeKapacitetom2(ShesMetode shes)
        {
            if (shes == null)
            {
                throw new ArgumentNullException("Parametri ne mogu da budu NULL!");
            }
            int             a        = this.Rezim;
            Shes            sss      = Shes.Instance();
            List <Baterija> baterije = shes.PreuzmiBaterijeIzBaze();
            double          kapMin   = 0;

            lock (baterijaLock)
            {
                for (int i = 0; i < baterije.Count; i++)
                {
                    kapMin = baterije[i].Kapacitet * 60;
                    if (a == 1)
                    {
                        kapMin++;
                    }
                    else if (a == 2)
                    {
                        kapMin--;
                    }
                    kapMin = kapMin / 60;
                    baterije[i].Kapacitet = kapMin;

                    shes.AzurirajBateriju(baterije[i]);
                    shes.PreuzmiPodatkeOdBaterije(baterije[i].Kapacitet, a, baterije[i].Ime, sss.Vreme);
                }
            }
            Thread.Sleep(1000);
        }
示例#2
0
        public void UbrzajVremeLosiParametri2(string sekund)
        {
            Shes shes = Shes.Instance();

            Assert.Throws <ArgumentException>(() =>
            {
                shes.UbrzajVreme(sekund);
            });
        }
示例#3
0
        static void Main(string[] args)
        {
            //main je takodje tred
            Console.WriteLine("SHES POKRENUT");
            Thread.Sleep(5000);

            Shes s1 = Shes.Instance();
            //novi tred za vreme
            Thread vreme = new Thread(() => s1.UbrzajVreme(ConfigurationManager.AppSettings["sekunde"]));

            vreme.Start();


            IShes      Ishes = new ShesRepozitorijum();
            ShesMetode shes  = new ShesMetode(Ishes);

            ISolarniPanel ISolarniPanel = new SolarniPanelMetode();

            IPotrosac Ipotrosac = new PotrosacMetode();

            //novi tred za merenje snage panela
            Thread merenjeSnagePanela = new Thread(ISolarniPanel.IzmeriSnagePanela);

            merenjeSnagePanela.Start();


            IBaterija IBaterija = new BaterijaMetode();

            //tred za komande bateriji
            Thread posaljiKomandu = new Thread(() => shes.PosaljiKomanduNaBateriju(IBaterija));

            posaljiKomandu.Start();

            //tred za bateriju
            Thread baterija = new Thread(IBaterija.RukovanjeKapacitetom);

            baterija.Start();

            //tred za merenje snage razmene
            Elektrodistribucija e = new Elektrodistribucija(3.8); //cena
            Thread snagaRazmene   = new Thread(() => shes.RacunanjeSnageRazmene(ISolarniPanel, e));

            snagaRazmene.Start();

            Thread a = new Thread(() => s1.KorisnickiMeni(ISolarniPanel, shes, Ipotrosac, e.Cena));

            a.Start();
        }
示例#4
0
 public void TearDown()
 {
     s1              = null;
     s2              = null;
     solarniPaneli   = null;
     s               = null;
     baterija1       = null;
     baterije        = null;
     pi1             = null;
     pi2             = null;
     panelIzme       = null;
     potr1           = null;
     potr2           = null;
     potrosaci       = null;
     potrosac1       = null;
     listaPotrosaca  = null;
     prviDatum       = null;
     poslednjiDatum  = null;
     listaGrafDouble = null;
     st1             = null;
     st2             = null;
     listaStanja     = null;
 }
示例#5
0
        public void IzmeriSnagePanela()
        {
            ShesMetode shes = new ShesMetode(shesRepo);

            while (true)
            {
                List <SolarniPanel> paneli = shes.PreuzmiSolarnePanele();
                Shes s = Shes.Instance();

                double izmereno = 0;

                lock (panelLock)
                {
                    for (int i = 0; i < paneli.Count; i++)
                    {
                        izmereno = paneli[i].MaxSnaga * this.SnagaSunca / 100;
                        shes.IzmereneSnagePanelaDodaj(paneli[i].Ime, s.Vreme, izmereno);
                    }
                }


                Thread.Sleep(1000);
            }
        }
示例#6
0
        public void SetUp()
        {
            s1            = new SolarniPanel("panel1", 350);
            s2            = new SolarniPanel("panel2", 200);
            solarniPaneli = new List <SolarniPanel>()
            {
                s1, s2
            };                                                    //lazna lista panela
            s         = Shes.Instance();
            baterija1 = new Baterija("baterija1", 100, 2.00);
            baterije  = new List <Baterija>()
            {
                baterija1
            };
            pi1 = new PanelIzmereneVrednosti()
            {
                Id = 1, Datum = DateTime.Now, IzmerenaSnaga = 250, Panel = s1
            };
            pi2 = new PanelIzmereneVrednosti()
            {
                Id = 2, Datum = DateTime.Now, IzmerenaSnaga = 25, Panel = s2
            };
            panelIzme = new List <PanelIzmereneVrednosti>()
            {
                pi1, pi2
            };
            potr1     = new Potrosac("potrosac1", 2.0, true);
            potr2     = new Potrosac("potrosac2", 1.0, true);
            potrosaci = new List <Potrosac>()
            {
                potr1, potr2
            };
            potrosac1      = new Potrosac("imePotrosaca", 1.0, true);
            listaPotrosaca = new List <Potrosac>()
            {
                potrosac1
            };
            var cultureInfo = new CultureInfo("de-DE");

            prviDatum       = DateTime.Parse("12/06/2020", cultureInfo);
            poslednjiDatum  = DateTime.Parse("14/06/2020", cultureInfo);
            listaGrafDouble = new List <double>()
            {
                10.0, 9.0
            };
            izB = new IzmereneVrednostiBaterije()
            {
                Id = 1, NazivBaterije = "batetija1", Baterija = baterija1, Kapacitet = 2.0, Rezim = 1, Datum = DateTime.Now
            };
            listaE1 = new List <IzmereneVrednostiBaterije>()
            {
                izB
            };
            listaE2 = new List <IzmereneVrednostiBaterije>()
            {
                izB
            };
            listaE3 = new List <IzmereneVrednostiBaterije>()
            {
                izB
            };
            st1 = new PotrosaciStanje()
            {
                Id = 1, Datum = DateTime.Now, Snaga = 1.0
            };
            st2 = new PotrosaciStanje()
            {
                Id = 2, Datum = DateTime.Now, Snaga = 1.0
            };
            listaStanja = new List <PotrosaciStanje>()
            {
                st1, st2
            };
        }