public async Task <ActionResult> AsociarProducto(int idCliente)
        {
            var productos = await asociarProductoServicio.ObtenerProductos(idCliente);

            using (var resultado = await client.GetAsync($"{BaseUrl}clientes/{idCliente}"))
            {
                if (resultado.IsSuccessStatusCode)
                {
                    var content = await resultado.Content.ReadAsStringAsync();

                    Cliente cliente = JsonConvert.DeserializeObject <Cliente>(content);

                    var viewModel = new AsociarProductoViewModel
                    {
                        Cliente   = cliente,
                        Productos = productos
                    };

                    return(View("Productos", viewModel));
                }
                else
                {
                    return(NotFound());
                }
            }
        }
Exemple #2
0
        public async Task <ActionResult> Create(AsociarProductoViewModel model)
        {
            var urlretorno = HttpContext.Request.Host.Value + "/Clientes/AsociarProducto?idCliente=" + model.Cliente.Id;

            try
            {
                var buffer = System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(
                                                                    new CrearProducto {
                    TipoProducto = model.TipoProducto,
                    ClienteId    = model.Cliente.Id,
                    UrlRetorno   = urlretorno
                }));
                var byteContent = new ByteArrayContent(buffer);
                byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                using (var resultado = await client.PostAsync($"{BaseUrl}productos", byteContent))
                {
                    if (resultado.IsSuccessStatusCode)
                    {
                        //var content = await resultado.Content.ReadAsStringAsync();
                        //Producto producto = JsonConvert.DeserializeObject<Producto>(content);
                        return(RedirectToAction("AsociarProducto", "Clientes", new { Id = model.Cliente.Id }));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error", ex.Message);
                return(RedirectToAction("AsociarProducto", "Clientes", new { Id = model.Cliente.Id }));
            }
        }