public async Task <Resposta <bool> > Handle(RemoverCargoComando request, CancellationToken cancellationToken) { var erro = _validador.Validar(request); if (!string.IsNullOrEmpty(erro)) { return(new Resposta <bool>(erro)); } var resultado = false; await _contexto.IniciarTransacao(); var disciplinas = await _cargoDisciplinaRepositorio.Listar(lnq => lnq.CodigoCargo == request.Codigo); foreach (var disciplina in disciplinas) { await _cargoDisciplinaRepositorio.Remover(lnq => lnq.Codigo == disciplina.Codigo); } resultado = _cargoRepositorio.Remover(lnq => lnq.Codigo == request.Codigo).Result; _contexto.FecharTransacao(); return(new Resposta <bool>(resultado)); }
public async Task ExcluirAsync(int cargoId) { await _validadorDeExclusaoDeCargo.ValidarAsync(cargoId); if (NotificacaoDeDominio.HasNotifications) { return; } var cargo = await _cargoRepositorio.ObterPorIdAsync(cargoId); _cargoRepositorio.Remover(cargo); }
public async Task Excluir(int id) { var cargo = await _cargoRepositorio.ObterPorIdAsync(id); if (await VerificarCargoInvalido(cargo)) { return; } await VerificarCargoAtribuidoFuncionario(cargo); if (!NotificacaoDeDominio.HasNotifications()) { _cargoRepositorio.Remover(cargo); } }