Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }