using SqliteDotNet; using System; using System.ComponentModel; using System.Linq; using System.Windows.Forms; namespace MgTestAdmin { public partial class ParameterSetEditor : UserControl { private BindingList _paramSets; public ParameterSetEditor() { InitializeComponent(); _paramSets = new BindingList(); lstParamSets.DataSource = _paramSets; } private SqliteDb _db; public ParameterSetEditor Attach(int[] paramSets, SqliteDb db) { _db = db; this.ParamSets = paramSets; return this; } public int[] ParamSets { get { return _paramSets.ToArray(); } set { _paramSets.Clear(); lstParamSets.ClearSelected(); if (value != null) { foreach (var i in value) { _paramSets.Add(i); } if (_paramSets.Count > 0) lstParamSets.SelectedIndex = 0; } } } private void lstParamSets_SelectedIndexChanged(object sender, EventArgs e) { if (lstParamSets.SelectedItem != null) { int psid = (int)lstParamSets.SelectedItem; var ps = _db.GetParamSet(psid); if (ps != null) { dgParams.DataSource = ps.Params; var tr = _db.GetTestResultSet(psid); if (tr != null) { apiTestResultControl.Setup(_db, tr.ApiResult, true); httpTestResultControl.Setup(_db, tr.HttpResult, true); } } } } private void tsDelete_Click(object sender, EventArgs e) { if (lstParamSets.SelectedItem != null) { int psid = (int)lstParamSets.SelectedItem; _paramSets.Remove(psid); } } private void tsAdd_Click(object sender, EventArgs e) { using (var picker = new ParameterSetPicker(_db)) { if (picker.ShowDialog() == DialogResult.OK) { var ps = picker.SelectedParameterSet; if (ps != null) { _paramSets.Add(ps.Id); } } } } } }