private void BtnChange_Click(object sender, RoutedEventArgs e) { //parsirati unos svaki ChannelFactory <ISolarPanelGUI> SolarPanelChannel = new ChannelFactory <ISolarPanelGUI>("ISolarPanelGUI"); ISolarPanelGUI proxySP = SolarPanelChannel.CreateChannel(); ChannelFactory <IEVChargerGUI> EVChargerChannel = new ChannelFactory <IEVChargerGUI>("IEVChargerGUI"); IEVChargerGUI proxyEV = EVChargerChannel.CreateChannel(); ChannelFactory <IConsumerGUI> ConsumerChannel = new ChannelFactory <IConsumerGUI>("IConsumerGUI"); IConsumerGUI proxyConsumer = ConsumerChannel.CreateChannel(); ChannelFactory <IUtilityGUI> UtilityChannel = new ChannelFactory <IUtilityGUI>("IUtilityGUI"); IUtilityGUI proxyUtility = UtilityChannel.CreateChannel(); double sunIntensity = 0; var consumerRezim = Common.Enums.ConsumerRezim.OFF; int consumerID = 0; var ev = Common.Enums.BatteryRezim.PRAZNJENJE; double util = 0; if (txtSun.Text != null && txtSun.Text != "") { if (double.TryParse(txtSun.Text, out sunIntensity) && sunIntensity >= 0 && sunIntensity <= 1) { proxySP.ChangeSunIntensity(sunIntensity); txtSun.Text = ""; } else { throw new ArgumentOutOfRangeException("Intenzitet Sunca mora biti broj u intervalu 0-1!"); } } if (txtConsumerId.Text != null && txtConsumerId.Text != "") { if (Int32.TryParse(txtConsumerId.Text, out consumerID)) { if (cmbBoxConsumer.Text != null && cmbBoxConsumer.Text != "") { switch (cmbBoxConsumer.Text) { case "ON": consumerRezim = Enums.ConsumerRezim.ON; break; default: consumerRezim = Enums.ConsumerRezim.OFF; break; } Trace.TraceInformation("GUI sending: Consumer id-" + consumerID + ", state-" + consumerRezim.ToString()); proxyConsumer.ChangeConsumerState(consumerID, consumerRezim); txtConsumerId.Text = ""; } } else { throw new ArgumentOutOfRangeException("Id potrosaca mora biti nenegativan broj!"); } } if (cmbBoxBatteryRegime.Text != null && cmbBoxBatteryRegime.Text != "") { switch (cmbBoxBatteryRegime.Text) { case "PUNJENJE": ev = Enums.BatteryRezim.PUNJENJE; break; default: ev = Enums.BatteryRezim.PRAZNJENJE; break; } Trace.TraceInformation("GUI to EV: " + Convert.ToBoolean(cmbBoxBatteryOnPlug.Text) + " " + ev.ToString()); proxyEV.SendRegime(Convert.ToBoolean(cmbBoxBatteryOnPlug.Text), ev); } if (txtUtilityPrice.Text != null && txtUtilityPrice.Text != "") { if (double.TryParse(txtUtilityPrice.Text, out util) && util >= 0) { util = double.Parse(txtUtilityPrice.Text); proxyUtility.SendPrice(util); txtUtilityPrice.Text = ""; } else { throw new ArgumentOutOfRangeException("Cena elektrodistribucije mora biti pozitivan broj!"); } } }
public void Setup() { rezim = Common.Enums.BatteryRezim.PUNJENJE; plug = true; evcg = new EVChargerGUI(); }