示例#1
0
        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 }));
        }
示例#2
0
        // 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));
        }