private async Task ValidarMigracao(MigrarPlanoAulaDto migrarPlanoAulaDto, string codigoRf, bool ehProfessorCj, string ueId) { var turmasAtribuidasAoProfessor = consultasProfessor.Listar(codigoRf); var idsTurmasSelecionadas = migrarPlanoAulaDto.IdsPlanoTurmasDestino.Select(x => x.TurmaId).ToList(); await ValidaTurmasProfessor(ehProfessorCj, ueId, migrarPlanoAulaDto.DisciplinaId, codigoRf, turmasAtribuidasAoProfessor, idsTurmasSelecionadas); ValidaTurmasAno(ehProfessorCj, migrarPlanoAulaDto.MigrarObjetivos, turmasAtribuidasAoProfessor, idsTurmasSelecionadas); }
public async Task Migrar(MigrarPlanoAulaDto migrarPlanoAulaDto) { var usuario = await servicoUsuario.ObterUsuarioLogado(); var planoAulaDto = repositorio.ObterPorId(migrarPlanoAulaDto.PlanoAulaId); var aula = repositorioAula.ObterPorId(planoAulaDto.AulaId); await ValidarMigracao(migrarPlanoAulaDto, usuario.CodigoRf, usuario.EhProfessorCj(), aula.UeId); var objetivosPlanoAulaDto = await repositorioObjetivosAula.ObterObjetivosPlanoAula(migrarPlanoAulaDto.PlanoAulaId); unitOfWork.IniciarTransacao(); foreach (var planoTurma in migrarPlanoAulaDto.IdsPlanoTurmasDestino) { AulaConsultaDto aulaConsultaDto = await repositorioAula.ObterAulaDataTurmaDisciplina( planoTurma.Data, planoTurma.TurmaId, migrarPlanoAulaDto.DisciplinaId ); if (aulaConsultaDto == null) { throw new NegocioException($"Não há aula cadastrada para a turma {planoTurma.TurmaId} para a data {planoTurma.Data.ToString("dd/MM/yyyy")} nesta disciplina!"); } var planoCopia = new PlanoAulaDto() { Id = planoTurma.Sobreescrever ? migrarPlanoAulaDto.PlanoAulaId : 0, AulaId = aulaConsultaDto.Id, Descricao = planoAulaDto.Descricao, DesenvolvimentoAula = planoAulaDto.DesenvolvimentoAula, LicaoCasa = migrarPlanoAulaDto.MigrarLicaoCasa ? planoAulaDto.LicaoCasa : string.Empty, ObjetivosAprendizagemJurema = !usuario.EhProfessorCj() || migrarPlanoAulaDto.MigrarObjetivos ? objetivosPlanoAulaDto.Select(o => o.ObjetivoAprendizagemPlano.ObjetivoAprendizagemJuremaId).ToList() : null, RecuperacaoAula = migrarPlanoAulaDto.MigrarRecuperacaoAula ? planoAulaDto.RecuperacaoAula : string.Empty }; await Salvar(planoCopia, false); } unitOfWork.PersistirTransacao(); }
public async Task <IActionResult> Migrar(MigrarPlanoAulaDto migrarPlanoAulaDto, [FromServices] IMigrarPlanoAulaUseCase migrarPlanoAula) { await migrarPlanoAula.Executar(migrarPlanoAulaDto); return(Ok()); }
public async Task <bool> Executar(MigrarPlanoAulaDto param) { var usuario = await mediator.Send(new ObterUsuarioLogadoQuery()); return(await mediator.Send(new MigrarPlanoAulaCommand(param, usuario))); }
public MigrarPlanoAulaCommand(MigrarPlanoAulaDto planoAulaMigrar, Usuario usuario) { PlanoAulaMigrar = planoAulaMigrar; Usuario = usuario; }
public async Task <IActionResult> Migrar(MigrarPlanoAulaDto migrarPlanoAulaDto, [FromServices] IComandosPlanoAula comandosPlanoAula) { await comandosPlanoAula.Migrar(migrarPlanoAulaDto); return(Ok()); }