示例#1
0
        private async Task <IList <SHorarioAtivProf> > GetAtividadesProfessorAsync(string codProf, DateTime dataInicial, DateTime dataFinal)
        {
            var atividades = new List <SHorarioAtivProf>();
            var filtro     = new List <string> {
                @"
                    SAtividadeProfessor.CodProf =:CODPROF AND
                    (SAtividadeProfessor.DtInicio BETWEEN :DATAINICIAL AND :DATAFINAL
                    OR SAtividadeProfessor.DtTermino BETWEEN :DATAINICIAL AND :DATAFINAL)
                ",
                codProf,
                dataInicial.ToString("s"),
                dataFinal.ToString("s")
            };

            var result = await _atividadeProfessorData.GetAllAsync(filter : filtro);

            foreach (var atividade in result.Data)
            {
                var atividadeProfessorAtual = await _atividadeProfessorData.GetAsync(atividade.Id);

                atividades.AddRange(atividadeProfessorAtual.Data.SHorarioAtivProf);
            }

            return(atividades);
        }
示例#2
0
        private async Task <IList <SAtividadeProfessor> > GetAtividadesAsync(IList <string> codigosProf, DateTime dataIncial, DateTime dataFinal)
        {
            var codigos = codigosProf.Select(p => $"'{p}'").ToList();
            var filtro  = new List <string> {
                $"SAtividadeProfessor.CodProf in ({string.Join(',', codigos)}) " +
                $"AND (SAtividadeProfessor.DTINICIO BETWEEN '{dataIncial.ToString("s")}' AND '{dataFinal.ToString("s")}' " +
                $"OR SAtividadeProfessor.DTTERMINO BETWEEN '{dataIncial.ToString("s")}' AND '{dataFinal.ToString("s")}')"
            };

            var result = await _atividadeProfessorData.GetAllAsync(filter : filtro);

            if (result == null)
            {
                return(new List <SAtividadeProfessor>());
            }

            return(result.Data);
        }