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; } } } } }