예제 #1
0
 public Evento(string nome, string descricao, DateTime dataInicioEvento, DateTime dataFimEvento, Grupo grupo, TipoEventoEnum tipoDoEvento)
 {
     Preencher(nome, descricao, dataInicioEvento, dataFimEvento, grupo, tipoDoEvento);
     DataCadastro = SystemTime.Now();
     Estado = EstadoEventoEnum.Agendado;
     Conflitos = new List<Conflito>();
     Reservas = new List<Reserva>();
 }
        public ActionResult Index(TipoEventoEnum id)
        {
            ViewBag.TipoEvento = id;
            var pagedList = _domain.Get().ToPagedList(id != TipoEventoEnum.Indefinido ? new EventoListFilter {
                TipoEvento = id
            } : null);

            return(View(pagedList));
        }
예제 #3
0
        public IEnumerable <Evento> GetCache(TipoEventoEnum tipoEvento = TipoEventoEnum.Indefinido)
        {
            return(_cacheManager.Get($"evento-{tipoEvento.ToString() ?? "all"}", 10, () =>
            {
                var query = tipoEvento == TipoEventoEnum.Indefinido ? Get() : Get().Where(a => a.TipoEvento == tipoEvento);

                return query.OrderByDescending(a => a.DtCadastro).Take(100).ToArray();
            }));
        }
        private void CriarEventoExistenteQueReservouLocal(TipoEventoEnum tipoEvento)
        {
            eventoExistente = CriarEvento(tipoEvento, dataAtual, dataAtual.AddHours(4));

            localDesejado = new Local("Um Local");
            dataReservaExistente = dataAtual;
            eventoExistente.Reservar(localDesejado, dataReservaExistente, new List<HoraReservaEnum> { HoraReservaEnum.Tarde });

            DataBaseSession.Store(eventoExistente);
            DataBaseSession.SaveChanges();
        }
예제 #5
0
 public Ponto(Guid eventoId, Guid usuarioId, Guid empresaId, string postId, string perfilId, DateTime dataEvento, DateTime dataPontuacao, TipoEventoEnum tipoEvento, int pontos, RedeSocialEnum redeSocialEnum)
 {
     EventoId      = eventoId;
     UsuarioId     = usuarioId;
     EmpresaId     = empresaId;
     PostId        = postId;
     PerfilId      = perfilId;
     DataEvento    = dataEvento;
     DataPontuacao = dataPontuacao;
     TipoEvento    = tipoEvento;
     Pontos        = pontos;
     RedeSocial    = redeSocialEnum;
 }
        private List <CalendarioItem> ItemsCalendarioDocente(int idDocente)
        {
            List <CalendarioItem> itensCalendario = new List <CalendarioItem>();

            var calendarioDocente = BL.AgendaEvento.Get(d => d.IdDocente == idDocente);

            foreach (var item in calendarioDocente)
            {
                //Se não tem dataFim, atribu como sendo a data inicio
                item.DataFim = item.DataFim.GetValueOrDefault(item.DataIni.GetValueOrDefault());
                item.DataIni = item.DataIni.GetValueOrDefault();

                //Calculando quantos dias de diferença existe entre as duas datas
                var interval = (item.DataFim.Value - item.DataIni.Value).Days + 1;

                for (int i = 0; i < interval; i++)
                {
                    TipoEventoEnum tipoEvento = (TipoEventoEnum)item.TipoEvento.GetValueOrDefault();
                    var            color      = AgendaEventoController.GetColorByType(tipoEvento);

                    itensCalendario.Add(new CalendarioItem
                    {
                        tipo          = TiposItemsAgendamento.AgendaDocente,
                        id            = item.IdAgendaEvento,
                        start         = item.DataIni.Value.AddDays(i).ToString("yyyy-MM-dd"),
                        originalStart = item.DataIni.Value.ToString("yyyy-MM-dd"),
                        originalEnd   = item.DataFim.Value.ToString("yyyy-MM-dd"),
                        title         = tipoEvento.ToDescription(),
                        description   = item.Descricao,
                        //horaInicio = item1.HoraInicio.Value.ToString("HH:mm"),
                        //horaFim = item1.HoraFim.Value.ToString("HH:mm"),
                        //docente = item1.Docente.Nome,
                        //turma = item1.Turma.Matriz.Nome.ToString(),
                        //componente = item1.Componente.Nome,
                        //ambiente = item1.Ambiente.Nome,

                        color = "#" + color,
                    });
                }
            }

            return(itensCalendario);
        }
예제 #7
0
        private MailTemplate GetMailTemplate(TipoEventoEnum tipoEvento)
        {
            switch (tipoEvento)
            {
            case TipoEventoEnum.Curso:
                return(_context.Set <MailTemplate>().Single(a => a.Key == MailTemplateEnum.NotifyCurso.ToString()));

            case TipoEventoEnum.Noticia:
                return(_context.Set <MailTemplate>().Single(a => a.Key == MailTemplateEnum.NotifyNoticia.ToString()));

            case TipoEventoEnum.Aviso:
                return(_context.Set <MailTemplate>().Single(a => a.Key == MailTemplateEnum.NotifyAviso.ToString()));

            case TipoEventoEnum.Concurso:
                return(_context.Set <MailTemplate>().Single(a => a.Key == MailTemplateEnum.NotifyConcurso.ToString()));

            default:
                throw new System.ArgumentOutOfRangeException("TipoEvento");
            }
        }
        public static string GetColorByType(TipoEventoEnum tipo)
        {
            var baseColor = "";

            switch (tipo)
            {
            case TipoEventoEnum.Ferias:
                baseColor = "00FF00";
                break;

            case TipoEventoEnum.Licenca:
                baseColor = "40E0D0";
                break;

            case TipoEventoEnum.Evento:
                baseColor = "FF8C00";
                break;

            case TipoEventoEnum.Outros:
                baseColor = "BEBEBE";
                break;
            }
            return(baseColor);
        }
 private Evento CriarEvento(TipoEventoEnum tipoEvento)
 {
     var grupo = MockRepository.GenerateStub<Grupo>();
     return new Evento("Nome", "Descricao", DateTime.Now, DateTime.Now.AddHours(1), grupo, tipoEvento);
 }
