/// <summary> /// Routine zum Durchführen einer manuellen Konfiguration (Kunde gibt über Telefon Codes durch und erhält Antwortcode) /// </summary> /// <param name="pAddress">URL zum Aktivierungsskript</param> /// <param name="pKey">Key, für den aktiviert werden soll</param> /// <param name="pAppID">ApplikationsID für die aktiviert werden soll</param> /// <param name="pHWID">Hardwarekennung, für die aktiviert werden soll</param> /// <param name="pAnswerCodePrinter">Delgat (siehe <see cref="AnswerCodePrinter">AnswerCodePrinter</see></param> /// <returns>Aktivierungsstatus, Aktivierungscode über Delegate</returns> public static OnlineActivationResponse TelephoneActivation(string pAddress, string pKey, string pAppID, string pHWID, AnswerCodePrinter pAnswerCodePrinter) { string requestUrl = pAddress; string parameters = "?"; parameters += "key=" + pKey; parameters += "&app=" + pAppID; parameters += "&machine=" + pHWID; parameters += "&action=4"; // Fire activation // Parameter prüfen // Mit PC-ID versehen // Request HttpWebRequest requ = (HttpWebRequest)HttpWebRequest.Create(requestUrl + parameters); HttpWebResponse resp = (HttpWebResponse)requ.GetResponse(); StreamReader sr = new StreamReader(resp.GetResponseStream()); string answer = sr.ReadLine(); sr.Close(); resp.Close(); string[] parts; try { parts = answer.Split(';'); } catch { TBL.Exceptions.ConversionException ex = new TBL.Exceptions.ConversionException("In Telefonaktivierungsantwort zurückgelieferter String lässt sich nicht nach Separator ';' zerteilen. Empfangener Wert: " + answer); throw(ex); } int intAnswer = 0; try { intAnswer = Convert.ToInt32(parts[0]); } catch { return(OnlineActivationResponse.InvalidResponseCode); } OnlineActivationResponse response = (OnlineActivationResponse)(intAnswer); if (response == OnlineActivationResponse.Successful) { try { int activationCode = Convert.ToInt32(sr.ReadLine()); pAnswerCodePrinter(parts[1].ToString()); } catch { return(OnlineActivationResponse.InvalidResponseCode); } } //else return(response); }
/// <summary> /// Routine zum Durchführen einer manuellen Konfiguration (Kunde gibt über Telefon Codes durch und erhält Antwortcode) /// </summary> /// <param name="pAddress">URL zum Aktivierungsskript</param> /// <param name="pKey">Key, für den aktiviert werden soll</param> /// <param name="pAppID">ApplikationsID für die aktiviert werden soll</param> /// <param name="pHWID">Hardwarekennung, für die aktiviert werden soll</param> /// <param name="pAnswerCodePrinter">Delgat (siehe <see cref="AnswerCodePrinter">AnswerCodePrinter</see></param> /// <returns>Aktivierungsstatus, Aktivierungscode über Delegate</returns> public static OnlineActivationResponse TelephoneActivation(string pAddress, string pKey, string pAppID, string pHWID, AnswerCodePrinter pAnswerCodePrinter) { string requestUrl = pAddress; string parameters = "?"; parameters += "key=" + pKey; parameters += "&app=" + pAppID; parameters += "&machine=" + pHWID; parameters += "&action=4"; // Fire activation // Parameter prüfen // Mit PC-ID versehen // Request HttpWebRequest requ = (HttpWebRequest)HttpWebRequest.Create(requestUrl + parameters); HttpWebResponse resp = (HttpWebResponse)requ.GetResponse(); StreamReader sr = new StreamReader(resp.GetResponseStream()); string answer = sr.ReadLine(); sr.Close(); resp.Close(); string[] parts; try { parts = answer.Split(';'); } catch { TBL.Exceptions.ConversionException ex = new TBL.Exceptions.ConversionException("In Telefonaktivierungsantwort zurückgelieferter String lässt sich nicht nach Separator ';' zerteilen. Empfangener Wert: " + answer); throw(ex); } int intAnswer=0; try { intAnswer = Convert.ToInt32(parts[0]); } catch { return(OnlineActivationResponse.InvalidResponseCode); } OnlineActivationResponse response = (OnlineActivationResponse)(intAnswer); if(response == OnlineActivationResponse.Successful) { try { int activationCode = Convert.ToInt32(sr.ReadLine()); pAnswerCodePrinter(parts[1].ToString()); } catch { return(OnlineActivationResponse.InvalidResponseCode); } } //else return(response); }