private void CriarEventoFechamento(PeriodoFechamento fechamento) { if (fechamento.UeId > 0) { var tipoEvento = repositorioTipoEvento.ObterTipoEventoPorTipo(TipoEvento.FechamentoBimestre); if (tipoEvento == null) { throw new NegocioException("Tipo de evento de fechamento de bimestre não encontrado na base de dados."); } foreach (var bimestre in fechamento.FechamentosBimestre) { EventoFechamento fechamentoExistente = repositorioEventoFechamento.ObterPorIdFechamento(bimestre.Id); if (fechamentoExistente != null) { AtualizaEventoDeFechamento(bimestre, fechamentoExistente); } else { CriaEventoDeFechamento(fechamento, tipoEvento, bimestre); } } } }
private void CriarEventoFechamentoReabertura(FechamentoReabertura fechamentoReabertura) { var tipoEvento = repositorioEventoTipo.ObterTipoEventoPorTipo(TipoEvento.FechamentoBimestre); if (tipoEvento == null) { throw new NegocioException($"Não foi possível localizar o tipo de evento {TipoEvento.FechamentoBimestre.GetAttribute<DisplayAttribute>().Name}."); } var evento = new Evento() { DataFim = fechamentoReabertura.Fim, DataInicio = fechamentoReabertura.Inicio, Descricao = fechamentoReabertura.Descricao, Nome = $"Reabertura de fechamento de bimestre - {fechamentoReabertura.TipoCalendario.Nome} - {fechamentoReabertura.TipoCalendario.AnoLetivo}.", TipoCalendarioId = fechamentoReabertura.TipoCalendario.Id, DreId = fechamentoReabertura.Dre.CodigoDre, UeId = fechamentoReabertura.Ue.CodigoUe, Status = EntidadeStatus.Aprovado, TipoEventoId = tipoEvento.Id, Migrado = false, Letivo = EventoLetivo.Sim, }; repositorioEvento.Salvar(evento); }