public void PersistirPerfil(Perfil perfil) { var mensagens = new PerfilValidator().Validate(perfil).Errors; if (mensagens.Count > 0) { foreach (var mensagem in mensagens) { _notificationHandler.AddMensagem(mensagem.PropertyName, mensagem.ErrorMessage); } return; } if (_perfilRepository.Validar(perfil)) { _notificationHandler.AddMensagem("Sigla", "PERSISTIR_PERFIL_DUPLICIDADE_NOME"); return; } perfil.DataAlteracao = DateTime.Now; perfil.Usuario = _variables.UserName; if (perfil.Id == 0) { _perfilRepository.Adicionar(perfil); } else { AtualizarPerfil(perfil); } _unitOfWork.Commit(); }
public async Task <CommandResponse> Handle(CriarPerfilCommand request, CancellationToken cancellationToken) { var perfil = this.DefinirPerfil(request); var perfilExistente = await _perfilRepository.Buscar(p => p.Identifacao.Nome == request.Nome && p.DeletadoEm == null); if (perfilExistente.Any()) { await _mediator.Publish(new DomainNotification(request.GetType().Name, $"Um perfil com o nome {request.Nome} já existe.")); return(await Task.FromResult(CommandResponse.Fail)); } foreach (var item in request.Atribuicoes) { if (item.Ativo) { perfil = await _perfilService.AtribuirPermissaoAsync(perfil, item.PermissaoId); } else { perfil = await _perfilService.RevogarPermissaoAsync(perfil, item.PermissaoId); } } _perfilRepository.Adicionar(perfil); if (await Commit()) { await _mediator.Publish(new PerfilCriadoEvent(perfil)); } return(await Task.FromResult(CommandResponse.Ok)); }
public IActionResult Post(Perfil perfil) { try { _perfilRepository.Adicionar(perfil); return(Ok(perfil)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult Post([FromForm] Perfil perfil) { try { //Adicionar um perfil _perfilRepository.Adicionar(perfil); //Retorna OK e os perfis return(Ok(perfil)); } catch (Exception ex) { //Caso ocorra um erro retorna uma mensagem de erro return(BadRequest(ex.Message)); } }
public ActionResult <Perfil> CriarPerfil(Perfil perfil) { if (_context.Get(perfil.Login) != null) { return(BadRequest()); } try { _context.Adicionar(perfil); return(CreatedAtAction(nameof(GetPerfil), new { id = perfil.Id }, perfil)); } catch { return(BadRequest()); } }