Beispiel #1
0
        // Bind(Include = "...") is used to avoid overposting attacks
        public async Task <ActionResult> Edit(MvcDepartamentoModel departamento)
        {
            try
            {
                var entity = _mapper.Map <Departamento>(departamento);

                await _departamentoEndpoint.Put(entity, _userSession.BearerToken);
            }
            catch (UnauthorizedRequestException)
            {
                return(RedirectToAction("AccessDeniedPartial", "Error"));
            }
            catch (BadRequestException ex)
            {
                ModelState.AddModelErrors(ex.Errors);

                return(PartialView("_Edit", departamento));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message }));
            }

            return(Content("OK"));
        }
        public ActionResult AddorEdit(MvcDepartamentoModel dep)
        {
            //Se o id retornado for 0, significa que é uma criaçao de dados
            if (dep.Id == 0)
            {
                //Adiciona os valores na tabela
                HttpResponseMessage response = GlobalVariables.WebApiClient.PostAsJsonAsync("Departamento", dep).Result;
                //Envia uma msg de sucesso
                TempData["SuccessMessage"] = "Salvo com sucesso!";
            }
            else
            {
                //Caso o id retornado seja != 0, significa que é o update da tabela

                //Atualiza os valores na tavela pegando os dados recebidos da view
                HttpResponseMessage response = GlobalVariables.WebApiClient.PutAsJsonAsync("Departamento/" + dep.Id, dep).Result;
                //Envia uma msg de sucesso
                TempData["SuccessMessage"] = "Atualizado com sucesso!";
            }
            //Redireciona para a tela Departamento/Index
            return(RedirectToAction("Index"));
        }