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()); } } }
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 })); } }