コード例 #1
0
        public async Task <IActionResult> Inserir([FromBody] AulaDto dto, [FromServices] IComandosAula comandos)
        {
            var retorno = new RetornoBaseDto();

            retorno.Mensagens.Add(await comandos.Inserir(dto));
            return(Ok(retorno));
        }
コード例 #2
0
        public async Task <string> Inserir(AulaDto dto)
        {
            var usuario = await servicoUsuario.ObterUsuarioLogado();

            var aula = MapearDtoParaEntidade(dto, usuario.CodigoRf, usuario.EhProfessorCj());

            return(await servicoAula.Salvar(aula, usuario, aula.RecorrenciaAula));
        }
コード例 #3
0
        public async Task Deve_Buscar_Evento_E_Aulas_Do_Ano_Todo_Por_Tipo_Calendario_Dre_Ue()
        {
            List <DateTime> diasLetivos    = new List <DateTime>();
            List <DateTime> diasNaoLetivos = new List <DateTime>();

            FiltroEventosAulasCalendarioDto filtro = new FiltroEventosAulasCalendarioDto
            {
                DreId            = "1",
                UeId             = "2",
                TurmaId          = "1",
                TipoCalendarioId = 1
            };

            PeriodoEscolar periodoEscolar  = new PeriodoEscolar();
            PeriodoEscolar periodoEscolar2 = new PeriodoEscolar();
            PeriodoEscolar periodoEscolar3 = new PeriodoEscolar();
            PeriodoEscolar periodoEscolar4 = new PeriodoEscolar();

            AulaDto aula    = new AulaDto();
            AulaDto aula2   = new AulaDto();
            Evento  evento  = new Evento();
            Evento  evento2 = new Evento();

            NovoPerioEscolar(periodoEscolar, 1, new DateTime(2019, 02, 01), new DateTime(2019, 03, 30));
            NovoPerioEscolar(periodoEscolar2, 2, new DateTime(2019, 04, 01), new DateTime(2019, 06, 30));
            NovoPerioEscolar(periodoEscolar3, 3, new DateTime(2019, 07, 01), new DateTime(2019, 09, 30));
            NovoPerioEscolar(periodoEscolar4, 4, new DateTime(2019, 10, 01), new DateTime(2019, 11, 30));
            NovaAula(aula, new DateTime(2019, 11, 1));
            NovaAula(aula2, new DateTime(2019, 12, 1));
            NovoEvento(evento, "Teste 1", new DateTime(2019, 11, 21), new DateTime(2019, 12, 1));
            NovoEvento(evento2, "Teste 2", new DateTime(2019, 12, 1), new DateTime(2019, 12, 1));

            IEnumerable <PeriodoEscolar> periodos = new List <PeriodoEscolar> {
                periodoEscolar, periodoEscolar2, periodoEscolar3, periodoEscolar4
            };
            IEnumerable <AulaDto> aulas = new List <AulaDto> {
                aula, aula2
            };
            IEnumerable <Evento> eventos = new List <Evento> {
                evento, evento2
            };

            repositorioPeriodoEscolar.Setup(r => r.ObterPorTipoCalendario(It.IsAny <long>())).Returns(periodos);
            repositorioAula.Setup(r => r.ObterAulas(It.IsAny <long>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult(aulas));
            repositorioEvento.Setup(r => r.ObterEventosPorTipoDeCalendarioDreUe(It.IsAny <long>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>())).Returns(eventos);

            var dias = comandosDiasLetivos.BuscarDiasLetivos(1);
            var diasEventosNaoLetivos = comandosDiasLetivos.ObterDias(eventos, diasNaoLetivos, Dominio.EventoLetivo.Nao);
            var diasEventosLetivos    = comandosDiasLetivos.ObterDias(eventos, diasLetivos, Dominio.EventoLetivo.Sim);

            comandosDiasLetivosMock.Setup(r => r.BuscarDiasLetivos(It.IsAny <long>())).Returns(dias);
            comandosDiasLetivosMock.Setup(r => r.ObterDias(It.IsAny <IEnumerable <Evento> >(), It.IsAny <List <DateTime> >(), EventoLetivo.Nao)).Returns(diasEventosNaoLetivos);
            comandosDiasLetivosMock.Setup(r => r.ObterDias(It.IsAny <IEnumerable <Evento> >(), It.IsAny <List <DateTime> >(), EventoLetivo.Sim)).Returns(diasEventosLetivos);

            var eventosAulas = await consultasEventosAulasCalendario.ObterEventosAulasMensais(filtro);

            Assert.True(eventosAulas.ToList().Where(x => x.Mes == 11).Select(s => s.EventosAulas).FirstOrDefault() == 8);
        }
コード例 #4
0
 private static void NovaAula(AulaDto aula, DateTime dataAula)
 {
     aula.DataAula         = dataAula;
     aula.Quantidade       = 2;
     aula.TipoAula         = TipoAula.Normal;
     aula.TipoCalendarioId = 1;
     aula.TurmaId          = "1";
     aula.UeId             = "1";
 }
コード例 #5
0
        public async Task <string> Alterar(AulaDto dto, long id)
        {
            var usuario = await servicoUsuario.ObterUsuarioLogado();

            var aulaOrigem           = repositorioAula.ObterPorId(id);
            var aulaOrigemQuantidade = aulaOrigem.Quantidade;
            var aula = MapearDtoParaEntidade(dto, usuario.CodigoRf, usuario.EhProfessorCj(), aulaOrigem);

            return(await servicoAula.Salvar(aula, usuario, dto.RecorrenciaAula, aulaOrigemQuantidade));
        }
コード例 #6
0
        public async Task Deve_Buscar_Tipos_De_Evento_E_Aulas_Do_Mes_Por_Tipo_Calendario_Dre_Ue()
        {
            FiltroEventosAulasCalendarioMesDto filtro = new FiltroEventosAulasCalendarioMesDto
            {
                DreId            = "1",
                UeId             = "2",
                TurmaId          = "1",
                TipoCalendarioId = 1,
                Mes = 11
            };

            PeriodoEscolar periodoEscolar  = new PeriodoEscolar();
            PeriodoEscolar periodoEscolar2 = new PeriodoEscolar();
            PeriodoEscolar periodoEscolar3 = new PeriodoEscolar();
            PeriodoEscolar periodoEscolar4 = new PeriodoEscolar();
            AulaDto        aula            = new AulaDto();
            AulaDto        aula2           = new AulaDto();
            Evento         evento          = new Evento();
            Evento         evento2         = new Evento();

            NovaAula(aula, new DateTime(2019, 11, 1));
            NovaAula(aula2, new DateTime(2019, 11, 2));
            NovoEvento(evento, "Teste 1", new DateTime(2019, 11, 21), new DateTime(2019, 12, 1));
            NovoEvento(evento2, "Teste 2", new DateTime(2019, 11, 1), new DateTime(2019, 11, 1));

            NovoPerioEscolar(periodoEscolar, 1, new DateTime(2019, 02, 01), new DateTime(2019, 03, 30));
            NovoPerioEscolar(periodoEscolar2, 2, new DateTime(2019, 04, 01), new DateTime(2019, 06, 30));
            NovoPerioEscolar(periodoEscolar3, 3, new DateTime(2019, 07, 01), new DateTime(2019, 09, 30));
            NovoPerioEscolar(periodoEscolar4, 4, new DateTime(2019, 10, 01), new DateTime(2019, 11, 30));

            IEnumerable <PeriodoEscolar> periodos = new List <PeriodoEscolar> {
                periodoEscolar, periodoEscolar2, periodoEscolar3, periodoEscolar4
            };
            IEnumerable <AulaDto> aulas = new List <AulaDto> {
                aula, aula2
            };
            IEnumerable <Evento> eventos = new List <Evento> {
                evento, evento2
            };

            repositorioAula.Setup(r => r.ObterAulas(It.IsAny <long>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), null, null, null)).Returns(Task.FromResult(aulas));
            repositorioEvento.Setup(r => r.ObterEventosPorTipoDeCalendarioDreUeMes(It.IsAny <long>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>())).Returns(Task.FromResult(eventos));
            repositorioPeriodoEscolar.Setup(r => r.ObterPorTipoCalendario(It.IsAny <long>())).Returns(periodos);

            var dias = comandosDiasLetivos.BuscarDiasLetivos(1);

            comandosDiasLetivosMock.Setup(r => r.BuscarDiasLetivos(It.IsAny <long>())).Returns(dias);

            var eventosAulas = await consultasEventosAulasCalendario.ObterTipoEventosAulas(filtro);

            Assert.True(eventosAulas.Count() == 11);
        }
