Esempio n. 1
0
        private async Task PersistirWorkflowEvento(Evento evento, bool workflowDeLiberacaoExcepcional)
        {
            var loginAtual  = servicoUsuario.ObterLoginAtual();
            var perfilAtual = servicoUsuario.ObterPerfilAtual();
            var escola      = await repositorioAbrangencia.ObterUe(evento.UeId, loginAtual, perfilAtual);

            if (escola == null)
            {
                throw new NegocioException($"Não foi possível localizar a escola da criação do evento.");
            }

            var linkParaEvento = $"{configuration["UrlFrontEnd"]}calendario-escolar/eventos/editar/{evento.Id}/";

            long idWorkflow = 0;

            if (workflowDeLiberacaoExcepcional)
            {
                idWorkflow = CriarWorkflowParaEventoExcepcionais(evento, escola, linkParaEvento);
            }

            evento.EnviarParaWorkflowDeAprovacao(idWorkflow);

            repositorioEvento.Salvar(evento);
        }