public PendenciaRegistroIndividual(Pendencia pendencia, Turma turma) { SetPendencia(pendencia); SetTurma(turma); }
public Ocorrencia(DateTime dataOcorrencia, string horaOcorrencia, string titulo, string descricao, OcorrenciaTipo ocorrenciaTipo, Turma turma) : this(dataOcorrencia, titulo, descricao, ocorrenciaTipo, turma) { SetHoraOcorrencia(horaOcorrencia); }
private async Task <IEnumerable <NotaConceito> > ValidarEObter(IEnumerable <NotaConceito> notasConceitos, AtividadeAvaliativa atividadeAvaliativa, IEnumerable <AlunoPorTurmaResposta> alunos, string professorRf, string disciplinaId, Usuario usuario, Turma turma) { var notasMultidisciplina = new List <NotaConceito>(); var alunosNotasExtemporaneas = new StringBuilder(); var nota = notasConceitos.FirstOrDefault(); var tipoNota = await TipoNotaPorAvaliacao(atividadeAvaliativa, atividadeAvaliativa.DataAvaliacao.Year != DateTime.Now.Year); var notaParametro = await repositorioNotaParametro.ObterPorDataAvaliacao(atividadeAvaliativa.DataAvaliacao); var dataAtual = DateTime.Now; // Verifica Bimestre Atual var dataPesquisa = DateTime.Today; var periodosEscolares = await BuscarPeriodosEscolaresDaAtividade(atividadeAvaliativa); var periodoEscolarAtual = periodosEscolares.FirstOrDefault(x => x.PeriodoInicio.Date <= dataPesquisa.Date && x.PeriodoFim.Date >= dataPesquisa.Date); var periodoEscolarAvaliacao = periodosEscolares.FirstOrDefault(x => x.PeriodoInicio.Date <= atividadeAvaliativa.DataAvaliacao.Date && x.PeriodoFim.Date >= atividadeAvaliativa.DataAvaliacao.Date); if (periodoEscolarAvaliacao == null) { throw new NegocioException("Período escolar da atividade avaliativa não encontrado"); } var bimestreAvaliacao = periodoEscolarAvaliacao.Bimestre; var existePeriodoEmAberto = periodoEscolarAtual != null && periodoEscolarAtual.Bimestre == periodoEscolarAvaliacao.Bimestre || await repositorioPeriodoFechamento.ExistePeriodoPorUeDataBimestre(turma.UeId, DateTime.Today, bimestreAvaliacao); foreach (var notaConceito in notasConceitos) { if (notaConceito.Id > 0) { notaConceito.Validar(professorRf); } var aluno = alunos.FirstOrDefault(a => a.CodigoAluno.Equals(notaConceito.AlunoId)); if (aluno == null) { throw new NegocioException($"Não foi encontrado aluno com o codigo {notaConceito.AlunoId}"); } if (tipoNota.TipoNota == TipoNota.Nota) { notaConceito.ValidarNota(notaParametro, aluno.NomeAluno); if (notaParametro == null) { throw new NegocioException("Não foi possível localizar o parâmetro de nota."); } } else { var conceitos = await repositorioConceito.ObterPorData(atividadeAvaliativa.DataAvaliacao); if (conceitos == null) { throw new NegocioException("Não foi possível localizar o parâmetro de conceito."); } } notaConceito.TipoNota = (TipoNota)tipoNota.Id; notaConceito.DisciplinaId = disciplinaId; if (atividadeAvaliativa.Categoria.Equals(CategoriaAtividadeAvaliativa.Interdisciplinar) && notaConceito.Id.Equals(0)) { var atividadeDisciplinas = repositorioAtividadeAvaliativaDisciplina.ListarPorIdAtividade(atividadeAvaliativa.Id).Result; foreach (var atividade in atividadeDisciplinas) { if (!atividade.DisciplinaId.Equals(disciplinaId)) { notasMultidisciplina.Add(new NotaConceito { AlunoId = notaConceito.AlunoId, AtividadeAvaliativaID = notaConceito.AtividadeAvaliativaID, DisciplinaId = atividade.DisciplinaId, Nota = notaConceito.Nota, ConceitoId = notaConceito.ConceitoId, TipoNota = notaConceito.TipoNota }); } } } if ((notaConceito.Id > 0) && (!existePeriodoEmAberto)) { alunosNotasExtemporaneas.AppendLine($"<li>{aluno.CodigoAluno} - {aluno.NomeAluno}</li>"); } } if (alunosNotasExtemporaneas.ToString().Length > 0) { string mensagem = $"<p>Os resultados da atividade avaliativa '{atividadeAvaliativa.NomeAvaliacao}' da turma {turma.Nome} da {turma.Ue.Nome} (DRE {turma.Ue.Dre.Nome}) no bimestre {bimestreAvaliacao} de {turma.AnoLetivo} foram alterados " + $"pelo Professor {usuario.Nome} ({usuario.CodigoRf}) em {dataAtual.ToString("dd/MM/yyyy")} às {dataAtual.ToString("HH:mm")} para os seguintes alunos:</p><br/>{alunosNotasExtemporaneas.ToString()}" + $"<a href='{hostAplicacao}diario-classe/notas/{nota.DisciplinaId}/{bimestreAvaliacao}'>Clique aqui para visualizar os detalhes.</a>"; foreach (var usuarioCP in usuariosCPs) { NotificarUsuarioAlteracaoExtemporanea(atividadeAvaliativa, mensagem, usuarioCP.Id, turma.Nome); } NotificarUsuarioAlteracaoExtemporanea(atividadeAvaliativa, mensagem, usuarioDiretor.Id, turma.Nome); } var result = notasConceitos.ToList(); result.AddRange(notasMultidisciplina); return(result); }
public Ocorrencia(DateTime dataOcorrencia, string titulo, string descricao, OcorrenciaTipo ocorrenciaTipo, Turma turma) { DataOcorrencia = dataOcorrencia; Titulo = titulo; Descricao = descricao; SetOcorrenciaTipo(ocorrenciaTipo); SetTurma(turma); }