public async Task <ActionResult> Edit(int id, [Bind("ProdutoId,Nome,Descricao,Preco,UrlImagem,EmpregadoId")] Produto produto) { try { var email = User.FindFirstValue(ClaimTypes.Name); int empregadoId = await EmpregadosController.GetUserId(email); if (empregadoId != -1) { produto.EmpregadoId = empregadoId; } produto.ProdutoId = id; HttpClient client = new HttpClient(); var jsonObj = System.Text.Json.JsonSerializer.Serialize(produto); var content = new StringContent(jsonObj, Encoding.UTF8, "application/json"); var RespostaHTTP = await client.PutAsync(endpoint + "/api/Produtos/" + id, content); var dadosJSON = await RespostaHTTP.Content.ReadAsStringAsync(); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public async Task <ActionResult> Create([Bind("ProdutoId,Nome,Descricao,Preco,UrlImagem,EmpregadoId")] Produto produto) { try { //email do user logado var email = User.FindFirstValue(ClaimTypes.Name); //Passa o id do Empregado logado para o produto a ser criado (caso este empregado exista na BD) int empregadoId = await EmpregadosController.GetUserId(email); if (empregadoId != -1) { produto.EmpregadoId = empregadoId; } //caso o empregado nao exista, cria uma entrada na BD para esse empregado e passa o seu id para o empregado do produto a ser criado else { Empregado newEmpregado = new Empregado { Email = email, Nome = email }; produto.EmpregadoId = await EmpregadosController.CreateNew(newEmpregado); } HttpClient client = new HttpClient(); var jsonObj = System.Text.Json.JsonSerializer.Serialize(produto); var content = new StringContent(jsonObj, Encoding.UTF8, "application/json"); var RespostaHTTP = await client.PostAsync(endpoint + "/api/Produtos", content); var dadosJSON = await RespostaHTTP.Content.ReadAsStringAsync(); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }