Ejemplo n.º 1
0
        public void Simuliraj()
        {
            new Thread(() =>
            {
                bool puniBaterije   = false;
                bool prazniBaterije = false;
                while (true)
                {
                    double novac = 0;
                    for (int i = 1; i <= 1440; i++)
                    {
                        if (i == 1)
                        {
                            BazaPodataka.istorijaPotrosnje.Add(new PotrosnjaPoDanu());
                        }

                        if (i % 60 == 0)
                        {
                            satnica++;

                            if (satnica == 1)
                            {
                                BazaPodataka.distribucija[0].CenaPokWh = 1.5;

                                PunjacAutomobila temp = PunjacUpravljac.PronadjiPunjac("pa1");
                                PunjacUpravljac.Ukljuci(temp);
                            }
                            else if (satnica == 2)
                            {
                                Potrosac temp = PotrosaciUpravljac.PronadjiPotrosaca("Bojler");
                                PotrosaciUpravljac.Ukljuci(temp);
                            }
                            else if (satnica == 3)
                            {
                                puniBaterije = true;
                            }
                            else if (satnica == 4)
                            {
                            }
                            else if (satnica == 5)
                            {
                                ProcenatSunca = 10;
                                Potrosac temp = PotrosaciUpravljac.PronadjiPotrosaca("Bojler");
                                PotrosaciUpravljac.Iskljuci(temp);
                            }
                            else if (satnica == 6)
                            {
                                ProcenatSunca = 30;
                                puniBaterije  = false;
                            }
                            else if (satnica == 7)
                            {
                                Potrosac temp = PotrosaciUpravljac.PronadjiPotrosaca("Bojler");
                                PotrosaciUpravljac.Iskljuci(temp);
                                ProcenatSunca = 40;
                            }
                            else if (satnica == 8)
                            {
                                BazaPodataka.distribucija[0].CenaPokWh = 6;
                                ProcenatSunca = 60;
                            }
                            else if (satnica == 9)
                            {
                                ProcenatSunca = 80;
                            }
                            else if (satnica == 10)
                            {
                                ProcenatSunca = 90;
                            }
                            else if (satnica == 11)
                            {
                                ProcenatSunca = 100;
                            }
                            else if (satnica == 12)
                            {
                            }
                            else if (satnica == 13)
                            {
                            }
                            else if (satnica == 14)
                            {
                                prazniBaterije = true;
                                Potrosac temp  = PotrosaciUpravljac.PronadjiPotrosaca("Klima");
                                PotrosaciUpravljac.Ukljuci(temp);
                            }
                            else if (satnica == 15)
                            {
                            }
                            else if (satnica == 16)
                            {
                                Potrosac temp = PotrosaciUpravljac.PronadjiPotrosaca("Klima");
                                PotrosaciUpravljac.Iskljuci(temp);
                            }
                            else if (satnica == 17)
                            {
                                prazniBaterije = false;
                            }
                            else if (satnica == 18)
                            {
                                Potrosac temp = PotrosaciUpravljac.PronadjiPotrosaca("Osvetljenje");
                                PotrosaciUpravljac.Ukljuci(temp);
                                ProcenatSunca = 80;
                            }
                            else if (satnica == 19)
                            {
                                ProcenatSunca = 60;
                            }
                            else if (satnica == 20)
                            {
                                ProcenatSunca = 40;
                            }
                            else if (satnica == 21)
                            {
                                ProcenatSunca = 10;
                            }
                            else if (satnica == 22)
                            {
                                ProcenatSunca = 0;
                            }
                            else if (satnica == 23)
                            {
                                Potrosac temp = PotrosaciUpravljac.PronadjiPotrosaca("Osvetljenje");
                                PotrosaciUpravljac.Iskljuci(temp);
                            }
                            else if (satnica == 24)
                            {
                            }
                        }

                        if (puniBaterije)
                        {
                            novac += PuniBaterije();
                        }
                        if (prazniBaterije)
                        {
                            novac += PrazniBaterije();
                        }

                        novac += Potroseno();

                        Thread.Sleep(Takt);


                        EnergijaBaterija = 0;
                        Kolicina         = 0;
                    }
                    Dani++;
                    DateTime danas     = DateTime.Now;
                    string DanasnjiDan = ((danas.Day + countDani).ToString() + '/' + danas.Month + '/' + danas.Year);
                    PotrosnjaPoDanima.Add(DanasnjiDan, novac);
                    countDani++;
                    BazaPodataka.UpisiPotrosnju();
                    satnica = 0;
                    if (novac >= 0)
                    {
                        Console.WriteLine("Zaradjeno : {0}", novac);
                    }
                    else
                    {
                        Console.WriteLine("Potroseno : {0}", novac);
                    }
                }
            }).Start();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            #region connection
            NetTcpBinding binding = new NetTcpBinding();

            ServiceHost hostBaterija    = new ServiceHost(typeof(BaterijaProvider));
            string      addressBaterija = "net.tcp://localhost:8000/IBaterija";
            hostBaterija.AddServiceEndpoint(typeof(IBaterija), binding, addressBaterija);
            hostBaterija.Open();

            ServiceHost hostPunjac    = new ServiceHost(typeof(PunjacProvider));
            string      addressPunjac = "net.tcp://localhost:8000/IPunjac";
            hostPunjac.AddServiceEndpoint(typeof(IPunjac), binding, addressPunjac);
            hostPunjac.Open();

            ServiceHost hostPanel    = new ServiceHost(typeof(SolarniPanelProvider));
            string      addressPanel = "net.tcp://localhost:8000/ISolarnmiPanel";
            hostPanel.AddServiceEndpoint(typeof(ISolarniPanel), binding, addressPanel);
            hostPanel.Open();

            ServiceHost hostPotrosac    = new ServiceHost(typeof(PotrosacProvider));
            string      addressPotrosac = "net.tcp://localhost:8000/IPotrosac";
            hostPotrosac.AddServiceEndpoint(typeof(IPotrosac), binding, addressPotrosac);
            hostPotrosac.Open();

            ServiceHost hostSimulacija    = new ServiceHost(typeof(Simulacija));
            string      addressSimulacija = "net.tcp://localhost:8000/ISimulacija";
            hostSimulacija.AddServiceEndpoint(typeof(ISimulacija), binding, addressSimulacija);
            hostSimulacija.Open();


            //drugi deo
            NetTcpBinding binding1 = new NetTcpBinding();

            ServiceHost hostBaterija1    = new ServiceHost(typeof(BaterijaProvider));
            string      addressBaterija1 = "net.tcp://localhost:8001/IBaterija";
            hostBaterija1.AddServiceEndpoint(typeof(IBaterija), binding1, addressBaterija1);
            hostBaterija1.Open();

            ServiceHost hostPunjac1    = new ServiceHost(typeof(PunjacProvider));
            string      addressPunjac1 = "net.tcp://localhost:8001/IPunjac";
            hostPunjac1.AddServiceEndpoint(typeof(IPunjac), binding1, addressPunjac1);
            hostPunjac1.Open();

            ServiceHost hostPanel1    = new ServiceHost(typeof(SolarniPanelProvider));
            string      addressPanel1 = "net.tcp://localhost:8001/ISolarniPanel";
            hostPanel1.AddServiceEndpoint(typeof(ISolarniPanel), binding1, addressPanel1);
            hostPanel1.Open();

            ServiceHost hostPotrosac1    = new ServiceHost(typeof(PotrosacProvider));
            string      addressPotrosac1 = "net.tcp://localhost:8001/IPotrosac";
            hostPotrosac1.AddServiceEndpoint(typeof(IPotrosac), binding1, addressPotrosac1);
            hostPotrosac1.Open();

            ServiceHost hostSimulacija1    = new ServiceHost(typeof(Simulacija));
            string      addressSimulacija1 = "net.tcp://localhost:8001/ISimulacija";
            hostSimulacija1.AddServiceEndpoint(typeof(ISimulacija), binding1, addressSimulacija1);
            hostSimulacija1.Open();

            #endregion

            BazaPodataka b = new BazaPodataka();
            BazaPodataka.Run();

            Console.WriteLine("servis pokrenut");

            Simulacija s = new Simulacija();
            s.Simuliraj();

            Console.ReadKey();
            hostPunjac.Close();
            hostBaterija.Close();
            hostPanel.Close();
            hostPotrosac.Close();
        }