Ejemplo 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));
        }