public X_Json_Update GetUpdates(string toekn, string api_url) { String telegram_url = api_url + toekn + GET_UPDATES; dynamic ret = new X_Json_Update(); WebService(telegram_url, ref ret); return(ret); }
public void ParseTelegramJson(String json, ref dynamic output) { if (output is X_Json_Update) { output = new X_Json_Update(); } else if (output is X_Json_Me) { output = new X_Json_Me(); } else if (output is X_Json_Send) { output = new X_Json_Send(); } else if (output is X_Json_WebHook) { output = new X_Json_WebHook(); } else if (output is X_Json_CallBack) { output = new X_Json_CallBack(); } String error = ""; string result = json; try { if (!string.IsNullOrEmpty(result)) { try { dynamic deserializedMessages = null; if (output is X_Json_Update) { deserializedMessages = new X_Json_Update(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Update>(result); } else if (output is X_Json_Me) { deserializedMessages = new X_Json_Me(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Me>(result); } else if (output is X_Json_Send) { deserializedMessages = new X_Json_Send(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Send>(result); } else if (output is X_Json_WebHook) { deserializedMessages = new X_Json_WebHook(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_WebHook>(result); } else if (output is X_Json_CallBack) { deserializedMessages = new X_Json_CallBack(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_CallBack>(result); } if (deserializedMessages == null) { error = "E003: " + "Deserialized Messages are NULL"; output.ERROR = error; } else { if (output is X_Json_WebHook) { output = deserializedMessages; output.ERROR = "NaN"; } else if (output is X_Json_CallBack) { output = deserializedMessages; output.ERROR = "NaN"; } else { if (deserializedMessages.ok) { output = deserializedMessages; output.ERROR = "NaN"; } else { error = "E004: " + "Deserialized Messages are NOT OK!"; output.ERROR = error; } } } } catch (Exception ex) { error = "E005: " + ex.Message; output.ERROR = error; } } } catch (Exception ex) { error = "E006: " + ex.Message; output.ERROR = error; } }
/////////////////////////////////////////////////////////////////////////////////// private void WebService(String telegram_url, ref dynamic output) { if (output is X_Json_Update) { output = new X_Json_Update(); } else if (output is X_Json_Me) { output = new X_Json_Me(); } else if (output is X_Json_Send) { output = new X_Json_Send(); } else if (output is X_Json_WebHook) { output = new X_Json_WebHook(); } byte[] byteReceiveData = null; String error = ""; using (var wc = new System.Net.WebClient()) { try { byteReceiveData = wc.DownloadData(telegram_url); } catch (Exception ex) { error = "E001: " + ex.Message; output.ERROR = error; } } if (byteReceiveData != null) { Stream streamMemory = null; try { streamMemory = new MemoryStream(byteReceiveData); } catch (Exception ex) { error = "E002: " + ex.Message; output.ERROR = error; } if (streamMemory != null) { byte[] byteCopyData = new byte[byteReceiveData.Length]; for (int i = 0; i < byteReceiveData.Length; i++) { byteCopyData[i] = byteReceiveData[i]; } string result = System.Text.Encoding.UTF8.GetString(byteCopyData); try { if (!string.IsNullOrEmpty(result)) { try { dynamic deserializedMessages = null; if (output is X_Json_Update) { deserializedMessages = new X_Json_Update(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Update>(result); } else if (output is X_Json_Me) { deserializedMessages = new X_Json_Me(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Me>(result); } else if (output is X_Json_Send) { deserializedMessages = new X_Json_Send(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Send>(result); } else if (output is X_Json_WebHook) { deserializedMessages = new X_Json_WebHook(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_WebHook>(result); } if (deserializedMessages == null) { error = "E003: " + "Deserialized Messages are NULL"; output.ERROR = error; } else { if (deserializedMessages.ok) { output = deserializedMessages; output.ERROR = "NaN"; } else { error = "E004: " + "Deserialized Messages are NOT OK!"; output.ERROR = error; } } } catch (Exception ex) { error = "E005: " + ex.Message; output.ERROR = error; } } } catch (Exception ex) { error = "E006: " + ex.Message; output.ERROR = error; } } } else { error = "E007: " + "Received Data(byte) is NULL"; output.ERROR = error; } }