예제 #10
0
        private void PreencherTipo(TipoEventoEnum tipoDoEvento)
        {
            #region pré-condição
            var tipoFoiInformado = Assertion.That(tipoDoEvento != default(TipoEventoEnum))
                                            .WhenNot("Necessário classificar o tipo do evento.");
            #endregion
            tipoFoiInformado.Validate();

            Tipo = tipoDoEvento;
        }
예제 #11
0
 private void Preencher(string nome, string descricao, 
                                         DateTime dataInicioEvento, DateTime dataFimEvento, 
                                         Grupo grupo, TipoEventoEnum tipoDoEvento)
 {
     PreencherNome(nome);
     PreencherDescricao(descricao);
     PreencherDatas(dataInicioEvento, dataFimEvento);
     PreencherGrupo(grupo);
     PreencherTipo(tipoDoEvento);
 }
예제 #12
0
        public void RegistrarReacao(Guid id, Guid usuarioId, string perfilId, string postId, DateTime dataEvento, object evento, string intensidade, TipoEventoEnum tipo)
        {
            var parser = new RegistrarReacao();

            var request = parser.Request(id, usuarioId, perfilId, postId, dataEvento, evento, intensidade, tipo);

            client.RegistrarReacaoAsync(request)
            .GetAwaiter();
        }
예제 #13
0
        public PingEventoMessage Request(Guid id, Guid usuarioId, string perfilId, string postId, DateTime dataEvento, DateTime ultimoEvento, DateTime atualEvento, int toleranciaSegundos, int frequenciaMinutos, int pausaMilissegundos, TipoEventoEnum tipo)
        {
            var pingEventoMessage = new PingEventoMessage
            {
                Evento = new EventoMessage()
                {
                    Id         = id.ToString(),
                    UsuarioId  = usuarioId.ToString(),
                    PerfilId   = perfilId,
                    PostId     = postId,
                    DataEvento = dataEvento.Ticks,
                    Json       = string.Empty
                },
                Ultimo             = ultimoEvento.Ticks,
                Atual              = atualEvento.Ticks,
                ToleranciaSegundos = toleranciaSegundos,
                FrequenciaMinutos  = frequenciaMinutos,
                PausaMilissegundos = pausaMilissegundos
            };

            return(pingEventoMessage);
        }
        private Evento CriarEvento(TipoEventoEnum tipo, DateTime dataInicio, DateTime dataFim)
        {
            Grupo grupo = MockRepository.GenerateStub<Grupo>();

            return new Evento("Nome", "Descricao", dataInicio, dataFim, grupo, tipo);
        }
예제 #15
0
        public void Alterar(string nome, string descricao, DateTime dataInicio, DateTime dataFim, Grupo grupo, TipoEventoEnum tipo)
        {
            bool dataInicioMudou = !this.DataInicio.Equals(dataInicio);
            bool dataFimMudou = !this.DataFim.Equals(dataFim);
            if (dataInicioMudou || dataFimMudou)
            {
                this.DataInicio = dataInicio;
                this.DataFim = dataFim;
                DomainEvents.Raise<HorarioDeEventoAlteradoEvent>(new HorarioDeEventoAlteradoEvent(this));
            }

            this.Nome = nome;
            this.Descricao = descricao;
            this.Grupo = grupo;
            this.Tipo = tipo; // TODO: disparar DomainEvent de tipo alterado (se o tipo diminuiu a prioridade, o handler deverá remover os conflitos dos eventos menos prioritários até então)
        }
예제 #16
0
        public ReacaoEventoMessage Request(Guid id, Guid usuarioId, string perfilId, string postId, DateTime dataEvento, object evento, string intensidade, TipoEventoEnum tipo)
        {
            var json = SerializadorHelper.Serializar(evento);

            var reacaoEventoMessage = new ReacaoEventoMessage
            {
                Evento = new EventoMessage()
                {
                    Id         = id.ToString(),
                    UsuarioId  = usuarioId.ToString(),
                    PerfilId   = perfilId,
                    PostId     = postId,
                    DataEvento = dataEvento.Ticks,
                    Json       = json
                },
                Intensidade = intensidade,
                Tipo        = (TipoEventoEnumMessage)(int)tipo
            };

            return(reacaoEventoMessage);
        }
예제 #17
0
        public void RegistrarPing(Guid id, Guid usuarioId, string perfilId, string postId, DateTime dataEvento, DateTime ultimoEvento, DateTime atualEvento, int toleranciaSegundos, int frequenciaMinutos, int pausaMilissegundos, TipoEventoEnum tipo)
        {
            var parser = new Ping();

            var request = parser.Request(id, usuarioId, perfilId, postId, dataEvento, ultimoEvento, atualEvento, toleranciaSegundos, frequenciaMinutos, pausaMilissegundos, tipo);

            client.RegistrarPingAsync(request)
            .GetAwaiter();
        }