コード例 #7
0
        private Aula MapearDtoParaEntidade(AulaDto dto, string usuarioRf, bool usuarioEhCJ, Aula aula = null)
        {
            Aula entidadeAula = aula ?? new Aula();

            if (string.IsNullOrEmpty(entidadeAula.ProfessorRf))
            {
                entidadeAula.ProfessorRf = usuarioRf;
                // Alteração não muda recorrencia da aula
                entidadeAula.RecorrenciaAula = dto.RecorrenciaAula;
            }
            entidadeAula.UeId         = dto.UeId;
            entidadeAula.DisciplinaId = dto.DisciplinaId;
            entidadeAula.DisciplinaCompartilhadaId = dto.DisciplinaCompartilhadaId;
            entidadeAula.DisciplinaNome            = dto.DisciplinaNome;
            entidadeAula.TurmaId          = dto.TurmaId;
            entidadeAula.TipoCalendarioId = dto.TipoCalendarioId;
            entidadeAula.DataAula         = dto.DataAula.Date;
            entidadeAula.Quantidade       = dto.Quantidade;
            entidadeAula.TipoAula         = dto.TipoAula;
            entidadeAula.AulaCJ           = usuarioEhCJ;
            return(entidadeAula);
        }
コード例 #8
0
        private async Task <Aula> MapearDtoParaEntidade(AulaDto dto, long id)
        {
            Aula aula = new Aula();

            if (id > 0L)
            {
                aula = repositorio.ObterPorId(id);
            }
            if (aula.ProfessorId <= 0L)
            {
                var usuario = await servicoUsuario.ObterUsuarioLogado();

                aula.ProfessorId = usuario.Id;
            }
            aula.UeId             = dto.UeId;
            aula.DisciplinaId     = dto.DisciplinaId;
            aula.TurmaId          = dto.TurmaId;
            aula.TipoCalendarioId = dto.TipoCalendarioId;
            aula.DataAula         = dto.DataAula;
            aula.Quantidade       = dto.Quantidade;
            aula.RecorrenciaAula  = dto.RecorrenciaAula;
            aula.TipoAula         = dto.TipoAula;
            return(aula);
        }
コード例 #9
0
        public async Task Inserir(AulaDto dto)
        {
            var aula = await MapearDtoParaEntidade(dto, 0L);

            repositorio.Salvar(aula);
        }
コード例 #10
0
        public async Task Alterar(AulaDto dto, long id)
        {
            var aula = await MapearDtoParaEntidade(dto, id);

            repositorio.Salvar(aula);
        }
コード例 #11
0
        public async Task <IActionResult> Alterar([FromBody] AulaDto dto, long id, [FromServices] IComandosAula comandos)
        {
            await comandos.Alterar(dto, id);

            return(Ok());
        }
コード例 #12
0
        public async Task <IActionResult> Inserir([FromBody] AulaDto dto, [FromServices] IComandosAula comandos)
        {
            await comandos.Inserir(dto);

            return(Ok());
        }