laatzen/Common/Logic/RelatePcb/RelatePcb.cs
2022-09-23 13:52:57 +02:00

94 lines
2.9 KiB
C#

using System;
using System.IO;
using System.Net;
namespace Xylem.Common.Logic.RelatePcb
{
public static class RelatePcb
{
public static String GetPcbId(String baseUrl, String serialNumber)
{
var ret = string.Empty;
var url = $"{baseUrl}GetPcbId?SerialNumber={serialNumber}";
var http = (HttpWebRequest)WebRequest.Create(url);
var response = (HttpWebResponse)http.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
var responseStream = response.GetResponseStream();
if (responseStream == null)
{
throw new InvalidOperationException();
}
using (var sr = new StreamReader(responseStream))
{
var responseJson = sr.ReadToEnd();
ret = responseJson.Trim('"');
return ret;
}
}
else
{
return ret;
}
}
public static Int32 GetSerialNumber(String baseUrl, String pcbId)
{
var ret = -1;
if (string.IsNullOrEmpty(pcbId))
{
return ret;
}
var url = $"{baseUrl}GetSerialNumber?PcbId={pcbId}";
var http = (HttpWebRequest)WebRequest.Create(url);
var response = (HttpWebResponse)http.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
var responseStream = response.GetResponseStream();
if (responseStream == null)
{
throw new InvalidOperationException();
}
using (var sr = new StreamReader(responseStream))
{
var responseJson = sr.ReadToEnd();
int.TryParse(responseJson.Trim('"'), out ret);
return ret;
}
}
else
{
return ret;
}
}
public static Boolean MarriagePcbIdWIthSerialNumber(String baseUrl, String pcbId, String serialNumber)
{
var url = $"{baseUrl}SetPcbToSerial?PcbId={pcbId}&SerialNumber={serialNumber}";
var http = (HttpWebRequest)WebRequest.Create(url);
var response = (HttpWebResponse)http.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
return true;
}
else
{
var responseStream = response.GetResponseStream();
if (responseStream == null)
{
throw new InvalidOperationException();
}
using (var sr = new StreamReader(responseStream))
{
sr.ReadToEnd();
return false;
}
}
}
}
}