private ConfigPropertyNode GetPropertyNodeById(string nodeId) { foreach (ConfigFolderNode folderNode in _treeViewDataSource) { ConfigPropertyNode cpn = (from pn in folderNode.PropertyNodes where pn.PropertyId == nodeId select pn).FirstOrDefault(); if (cpn != null) { return(cpn); } } return(null); }
/// <summary> /// Save software configuration /// </summary> public void Save() { //TODO : Handle exeption //Load config file XDocument confFile = XDocument.Load(GetConfigFileName()); //Excel ConfigPropertyNode cpn = GetPropertyNodeById(SoftwareConfiguration.EXCEL_FIREWORK_NAME_PROP_ID); XElement excelFile = confFile.Descendants("ExcelFile").First(); excelFile.Element("FireworkName").Value = cpn.PropertyValue; cpn = GetPropertyNodeById(SoftwareConfiguration.EXCEL_FIRST_ROW_DATA_PROP_ID); excelFile.Element("FireworkDataRow").Value = cpn.PropertyValue; cpn = GetPropertyNodeById(SoftwareConfiguration.EXCEL_SHEET_NB_PROP_ID); excelFile.Element("FireworkSheetNumber").Value = cpn.PropertyValue; //Transceiver //cpn = GetPropertyNodeById(SoftwareConfiguration.TRANSCEIVER_ACK_TIMEOUT_PROP_ID); //XElement transceiver = confFile.Descendants("Transceiver").First(); //transceiver.Element("AckTimeOut").Value = cpn.PropertyValue; cpn = GetPropertyNodeById(SoftwareConfiguration.TRANSCEIVER_TOTAL_TIMEOUT_PROP_ID); XElement transceiver = confFile.Descendants("Transceiver").First(); transceiver.Element("TotalTimeout").Value = cpn.PropertyValue; cpn = GetPropertyNodeById(SoftwareConfiguration.TRANSCEIVER_RETRY_FRAME_EMISSION_PROP_ID); transceiver.Element("RetryFrameEmission").Value = cpn.PropertyValue; cpn = GetPropertyNodeById(SoftwareConfiguration.TRANSCEIVER_ADDRESS_PROP_ID); transceiver.Element("Address").Value = cpn.PropertyValue; cpn = GetPropertyNodeById(SoftwareConfiguration.TRANSCEIVER_BAUDRATE_PROP_ID); transceiver.Element("Baudrate").Value = cpn.PropertyValue; //cpn = GetPropertyNodeById(SoftwareConfiguration.TRANSCEIVER_RETRYPING_PROP_ID); //transceiver.Element("RetryPingTransceiver").Value = cpn.PropertyValue; confFile.Save(GetConfigFileName()); //Refresh properties Load(); }
private void GenerateTreeViewDataSource() { List <ConfigFolderNode> list = new List <ConfigFolderNode>(); //Excel file ConfigFolderNode fn = new ConfigFolderNode("Fichier Excel"); ConfigPropertyNode cpn = new ConfigPropertyNode(EXCEL_FIRST_ROW_DATA_PROP_ID, "Première ligne de données", _excelFirstRowData.ToString()); fn.AddNode(cpn); cpn = new ConfigPropertyNode(EXCEL_FIREWORK_NAME_PROP_ID, "Titre du feu", _excelFireworkName); fn.AddNode(cpn); cpn = new ConfigPropertyNode(EXCEL_SHEET_NB_PROP_ID, "Numéro de la feuille Excel", _excelSheetNumber.ToString()); fn.AddNode(cpn); list.Add(fn); //Transceiver fn = new ConfigFolderNode("Transceiver"); cpn = new ConfigPropertyNode(TRANSCEIVER_TOTAL_TIMEOUT_PROP_ID, "Temps d'attente maximum (ms) pour l'envoi et la réception d'une frame", _totalTimeOut.ToString()); fn.AddNode(cpn); //cpn = new ConfigPropertyNode(TRANSCEIVER_ACK_TIMEOUT_PROP_ID, "Temps d'attente maximum (ms) d'un ACK en provenance d'un récepteur", _ackTimeOut.ToString()); //fn.AddNode(cpn); cpn = new ConfigPropertyNode(TRANSCEIVER_RETRY_FRAME_EMISSION_PROP_ID, "Nb de renvoie du message en cas d'échec", _retryFrameEmission.ToString()); fn.AddNode(cpn); cpn = new ConfigPropertyNode(TRANSCEIVER_ADDRESS_PROP_ID, "Adresse de l'émetteur/récepteur", _transceiverAddress.ToString()); fn.AddNode(cpn); cpn = new ConfigPropertyNode(TRANSCEIVER_BAUDRATE_PROP_ID, "Baudrate", _transceiverBaudrate.ToString()); fn.AddNode(cpn); //cpn = new ConfigPropertyNode(TRANSCEIVER_RETRYPING_PROP_ID, "Nb de ping défectueux du transceiver tolérés", _tranceiverRetryPing.ToString()); //fn.AddNode(cpn); list.Add(fn); _treeViewDataSource = list; }
public void AddNode(ConfigPropertyNode cpn) { _propertyNodes.Add(cpn); }