diff --git a/DemoVB/Form1.Designer.vb b/DemoVB/Form1.Designer.vb
index 08b6a61..4d4604b 100644
--- a/DemoVB/Form1.Designer.vb
+++ b/DemoVB/Form1.Designer.vb
@@ -28,6 +28,7 @@ Partial Class Form1
Me.btnTestAlive = New System.Windows.Forms.Button()
Me.btnFullTest = New System.Windows.Forms.Button()
Me.lblOut = New System.Windows.Forms.Label()
+ Me.btnResetQueue = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'btnTestPing
@@ -88,11 +89,21 @@ Partial Class Form1
Me.lblOut.TabIndex = 5
Me.lblOut.Text = "Label1"
'
+ 'btnResetQueue
+ '
+ Me.btnResetQueue.Location = New System.Drawing.Point(13, 228)
+ Me.btnResetQueue.Name = "btnResetQueue"
+ Me.btnResetQueue.Size = New System.Drawing.Size(75, 23)
+ Me.btnResetQueue.TabIndex = 6
+ Me.btnResetQueue.Text = "Reset Queue"
+ Me.btnResetQueue.UseVisualStyleBackColor = True
+ '
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(764, 472)
+ Me.Controls.Add(Me.btnResetQueue)
Me.Controls.Add(Me.lblOut)
Me.Controls.Add(Me.btnFullTest)
Me.Controls.Add(Me.lblTestAlive)
@@ -112,4 +123,5 @@ Partial Class Form1
Friend WithEvents btnTestAlive As Button
Friend WithEvents btnFullTest As Button
Friend WithEvents lblOut As Label
+ Friend WithEvents btnResetQueue As Button
End Class
diff --git a/DemoVB/Form1.vb b/DemoVB/Form1.vb
index 4908666..d0a8cf1 100644
--- a/DemoVB/Form1.vb
+++ b/DemoVB/Form1.vb
@@ -39,7 +39,7 @@ Public Class Form1
Dim queueStatus As New Dictionary(Of String, Long)
Dim queueList As New Dictionary(Of String, String)
Dim procResults As New List(Of CalcResultDTO)
- Dim respDone As Boolean
+ Dim respPut As String
Dim fileName As String
Dim fileCont As String
@@ -83,18 +83,21 @@ Public Class Form1
sb.AppendLine()
' rendo la risposta...
- respDone = currWDC.SendProcResults(procResults)
+ respPut = currWDC.SendProcResults(procResults)
sb.AppendLine()
sb.AppendLine("----------------------------")
- If (respDone) Then
- sb.AppendLine("Effettuato invio risposta al server")
- Else
- sb.AppendLine("Errore durante invio risposta al server")
- End If
+ sb.AppendLine("Esito invio risposta al server:")
+ sb.AppendLine()
+ sb.AppendLine(respPut)
sb.AppendLine("----------------------------")
lblOut.Text = sb.ToString()
End If
End Sub
+
+ Private Sub btnResetQueue_Click(sender As Object, e As EventArgs) Handles btnResetQueue.Click
+ currWDC.ResetQueue()
+ lblOut.Text = "Queue Resetted!"
+ End Sub
End Class
diff --git a/WebDoorCreator.API/Controllers/QueueController.cs b/WebDoorCreator.API/Controllers/QueueController.cs
index 593157c..8cd8b4f 100644
--- a/WebDoorCreator.API/Controllers/QueueController.cs
+++ b/WebDoorCreator.API/Controllers/QueueController.cs
@@ -45,9 +45,31 @@ namespace WebDoorCreator.API.Controllers
/// Risultati elaborazioni in formato CalcResultDTO
///
[HttpPost("SaveProcResult")]
- public async Task SaveProcResult(List calcResults)
+ public async Task SaveProcResult(List calcResults)
{
- bool answ = await QDataServ.SaveProcessingResult(calcResults);
+ string answ = "NA";
+ bool fatto = await QDataServ.SaveProcessingResult(calcResults);
+ answ = fatto ? "OK" : "NO";
+ return answ;
+ }
+
+ ///
+ /// Reset delle code di chiamata x ripetere simulazione
+ ///
+ /// Chiave x auth di reset
+ ///
+ [HttpPost("ResetQueue")]
+ public async Task ResetQueue(string passPhrase)
+ {
+ string answ = "NA";
+ bool fatto = false;
+ if (passPhrase == "bbbBirdIsTheWord")
+ {
+ // vera chaimata di reset delle code
+ fatto = true;
+ await Task.Delay(10);
+ }
+ answ = fatto ? "OK" : "NO";
return answ;
}
diff --git a/WebDoorCreator.Data/Services/QueueDataService.cs b/WebDoorCreator.Data/Services/QueueDataService.cs
index 88916f6..ac0a8f2 100644
--- a/WebDoorCreator.Data/Services/QueueDataService.cs
+++ b/WebDoorCreator.Data/Services/QueueDataService.cs
@@ -377,7 +377,7 @@ namespace WebDoorCreator.Data.Services
///
public async Task SaveProcessingResult(List calcResults)
{
- bool answ = false;
+ bool answ = true;
await Task.Delay(1);
return answ;
}
diff --git a/WeebDoorCreator.SDK/WDC.cs b/WeebDoorCreator.SDK/WDC.cs
index d5db8da..81e8c6b 100644
--- a/WeebDoorCreator.SDK/WDC.cs
+++ b/WeebDoorCreator.SDK/WDC.cs
@@ -34,7 +34,7 @@ namespace WeebDoorCreator.SDK
get
{
bool answ = false;
- var rawData = callUrl(urlAlive);
+ var rawData = callUrlGet(urlAlive);
string returnData = JsonConvert.DeserializeObject(rawData);
answ = returnData == "OK";
// rendo!
@@ -65,7 +65,7 @@ namespace WeebDoorCreator.SDK
get
{
int answ = 0;
- var rawData = callUrl(urlActLenght);
+ var rawData = callUrlGet(urlActLenght);
var returnData = JsonConvert.DeserializeObject>(rawData);
// rendo!
if (returnData.ContainsKey(pendQueue))
@@ -80,7 +80,7 @@ namespace WeebDoorCreator.SDK
///
public Dictionary queueStatus()
{
- var rawData = callUrl(urlActLenght);
+ var rawData = callUrlGet(urlActLenght);
var returnData = JsonConvert.DeserializeObject>(rawData);
return returnData;
}
@@ -93,7 +93,7 @@ namespace WeebDoorCreator.SDK
{
{ "numItems", $"{maxNum}" }
};
- var rawData = callUrl(urlTakeNextItems, parList);
+ var rawData = callUrlGet(urlTakeNextItems, parList);
var returnData = JsonConvert.DeserializeObject>(rawData);
return returnData;
}
@@ -103,11 +103,26 @@ namespace WeebDoorCreator.SDK
///
///
///
- public bool SendProcResults(List calcResults)
+ public string SendProcResults(List calcResults)
{
- bool fatto = false;
+ string payload = JsonConvert.SerializeObject(calcResults);
+ var rawData = callUrlPost(urlSaveProcRes, payload);
+ return rawData;
+ }
- return fatto;
+
+ ///
+ /// Reset delel code di processing
+ ///
+ ///
+ public string ResetQueue()
+ {
+ Dictionary parList = new Dictionary
+ {
+ { "passPhrase", "bbbBirdIsTheWord" }
+ };
+ var rawData = callUrlGet(urlTakeNextItems, parList);
+ return rawData;
}
#endregion Public Properties
@@ -129,6 +144,7 @@ namespace WeebDoorCreator.SDK
protected const string urlAlive = "/api/Alive";
protected const string urlActLenght = "api/Queue/ActLenght";
+ protected const string urlResetQueue = "api/Queue/ResetQueue";
protected const string urlStatusList = "api/Queue/StatusList";
protected const string urlSaveProcRes = "api/Queue/SaveProcResult";
protected const string urlTakeNextItems = "api/Queue/TakeNextItems";
@@ -161,11 +177,11 @@ namespace WeebDoorCreator.SDK
#region Protected Methods
///
- /// Effettua chiamata URL e restituisce risultato
+ /// Effettua chiamata URL GET e restituisce risultato
///
///
///
- protected string callUrl(string URL)
+ protected string callUrlGet(string URL)
{
string answ = "";
// cerco online
@@ -186,11 +202,12 @@ namespace WeebDoorCreator.SDK
return answ;
}
///
- /// Effettua chiamata URL e restituisce risultato
+ /// Effettua chiamata URL GET con parametri e restituisce risultato
///
///
+ ///
///
- protected string callUrl(string URL, Dictionary paramsList)
+ protected string callUrlGet(string URL, Dictionary paramsList)
{
string answ = "";
// cerco online
@@ -216,6 +233,33 @@ namespace WeebDoorCreator.SDK
// restituisco valore!
return answ;
}
+ ///
+ /// Effettua chiamata URL GET con parametri e restituisce risultato
+ ///
+ ///
+ ///
+ ///
+ protected string callUrlPost(string URL, string payload)
+ {
+ string answ = "";
+ // cerco online
+ RestClient client = new RestClient(apiUrl);
+ var request = new RestRequest(URL);
+ request.AddJsonBody(payload);
+ var response = client.Post(request);
+ // controllo status code risposta
+ if (response.StatusCode == System.Net.HttpStatusCode.OK)
+ {
+ // deserializzo risposta
+ answ = response.Content;
+ }
+ else
+ {
+ answ = "KO";
+ }
+ // restituisco valore!
+ return answ;
+ }
#endregion Protected Methods