/// <summary> /// Create a new Device and call <see cref="MWController.CreateInterfaceOnClick(MWInterface)"/> of the <see cref="mWController"/> /// </summary> /// <param name="sender">Event arg, not used</param> /// <param name="e">Event arg, not used</param> private void createInterfaceBtn_Click(object sender, System.EventArgs e) { // Creating a new object (interface) and giving it the values of the textfields/input MWInterface interfaceObject = new MWInterface(); interfaceObject.pinList = new List <MWPin>(); try { interfaceObject.numberOfInterface = Convert.ToInt32(txtInterfaceNumber.Text); } catch (Exception ex) { MessageBox.Show("Vendor ID is in an invalid format (Expected only numbers)!"); return; } interfaceObject.interfaceDescription = txtInterfaceDescription.Text; interfaceObject.connectorType = cmbConnectorType.Text; if (!String.IsNullOrWhiteSpace(txtPinCount.Text)) { try { interfaceObject.amountPins = Convert.ToInt32(txtPinCount.Text); } catch (Exception ex) { MessageBox.Show("Pin Count is in an invalid format (Expected only numbers)! Ignoring!"); } } // getting the values of the DataGridView and inserting it into the pinList of the object (Interface) int i = (interfaceObject.amountPins - 1); while (i >= 0) { var pinItem = new MWPin(); try { pinItem.pinNumber = Convert.ToInt32(interfacePortMappingGrid.Rows[i].Cells[0].Value); pinItem.attribute = Convert.ToString(interfacePortMappingGrid.Rows[i].Cells[1].Value); } catch (Exception ex) { MessageBox.Show(ex.Message); } interfaceObject.pinList.Add(pinItem); i += -1; } string result = mWController.CreateInterfaceOnClick(interfaceObject, isEditing); clear(); if (result != null) { // Display error Dialog MessageBox.Show(result); } }
/// <summary> /// Read the all attributes in <paramref name="attributes"/> and write the values into <paramref name="mWInterface"/> /// </summary> /// <param name="mWInterface">the object to write the data into</param> /// <param name="attributes">the list of attributes</param> private void fillInterfaceWithData(MWInterface mWInterface, AttributeSequence attributes) { List <MWPin> pinlist = new List <MWPin>(); // iterate over all attributes foreach (AttributeType attribute in attributes) { // apply the value of the attribute to the correct interface parameter switch (attribute.Name) { case "InterfaceNumber": mWInterface.numberOfInterface = Int32.Parse(attribute.Value); break; case "Description": mWInterface.interfaceDescription = attribute.Value; break; case "ConnectorType": mWInterface.connectorType = attribute.Value; break; case "PinCount": mWInterface.amountPins = Int32.Parse(attribute.Value); break; case "PinAttributes": // Read the pinlist attribute for (int i = 0; i < mWInterface.amountPins; i++) { MWPin pin = new MWPin(Int32.Parse(attribute.Attribute[i].Name), attribute.Attribute[i].Value); pinlist.Add(pin); } // sort the pinlist after ascending pin Number pinlist = pinlist.OrderBy(o => o.pinNumber).ToList(); break; } } mWInterface.pinList = pinlist; }