Working Get -reading from api

This commit is contained in:
2024-05-09 14:50:25 +02:00
parent b584174707
commit 541ec847c3
7 changed files with 211 additions and 13 deletions

View File

@ -28,20 +28,129 @@
/// </summary>
private void InitializeComponent()
{
formHeader = new Label();
apiLabel = new Label();
apiText = new TextBox();
callApi = new Button();
resultsText = new TextBox();
statusStrip = new StatusStrip();
systemStatus = new ToolStripStatusLabel();
resultLabel = new Label();
statusStrip.SuspendLayout();
SuspendLayout();
//
// formHeader
//
formHeader.AutoSize = true;
formHeader.Font = new Font("Segoe UI", 26.25F, FontStyle.Regular, GraphicsUnit.Point, 0);
formHeader.Location = new Point(31, 29);
formHeader.Name = "formHeader";
formHeader.Size = new Size(254, 47);
formHeader.TabIndex = 0;
formHeader.Text = "Postman Clone";
//
// apiLabel
//
apiLabel.AutoSize = true;
apiLabel.Location = new Point(36, 116);
apiLabel.Name = "apiLabel";
apiLabel.Size = new Size(53, 32);
apiLabel.TabIndex = 1;
apiLabel.Text = "API:";
//
// apiText
//
apiText.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
apiText.BorderStyle = BorderStyle.FixedSingle;
apiText.Location = new Point(95, 113);
apiText.Name = "apiText";
apiText.Size = new Size(709, 39);
apiText.TabIndex = 2;
//
// callApi
//
callApi.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right;
callApi.Location = new Point(810, 111);
callApi.Name = "callApi";
callApi.Size = new Size(70, 42);
callApi.TabIndex = 3;
callApi.Text = "Go";
callApi.UseVisualStyleBackColor = true;
callApi.Click += callApi_Click;
//
// resultsText
//
resultsText.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
resultsText.BackColor = Color.White;
resultsText.BorderStyle = BorderStyle.FixedSingle;
resultsText.Location = new Point(36, 215);
resultsText.Multiline = true;
resultsText.Name = "resultsText";
resultsText.ReadOnly = true;
resultsText.ScrollBars = ScrollBars.Both;
resultsText.Size = new Size(843, 240);
resultsText.TabIndex = 4;
//
// statusStrip
//
statusStrip.BackColor = Color.White;
statusStrip.Items.AddRange(new ToolStripItem[] { systemStatus });
statusStrip.Location = new Point(0, 521);
statusStrip.Name = "statusStrip";
statusStrip.Size = new Size(903, 30);
statusStrip.TabIndex = 5;
statusStrip.Text = "System Status";
//
// systemStatus
//
systemStatus.BackColor = Color.White;
systemStatus.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point, 0);
systemStatus.Name = "systemStatus";
systemStatus.Size = new Size(62, 25);
systemStatus.Text = "Ready";
//
// resultLabel
//
resultLabel.AutoSize = true;
resultLabel.Location = new Point(36, 180);
resultLabel.Name = "resultLabel";
resultLabel.Size = new Size(88, 32);
resultLabel.TabIndex = 6;
resultLabel.Text = "Results";
//
// Dashboard
//
AutoScaleDimensions = new SizeF(13F, 32F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(892, 466);
BackColor = Color.White;
ClientSize = new Size(903, 551);
Controls.Add(resultLabel);
Controls.Add(statusStrip);
Controls.Add(resultsText);
Controls.Add(callApi);
Controls.Add(apiText);
Controls.Add(apiLabel);
Controls.Add(formHeader);
Font = new Font("Segoe UI", 18F, FontStyle.Regular, GraphicsUnit.Point, 0);
Margin = new Padding(6, 6, 6, 6);
Margin = new Padding(6);
Name = "Dashboard";
StartPosition = FormStartPosition.CenterScreen;
Text = "Postman Clone by Tim Corey";
statusStrip.ResumeLayout(false);
statusStrip.PerformLayout();
ResumeLayout(false);
PerformLayout();
}
#endregion
private Label formHeader;
private Label apiLabel;
private TextBox apiText;
private Button callApi;
private TextBox resultsText;
private StatusStrip statusStrip;
private Label resultLabel;
private ToolStripStatusLabel systemStatus;
}
}

View File

@ -1,10 +1,39 @@
namespace PostmanCloneUI
using PostmanCloneLibrary;
namespace PostmanCloneUI;
public partial class Dashboard : Form
{
public partial class Dashboard : Form
private readonly ApiAccess _apiAccess = new();
public Dashboard()
{
public Dashboard()
InitializeComponent();
}
private async void callApi_Click(object sender, EventArgs e)
{
systemStatus.Text = "Calling API...";
resultsText.Text = "";
// Validate the API URL
if (_apiAccess.IsValidUrl(apiText.Text) == false)
{
InitializeComponent();
systemStatus.Text = "Invalid URL...";
return;
}
try
{
resultsText.Text = await _apiAccess.CallApiAsync(apiText.Text);
systemStatus.Text = "Ready";
}
catch (Exception ex)
{
resultsText.Text = "Error: " + ex.Message;
systemStatus.Text = "Error";
}
}
}

View File

@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>