예제 #1
0
        public static async Task <bool> AddProduto(ProdutoAddL _produto)
        {
            LoadClient();

            _retorno = new RetornoL();

            try
            {
                string uri                   = _base_path + "/api/v1/catalogo/produtos";
                var    json                  = JsonConvert.SerializeObject(_produto);
                var    stringContent         = new StringContent(json, Encoding.UTF8, "application/json");
                HttpResponseMessage response = await _client.PostAsync(new Uri(uri), stringContent);

                var property = response.GetType().GetProperty("StatusCode");

                if ((HttpStatusCode)property.GetValue(response) == HttpStatusCode.OK)
                {
                    response.EnsureSuccessStatusCode();
                    _message = "HttpStatus.200";
                    return(true);
                }

                if ((HttpStatusCode)property.GetValue(response) == HttpStatusCode.BadRequest)
                {
                    var _json = new DataContractJsonSerializer(typeof(RetornoL));
                    _retorno = (RetornoL)_json.ReadObject(await response.Content.ReadAsStreamAsync());
                    _message = "HttpStatus.400";
                    return(false);
                }

                if ((HttpStatusCode)property.GetValue(response) == HttpStatusCode.InternalServerError)
                {
                    _message = "HttpStatus.500";
                    return(false);
                }
            }
            catch (Exception e)
            {
                _message = e.Message;
            }
            return(false);
        }
예제 #2
0
 public static string GetJsonProdutoAdd(ProdutoAddL _item)
 {
     return(JsonConvert.SerializeObject(_item));
 }