public IActionResult Abrir([Bind("ProdutoId,TipoChamadoId,AssuntoChamadoId,Descricao")] AbrirViewModel abrirViewModel) { if (!ModelState.IsValid) { return(NotFound()); } Chamado chamado = new Chamado { Status = Status.Recebido, ClienteId = Convert.ToInt32(UsuarioAutal.GetClienteId(HttpContext)), ProdutoId = abrirViewModel.ProdutoId, TipoChamadoId = abrirViewModel.TipoChamadoId, AssuntoChamadoId = abrirViewModel.AssuntoChamadoId, Descricao = abrirViewModel.Descricao }; HttpResponseMessage response = _httpClient .PostAsJsonAsync(_httpClient.BaseAddress + $"/chamados/", chamado) .Result; if (!response.IsSuccessStatusCode) { ViewBag.mensagemErro = "Não foi possível abrir o chamado"; return(View(abrirViewModel)); } chamado = response.Content.ReadAsAsync <Chamado>().Result; ViewBag.mensagemSucesso = "Chamado aberto com sucesso"; return(RedirectToAction(nameof(Chamado), new { id = chamado.ChamadoId })); }
// GET: chamados/abrir public IActionResult Abrir() { AbrirViewModel abrirViewModel = new AbrirViewModel(); //Get produtos HttpResponseMessage responseGetProdutos = _httpClient .GetAsync(_httpClient.BaseAddress + $"/produtos/") .Result; if (!responseGetProdutos.IsSuccessStatusCode) { return(NotFound()); } IEnumerable <Produto> produtos = responseGetProdutos .Content.ReadAsAsync <IEnumerable <Produto> >() .Result; abrirViewModel.Produtos = new SelectList(produtos, "ProdutoId", "Nome"); //Get tipos HttpResponseMessage responseGetTiposChamado = _httpClient .GetAsync(_httpClient.BaseAddress + $"/tiposchamado/") .Result; if (!responseGetTiposChamado.IsSuccessStatusCode) { return(NotFound()); } IEnumerable <TipoChamado> tiposChamado = responseGetTiposChamado .Content.ReadAsAsync <IEnumerable <TipoChamado> >() .Result; abrirViewModel.TiposChamado = new SelectList(tiposChamado, "TipoChamadoId", "Descricao"); //Get assuntos HttpResponseMessage responseGetAssuntosChamado = _httpClient .GetAsync(_httpClient.BaseAddress + $"/assuntoschamado/") .Result; if (!responseGetAssuntosChamado.IsSuccessStatusCode) { return(NotFound()); } IEnumerable <AssuntoChamado> assuntosChamado = responseGetAssuntosChamado .Content.ReadAsAsync <IEnumerable <AssuntoChamado> >() .Result; abrirViewModel.AssuntosChamado = new SelectList(assuntosChamado, "AssuntoChamadoId", "Descricao"); return(View(abrirViewModel)); }