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