private async Task <long> CriarWorkflowParaEventoExcepcionais(Evento evento, Dto.AbrangenciaUeRetorno escola, string linkParaEvento) { var tipoCalendario = evento.TipoCalendario ?? ObterTipoCalendario(evento); var wfAprovacaoEvento = new WorkflowAprovacaoDto() { Ano = evento.DataInicio.Year, NotificacaoCategoria = NotificacaoCategoria.Workflow_Aprovacao, EntidadeParaAprovarId = evento.Id, Tipo = WorkflowAprovacaoTipo.Evento_Liberacao_Excepcional, UeId = evento.UeId, DreId = evento.DreId, NotificacaoTitulo = "Criação de Eventos Excepcionais", NotificacaoTipo = NotificacaoTipo.Calendario, NotificacaoMensagem = $"O evento {evento.Nome} - {evento.DataInicio.Day}/{evento.DataInicio.Month}/{evento.DataInicio.Year} foi criado no calendário {tipoCalendario.Nome} da {escola.NomeSimples}. 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.Diretor, Nivel = 1 }); wfAprovacaoEvento.Niveis.Add(new WorkflowAprovacaoNivelDto() { Cargo = Cargo.Supervisor, Nivel = 2 }); return(await comandosWorkflowAprovacao.Salvar(wfAprovacaoEvento)); }
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)); }
private async Task EnviarNotasWfAprovacao(long fechamentoTurmaDisciplinaId, PeriodoEscolar periodoEscolar, Usuario usuarioLogado) { if (notasEnvioWfAprovacao.Any()) { var lancaNota = !notasEnvioWfAprovacao.First().ConceitoId.HasValue; var notaConceitoMensagem = lancaNota ? "nota" : "conceito"; var mensagem = await MontaMensagemWfAprovacao(notaConceitoMensagem, periodoEscolar, usuarioLogado); var wfAprovacaoNota = new WorkflowAprovacaoDto() { Ano = DateTime.Today.Year, NotificacaoCategoria = NotificacaoCategoria.Workflow_Aprovacao, EntidadeParaAprovarId = fechamentoTurmaDisciplinaId, Tipo = WorkflowAprovacaoTipo.AlteracaoNotaFechamento, TurmaId = turmaFechamento.CodigoTurma, UeId = turmaFechamento.Ue.CodigoUe, DreId = turmaFechamento.Ue.Dre.CodigoDre, NotificacaoTitulo = $"Alteração em {notaConceitoMensagem} final - Turma {turmaFechamento.Nome} ({turmaFechamento.AnoLetivo})", NotificacaoTipo = NotificacaoTipo.Notas, NotificacaoMensagem = mensagem }; wfAprovacaoNota.AdicionarNivel(Cargo.CP); wfAprovacaoNota.AdicionarNivel(Cargo.Diretor); wfAprovacaoNota.AdicionarNivel(Cargo.Supervisor); var idWorkflow = await comandosWorkflowAprovacao.Salvar(wfAprovacaoNota); foreach (var notaFechamento in notasEnvioWfAprovacao) { await repositorioWfAprovacaoNotaFechamento.SalvarAsync(new WfAprovacaoNotaFechamento() { WfAprovacaoId = idWorkflow, FechamentoNotaId = notaFechamento.Id, Nota = notaFechamento.Nota, ConceitoId = notaFechamento.ConceitoId }); } } }
public async Task <long> Handle(InserirWorkflowReposicaoAulaCommand request, CancellationToken cancellationToken) { var linkParaReposicaoAula = $"{configuration["UrlFrontEnd"]}calendario-escolar/calendario-professor/cadastro-aula/editar/:{request.AulaId}/"; var wfAprovacaoAula = new WorkflowAprovacaoDto() { Ano = request.Ano, NotificacaoCategoria = NotificacaoCategoria.Workflow_Aprovacao, EntidadeParaAprovarId = request.AulaId, Tipo = WorkflowAprovacaoTipo.ReposicaoAula, UeId = request.UeCodigo, DreId = request.DreCodigo, NotificacaoTitulo = $"Criação de Aula de Reposição na turma {request.TurmaNome}", NotificacaoTipo = NotificacaoTipo.Calendario, NotificacaoMensagem = $"Foram criadas {request.Quantidade} aula(s) de reposição de {request.ComponenteCurricularNome} na turma {request.TurmaNome} da {request.UeNome} ({request.DreNome}). Para que esta aula seja considerada válida você precisa aceitar esta notificação. Para visualizar a aula clique <a href='{linkParaReposicaoAula}'>aqui</a>." }; wfAprovacaoAula.AdicionarNivel(Cargo.CP); wfAprovacaoAula.AdicionarNivel(Cargo.Diretor); return(await comandosWorkflowAprovacao.Salvar(wfAprovacaoAula)); }
public async Task <IActionResult> Post(WorkflowAprovacaoDto workflowAprovaNivelDto) { await comandosWorkflowAprovacao.Salvar(workflowAprovaNivelDto); return(Ok()); }
public IActionResult Post(WorkflowAprovacaoDto workflowAprovaNivelDto) { comandosWorkflowAprovacao.Salvar(workflowAprovaNivelDto); return(Ok()); }