Beispiel #1
0
        private long CriarWorkflowParaDataPassada(Evento evento, AbrangenciaUeRetorno escola, string linkParaEvento)
        {
            var wfAprovacaoEvento = new WorkflowAprovacaoDto()
            {
                Ano = evento.DataInicio.Year,
                NotificacaoCategoria  = NotificacaoCategoria.Workflow_Aprovacao,
                EntidadeParaAprovarId = evento.Id,
                Tipo                = WorkflowAprovacaoTipo.Evento_Data_Passada,
                UeId                = evento.UeId,
                DreId               = evento.DreId,
                NotificacaoTitulo   = "Criação de evento com data passada",
                NotificacaoTipo     = NotificacaoTipo.Calendario,
                NotificacaoMensagem = $"O evento {evento.Nome} - {evento.DataInicio.Day}/{evento.DataInicio.Month}/{evento.DataInicio.Year} foi criado no calendário {evento.TipoCalendario.Nome} da {escola.Nome}. Para que este evento seja considerado válido, você precisa aceitar esta notificação. Para visualizar o evento clique <a href='{linkParaEvento}'>aqui</a>."
            };

            wfAprovacaoEvento.Niveis.Add(new WorkflowAprovacaoNivelDto()
            {
                Cargo = Cargo.Supervisor,
                Nivel = 1
            });

            return(comandosWorkflowAprovacao.Salvar(wfAprovacaoEvento));
        }
        public async Task DeveCriarEventoEValidarParticularidadesSME_LiberacaoExcepcional(TipoPerfil tipoPerfil, bool sucesso)
        {
            //ARRANGE
            var tipoEvento = new EventoTipo
            {
                Id              = 1,
                Codigo          = (int)TipoEvento.LiberacaoExcepcional,
                TipoData        = EventoTipoData.InicioFim,
                LocalOcorrencia = EventoLocalOcorrencia.UE
            };

            repositorioEventoTipo.Setup(c => c.ObterPorId(It.IsAny <long>()))
            .Returns(tipoEvento);

            var tipoCalendario = new TipoCalendario
            {
                Id = 1
            };

            repositorioTipoCalendario.Setup(c => c.ObterPorId(It.IsAny <long>()))
            .Returns(tipoCalendario);

            var listaPeriodoEscolar = new List <PeriodoEscolar>()
            {
                new PeriodoEscolar()
                {
                    PeriodoInicio = DateTime.Today, PeriodoFim = DateTime.Today.AddDays(7)
                }
            };

            repositorioPeriodoEscolar.Setup(a => a.ObterPorTipoCalendario(tipoCalendario.Id)).Returns(listaPeriodoEscolar);

            var usuario = new Usuario();

            var perfil = new PrioridadePerfil
            {
                CodigoPerfil = Guid.Parse("23A1E074-37D6-E911-ABD6-F81654FE895D"),
                Tipo         = tipoPerfil
            };

            usuario.DefinirPerfis(new List <PrioridadePerfil>
            {
                perfil
            });

            servicoUsuario.Setup(c => c.ObterUsuarioLogado())
            .Returns(Task.FromResult(usuario));

            var evento = new Evento
            {
                TipoCalendarioId = tipoCalendario.Id,
                DreId            = "1",
                UeId             = "2",
                TipoEvento       = tipoEvento,
                DataInicio       = DateTime.Now,
                DataFim          = DateTime.Now.AddDays(2),
                Letivo           = EventoLetivo.Sim
            };

            var ue = new AbrangenciaUeRetorno();

            repositorioAbrangencia.Setup(a => a.ObterUe(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>())).Returns(Task.FromResult(ue));

            //ASSERT
            try
            {
                await servicoEvento.Salvar(evento, true);

                Assert.True(true);
            }
            catch (Exception)
            {
                if (sucesso)
                {
                    Assert.True(false);
                }
            }
        }