using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace Tester { public partial class RestPanel : UserControl, IExecutePanel { public RestPanel() { InitializeComponent(); cmbMethod.SelectedIndex = 0; ChangeRBCtrlEnabled(); } private void ChangeRBCtrlEnabled() { txtFilePath.Enabled = false; txtStr.Enabled = false; btnFile.Enabled = false; if (rbFile.Checked) { txtFilePath.Enabled = true; btnFile.Enabled = true; } if (rbString.Checked) { txtStr.Enabled = true; } } private void rbNone_CheckedChanged(object sender, EventArgs e) { ChangeRBCtrlEnabled(); } private void rbFile_CheckedChanged(object sender, EventArgs e) { ChangeRBCtrlEnabled(); } private void rbString_CheckedChanged(object sender, EventArgs e) { ChangeRBCtrlEnabled(); } private void btnFile_Click(object sender, EventArgs e) { using (var fileDialog = new OpenFileDialog()) { fileDialog.FileName = txtFilePath.Text; if (fileDialog.ShowDialog() == DialogResult.OK) { txtFilePath.Text = fileDialog.FileName; } } } private byte[] GetBodyData() { if (rbFile.Checked) { var path = txtFilePath.Text; if (!string.IsNullOrEmpty(path)) { return File.ReadAllBytes(path); } } else { var str = txtStr.Text; if (!string.IsNullOrEmpty(str)) { return Encoding.UTF8.GetBytes(str); } } return null; } public object[] GetObjectArg() { var res = new List(); res.Add(cmbMethod.SelectedItem.ToString()); res.Add(txtAddPath.Text); res.Add(string.IsNullOrEmpty(txtQuery.Text) ? null : txtQuery.Text); res.Add(string.IsNullOrEmpty(txtContentType.Text) ? null : txtContentType.Text); res.Add(GetBodyData()); return res.ToArray(); } } }