public IActionResult Put(PerfilEdicaoModel model) { //verificando se os campos da model passaram nas ões if (ModelState.IsValid) { try { var perfil = mapper.Map <Perfil>(model); perfilRepository.Alterar(perfil); var result = new { message = "Perfil atualizado com sucesso", perfil }; return(Ok(result)); //HTTP 200 (SUCESSO!) } catch (Exception e) { return(StatusCode(500, "Erro: " + e.Message)); } } else { //Erro HTTP 400 (BAD REQUEST) return(BadRequest("Ocorreram erros de validação.")); } }
public async Task <Perfil> Alterar(Perfil perfil) { perfil = await _perfilRepository.Alterar(perfil); return(perfil); }
public bool Salvar(PerfilDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.PerfilGravar)) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (dto == null) { throw new ArgumentNullException("dto"); } if (ValidaSalvar(dto) == false) { return(false); } var perfilFuncionalidade = new PerfilFuncionalidade(); bool novoItem = false; var perfil = perfilRepository.ObterPeloId(dto.Id, l => l.ListaFuncionalidade); if (perfil == null) { perfil = new Perfil(); perfil.ModuloId = dto.ModuloId; novoItem = true; } else { for (int i = perfil.ListaFuncionalidade.Count - 1; i >= 0; i--) { perfilFuncionalidadeRepository.Remover(perfil.ListaFuncionalidade.ToList()[i]); } foreach (var item in dto.ListaFuncionalidade) { item.PerfilId = perfil.Id.Value; } } perfil.Descricao = dto.Descricao; perfil.ListaFuncionalidade = dto.ListaFuncionalidade.To <List <PerfilFuncionalidade> >(); if (Validator.IsValid(perfil, out validationErrors)) { if (novoItem) { perfilRepository.Inserir(perfil); } else { perfilRepository.Alterar(perfil); } perfilRepository.UnitOfWork.Commit(); messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success); return(true); } else { messageQueue.AddRange(validationErrors, TypeMessage.Error); } return(false); }