public EwhAction(ActionCodes action) { }
public CallResult SendRequest(ActionCodes action) { CallResult result = new CallResult { calledAction = action }; /* * HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); * request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; * * request.Method = "GET"; * request.ContentType = "text/json"; * string results = string.Empty; * * //search word * switch (action) * { * case ActionCodes.closeRoof: request.Headers.Add("action ", HttpUtility.UrlEncode("close")); break; * case ActionCodes.openRoof: request.Headers.Add("action ", HttpUtility.UrlEncode("open")); break; * case ActionCodes.roofStatus: request.Headers.Add("action ", HttpUtility.UrlEncode("status")); break; * default: result.returnCode = ReturnCodes.commandError; result.resultString = "No action given"; return result; * } * * request.Headers.Add("id", HttpUtility.UrlEncode(Password)); * * string returnedData; * * using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) * using (Stream stream = response.GetResponseStream()) * using (StreamReader reader = new StreamReader(stream)) * { * returnedData = reader.ReadToEnd(); * } * * switch (returnedData) * { * case "Ok": result.returnCode = ReturnCodes.commandAccepted; break; * case "Error": result.returnCode = ReturnCodes.commandError; break; * case "Open": result.returnCode = ReturnCodes.roofOpen; break; * case "Opening": result.returnCode = ReturnCodes.roofOpening; break; * case "Closed": result.returnCode = ReturnCodes.roofClosed; break; * case "Closing": result.returnCode = ReturnCodes.roofClosing; break; * }*/ // Hack begin RestRequest requestLocal; switch (action) { case ActionCodes.closeRoof: requestLocal = new RestRequest("remobs?action=close", Method.GET); break; case ActionCodes.openRoof: requestLocal = new RestRequest("remobs?action=open", Method.GET); break; case ActionCodes.roofStatus: requestLocal = new RestRequest("remobs?action=status", Method.GET); break; default: result.returnCode = ReturnCodes.commandError; result.resultString = "No action given"; return(result); } requestLocal.AddParameter("key", APIKey); // Setze API key // execute the request //IRestResponse<RestCallResult> response = client.Execute<RestCallResult>(requestLocal); IRestResponse response = client.Execute(requestLocal); // var content = response.Content; // raw content as string var JSONObj = JsonConvert.DeserializeObject <RestCallResult>(response.Content); if (JSONObj.msg == "invalid key") { result.returnCode = ReturnCodes.credentialError; return(result); } //JSONObj.msg == "invalid key" //if (JSONObj.ack) //{ switch (JSONObj.stext) { case "Ok": result.returnCode = ReturnCodes.commandAccepted; break; case "Error": result.returnCode = ReturnCodes.commandError; break; case "open": result.returnCode = ReturnCodes.roofOpen; break; case "opening": result.returnCode = ReturnCodes.roofOpening; break; case "closed": result.returnCode = ReturnCodes.roofClosed; break; case "closeing": result.returnCode = ReturnCodes.roofClosing; break; } /*} else if (JSONObj.val=="true") * { * // Command to open/close accepted * * }*/ // Hack end return(result); }
public EwhAction InitAction(ActionCodes action) { throw new NotImplementedException(); }