//получить таблицу, если текущий узел - это Настройки или Проверки плагина public TableData_Server GetTableDataForPluginParameters(int nodeId) { string TableName = TreeViewNodeInfos[NodeType].TableName; //получить плагин DB_Plugin Plugin = (DB_Plugin)ParentNode; //получить параметры плагина List <AddInsParameter> ParameterList = GetParameterList(Plugin.CheckingData, Plugin.SettingData); if (ParameterList == null || ParameterList.Count == 0) { return(null); } //тип контролов (1 тип - таблица, 2 тип - таблица с одним рядом) bool tableType = false; if (ParameterList[0].InTable) { tableType = true; } //если тип контролов - таблица if (tableType) { return(GetTableDataAsTableType(ParameterList, nodeId, TableName)); } else //если тип контролов - таблица с одним рядом { return(GetTableDataAsNotTableType(ParameterList, nodeId, TableName)); } }
//модификация базы данных, если текущий узел - это Настройки или Проверки плагина public virtual bool ModifyForPluginParameters(ApplicationContext db, TableData_Server newTD) { DB_Plugin Plugin = (DB_Plugin)ParentNode; List <AddInsParameter> AddInsParameters = new List <AddInsParameter>(); List <RowContainer> RowContainers = newTD.RowContainers; for (int i = 0; i < RowContainers.Count; i++) { RowContainer RC = RowContainers[i]; foreach (CellContainer CC in RC.ValueCellContainer) { AddInsParameter Parameter = new AddInsParameter(); Parameter.TableName = newTD.tableName; Parameter.InTable = newTD.bAddNewRow; Parameter.RowIndex = i; Parameter.Value = CC.value; Parameter.VisibleName = CC.CI.headerName; Parameter.PropertyName = CC.CI.headerPropName; Parameter.ErrorMessage = ""; Parameter.ColumnIndex = CC.CI.columnIndex; Parameter.ControlType = CC.CI.ColumnType; Parameter.AvailableValue = CC.CI.comboboxData.ToArray(); AddInsParameters.Add(Parameter); } } string SerializeValue = JsonConvert.SerializeObject(AddInsParameters); if (SerializeValue == null || SerializeValue == "") { return(false); } if (NodeType == TreeViewNodeType.Checking) { Plugin.CheckingData = SerializeValue; } if (NodeType == TreeViewNodeType.Setting) { Plugin.SettingData = SerializeValue; } return(true); }