예제 #1
0
        private void SaveBtn_Click(object sender, RoutedEventArgs e)
        {
            string[] all = HWC.IOControllerControlIdents;
            foreach (string s in all)
            {
                IOController i = HWC.GetIOController(s);
                i.RemoveAllPorts();
            }

            foreach (var r in Data.Parameters)
            {
                if (!string.IsNullOrEmpty(r.ParamController) && !string.IsNullOrWhiteSpace(r.ParamController))
                {
                    IOController ic = HWC.GetIOController(r.ParamController);
                    if (ic != null)
                    {
                        if (!ic.ContainsPort(r.ParamBit))
                        {
                            //Port neu erstellen
                            IOPort pn = new IOPort(r.ParamBit, r.ParamPortType);
                            pn.InName  = r.ParamInName;
                            pn.OutName = r.ParamOutName;
                            ic.AddPort(pn);
                        }
                        else
                        {
                            //Port verändern
                            IOPort p = ic.GetPort(r.ParamBit);
                            p.PortType = r.ParamPortType;
                            p.InName   = r.ParamInName;
                            p.OutName  = r.ParamOutName;
                        }
                    }
                }
            }
            HWC.Save();
        }