/// <summary> /// Metodo que Realiza a consulta /// O retorno é do tipo ResultadoConsulta /// </summary> /// <param name="filtro">Parametros para a consulta</param> /// <returns></returns> public ResultadoConsulta Consultar(FiltroConsulta filtro) { String URI = _Dominio + "/api/Consulta"; String encoded = _UserEncoded; String requestXml = XMLHelpers.SerializeObjectToXML <FiltroConsulta>(filtro); byte[] bytes; bytes = System.Text.Encoding.ASCII.GetBytes(requestXml); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URI); request.Method = "POST"; request.Headers.Add("Authorization", "Basic " + encoded); request.ContentType = "application/xml"; request.ContentLength = bytes.Length; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } try { using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { using (Stream dataStream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(dataStream)) { String result = String.Empty; result = reader.ReadToEnd(); return(XMLHelpers.DeserializeXMLToObject <ResultadoConsulta>(result)); } } } } catch (WebException Webex) { using (Stream dataStream = Webex.Response.GetResponseStream()) { using (StreamReader reader = new StreamReader(dataStream)) { String result = String.Empty; result = reader.ReadToEnd(); throw new Exception(result, Webex); } } } catch (Exception ex) { throw ex; } }
/// <summary> /// Metodo que retorna todos os produtos habilitados para o cliente /// /// o retorno é do tipo Produto[] /// </summary> /// <returns></returns> public Produto[] ListarProduto() { String URI = _Dominio + "/api/ListarProdutos"; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URI); request.Method = "GET"; request.Headers.Add("Authorization", "Basic " + _UserEncoded); request.ContentType = "application/xml"; try { using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { using (Stream dataStream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(dataStream)) { String result = String.Empty; result = reader.ReadToEnd(); return(XMLHelpers.DeserializeXMLToObject <Produto[]>(result)); } } } } catch (WebException Webex) { var response = (HttpWebResponse)Webex.Response; if (response.StatusCode == HttpStatusCode.Unauthorized) { throw new Exception(Webex.Message, Webex); } using (Stream dataStream = Webex.Response.GetResponseStream()) { using (StreamReader reader = new StreamReader(dataStream)) { String result = String.Empty; result = reader.ReadToEnd(); throw new Exception(result, Webex); } } } catch (Exception ex) { throw ex; } }