Example #1
0
        public List <DeviceNotificacao> GetDevicesNotificacaoPrimeiraAula(Notificacao notificacao, ParametrosPrimeiraAula parametros)
        {
            using (MiniProfiler.Current.Step("Obtendo devices notificação primeira aula")) {
                var devices        = new List <DeviceNotificacao> ();
                var aulaRepository = new AulaEntity();

                int diasAntecedencia = parametros.DiasAntecedencia == default(int) ? Utilidades.NotificacaoPrimeiraAulaDiasAntecedenciaPadrao : parametros.DiasAntecedencia;

                var dataAula = parametros.Data == default(DateTime) ? DateTime.Now.Date.AddDays(diasAntecedencia) : parametros.Data;

                var turmasPrimeiraAula = aulaRepository.GetPrimeiraAulaTurma(dataAula, parametros.TurmaId);
                var alunos             = aulaRepository.GetAlunosAulaTurma(turmasPrimeiraAula);

                var alunosCourse = alunos.GroupBy(x => x.CourseId).ToList();

                alunosCourse.ForEach(x => {
                    var devicesCurso = x.Where(y => y.CourseId == x.Key).Select(z => new DeviceNotificacao {
                        ClientId      = z.ClientId,
                        DeviceToken   = z.ClientDeviceToken,
                        NotificacaoId = notificacao.IdNotificacao,
                        Status        = EStatusEnvioNotificacao.NaoEnviado,
                        Data          = z.LessonDatetime,
                        Titulo        = notificacao.Titulo.Replace("#PRODUTO", z.ProductName),
                        Mensagem      = notificacao.Texto.Replace("#DATA", z.LessonDatetime.ToString("dd/MM/yyyy")).Replace("#HORA", z.LessonDatetime.ToString("HH:mm"))
                    }).ToList();

                    devices.AddRange(devicesCurso);
                });

                return(devices);
            }
        }
Example #2
0
        public void GetSemanas_ParametrosDefault_NaoRetornaNulo()
        {
            var semanas = new AulaEntity().GetSemanas(0, 73, 96409, Semana.TipoAba.Aulas);

            Assert.IsNotNull(semanas);
        }