protected void btnEnviar_Click(object sender, EventArgs e) { try { MatriculaTurma matriculaTurma = this.ObterObjetoMatriculaTurma(); ManterMatriculaTurma manterMatriculaTurma = new ManterMatriculaTurma(); validaNotasMatricula(matriculaTurma); if (matriculaTurma.Turma.Oferta.TipoOferta != enumTipoOferta.Continua && matriculaTurma.DataTermino > matriculaTurma.DataLimite) { throw new AcademicoException("A Data de Conclusão não pode ser maior que a Data Limite da Turma."); } var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); matriculaTurma.Auditoria = new Auditoria(usuarioLogado.CPF); manterMatriculaTurma.AlterarMatriculaTurma(matriculaTurma); if (MatriculouAlunoEmUmaTurma != null) { MatriculouAlunoEmUmaTurma(this, new MatricularAlunoEmUmaTurmaEventArgs(matriculaTurma)); } } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); return; } }
public RetornoWebService NotificarAlunosAprovadosTurmaQuestionarioPos() { var retorno = new RetornoWebService(); var matriculasTurma = new ManterMatriculaTurma().ObterDeHoje(); var mail = new ManterEmail(); var notificacao = new ManterNotificacao(); var confSistema = new ManterConfiguracaoSistema().ObterConfiguracaoSistemaPorID((int)enumConfiguracaoSistema.EnderecoPortal30Dev); foreach (var matriculaTurma in matriculasTurma) { var turma = matriculaTurma.Turma.Nome; var idTurma = matriculaTurma.Turma.ID; var email = matriculaTurma.MatriculaOferta.Usuario.Email; var usuario = matriculaTurma.MatriculaOferta.Usuario.Nome; var idUsuario = matriculaTurma.MatriculaOferta.Usuario.ID; var sidUsuario = matriculaTurma.MatriculaOferta.Usuario.SID_Usuario; var linkRedirect = string.Format("minhasinscricoes/questionario/{0}/turma/{1}", (int)enumTipoQuestionarioAssociacao.Pos, idTurma); var link = string.Format("{0}networkLoginAuto/{1}/{2}", confSistema.Registro, System.Web.HttpContext.Current.Server.UrlEncode(Base64Encode(InfraEstrutura.Core.Helper.CriptografiaHelper.Criptografar(sidUsuario))), Base64Encode(linkRedirect)); var mensagem = ObterCorpo(usuario, turma, link); var assunto = "Questionário de avaliação do curso: " + turma; mail.EnviarEmail(email, assunto, mensagem); notificacao.PublicarNotificacao(linkRedirect, mensagem, idUsuario); } return(retorno); }
private void ExibirInformacoesDeUmaMatriculaTurma(int idMatriculaTurma) { var matriculaTurma = new ManterMatriculaTurma().ObterMatriculaTurmaPorId(idMatriculaTurma); if (matriculaTurma != null) { CarregarDadosDaMatriculaTurmaDeUmAluno(matriculaTurma); } }
//Notifica os Alunos de Primeiro envio //Em seguida inserir no fluxo de Log de Envio de e-mail. public void InserirAlunosPrimeiroEnvio(enumStatusMatricula?statusMatricula = null) { var matriculasTurma = new ManterMatriculaTurma().ObterPorIntervalo(Intervalo, statusMatricula); var manterQuestionarioAssociacaoEnvio = new ManterQuestionarioAssociacaoEnvio(); foreach (var matriculaTurma in matriculasTurma) { manterQuestionarioAssociacaoEnvio.Inserir(matriculaTurma); } }
protected void btnSalvarModalDataConclusao_OnClick(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(hdfModalDataConclusaoIdMatriculaTurma.Value)) { var manterMatriculaTurma = new ManterMatriculaTurma(); var idMatriculaTurma = Convert.ToInt32(hdfModalDataConclusaoIdMatriculaTurma.Value); var matriculaTurma = manterMatriculaTurma.ObterMatriculaTurmaPorId(idMatriculaTurma); var dataConclusao = DateTime.Now; if (!DateTime.TryParse(txtModalDataConclusao.Text, out dataConclusao)) { throw new AcademicoException("Informe uma data válida para conclusão do aluno."); } matriculaTurma.DataTermino = dataConclusao; var data = matriculaTurma.Turma.DataFinal; if (data.HasValue) { if (matriculaTurma.DataTermino.Value.Date > data.Value.Date) { throw new AcademicoException(string.Format("Data de conclusão não pode ser maior que a data final da turma ({0}).", data.Value.ToString("dd/MM/yyyy"))); } } manterMatriculaTurma.AlterarMatriculaTurma(matriculaTurma); var manterMatriculaOferta = new ManterMatriculaOferta(); var matriculaOferta = manterMatriculaOferta.ObterMatriculaOfertaPorID(matriculaTurma.MatriculaOferta.ID); AtualizarStatusDaOferta((enumStatusMatricula)Convert.ToInt32(hdfModalDataConclusaoIdStatusMatriculaOferta.Value), matriculaOferta, ref manterMatriculaOferta); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "O Status da Matrícula da Turma foi Atualizado com Sucesso !"); consultarMatriculasUsuario(); AtualizarStatusUsuarioTurma(matriculaTurma); } OcultarModalDataConclusao(); } catch (PoliticaConsequenciaException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
private void TratarComboTurma(GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { e.Row.TableSection = TableRowSection.TableHeader; } //Procura o dropdownlist de turma nas linhas da grid var ddlTurma = (DropDownList)e.Row.FindControl("ddlTurma"); //Se encontrou o dropdownlist de turma, seta o status da matricula turma com o status da oferta if (ddlTurma != null) { var matriculaOferta = (classes.MatriculaOferta)e.Row.DataItem; if (matriculaOferta != null) { // Preencher dropdown de turmas de acordo com a seleção do usuário. PreencherDropDownTurma(ddlTurma, matriculaOferta); classes.MatriculaTurma matriculaTurma = null; if (matriculaOferta.MatriculaTurma == null && matriculaOferta.Oferta != null && matriculaOferta.Oferta.ListaTurma.Count > 0) { var lista = new List <classes.MatriculaTurma>(); var mTurma = new ManterMatriculaTurma().ObterMatriculaTurmaPorIdUsuarioIdTurma( matriculaOferta.Usuario.ID, matriculaOferta.Oferta.ListaTurma.FirstOrDefault().ID); if (mTurma != null) { lista.Add(mTurma); } matriculaOferta.MatriculaTurma = lista; } if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0) { matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault(); } if (matriculaTurma != null) { WebFormHelper.SetarValorNaCombo(matriculaTurma.Turma.ID.ToString(), ddlTurma); } } } }
public void AtualizarMatriculas() { try { // Atualiza as matrículas de acordo com a data atual var presencas = ObterPresencasEventoFinalizado(DateTime.Now); AtualizarPresencas(presencas); using (var manter = new ManterMatriculaTurma()) { // Filtrando matriculas que contem algum dos eventos vinculado var matriculasTurma = manter.ObterMatriculasComEventos(presencas.ToList()); foreach (var matricula in matriculasTurma) { var evento = presencas.FirstOrDefault(x => x.UsuarioCPF == matricula.MatriculaOferta.Usuario.CPF && x.ID == matricula.MatriculaOferta.Oferta.SolucaoEducacional.IDEvento); if (evento != null) { if (evento.Presencas == 0) { matricula.MatriculaOferta.StatusMatricula = enumStatusMatricula.Abandono; } if (evento.Presencas < evento.PresencasMinimas) { matricula.MatriculaOferta.StatusMatricula = enumStatusMatricula.Reprovado; } if (evento.Presencas > evento.PresencasMinimas) { matricula.MatriculaOferta.StatusMatricula = enumStatusMatricula.Aprovado; } } } manter.Salvar(matriculasTurma.ToList()); } } catch (Exception) { } }
/// <summary> /// Atualiza Matriculas de acordo com os dados dos eventos do sistema de credenciamento /// </summary> /// <param name="presencas"></param> private void AtualizarPresencas(IEnumerable <DTOEvento> presencas) { using (var manter = new ManterMatriculaTurma()) { // Filtrando matriculas que contem algum dos eventos vinculado var matriculasTurma = manter.ObterMatriculasComEventos(presencas.ToList()); foreach (var matricula in matriculasTurma) { var evento = presencas.FirstOrDefault(x => x.ID == matricula.MatriculaOferta.Oferta.SolucaoEducacional.IDEvento); matricula.Presencas = evento.Presencas; matricula.TotalPresencas = evento.PresencasMinimas != null ? evento.PresencasMinimas.Value : 0; } manter.Salvar(matriculasTurma.ToList()); } }
protected void btnSimModalConfirmacaoStatusInscrito_OnClick(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(hdfModalConfirmacaoStatusInscritoIdMatriculaTurma.Value)) { var manterMatriculaTurma = new ManterMatriculaTurma(); var idMatriculaTurma = Convert.ToInt32(hdfModalConfirmacaoStatusInscritoIdMatriculaTurma.Value); var matriculaTurma = manterMatriculaTurma.ObterMatriculaTurmaPorId(idMatriculaTurma); if (matriculaTurma != null) { matriculaTurma.DataTermino = null; manterMatriculaTurma.Salvar(matriculaTurma); var manterMatriculaOferta = new ManterMatriculaOferta(); var matriculaOferta = manterMatriculaOferta.ObterMatriculaOfertaPorID(matriculaTurma.MatriculaOferta.ID); AtualizarStatusDaOferta(enumStatusMatricula.Inscrito, matriculaOferta, ref manterMatriculaOferta); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "O Status da Matrícula da Turma foi Atualizado com Sucesso !"); consultarMatriculasUsuario(); AtualizarStatusUsuarioTurma(matriculaTurma); } } OcultarModalConfirmacaoStatusInscrito(); } catch (PoliticaConsequenciaException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
public void SalvarQuestionario() { try { QuestionarioParticipacao questionarioParticipacao; if (!string.IsNullOrWhiteSpace(hdnIdQuestionarioParticipacao.Value)) { questionarioParticipacao = new ManterQuestionarioParticipacao().ObterQuestionarioParticipacaoPorId(int.Parse(hdnIdQuestionarioParticipacao.Value)); } else { var questionario = new ManterQuestionario().ObterQuestionarioPorID(int.Parse(hdnIdQuestionario.Value)); var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); questionarioParticipacao = new QuestionarioParticipacao { Questionario = questionario, DataGeracao = DateTime.Now, Usuario = usuarioLogado, DataParticipacao = DateTime.Now, TipoQuestionarioAssociacao = new ManterTipoQuestionarioAssociacao().ObterTipoQuestionarioAssociacaoPorID(5), TextoEnunciadoPre = questionario.TextoEnunciado, Evolutivo = false, NivelOcupacional = new NivelOcupacional { ID = usuarioLogado.NivelOcupacional.ID }, Uf = new Uf { ID = usuarioLogado.UF.ID }, Turma = new Turma { ID = int.Parse(hdnIdTurma.Value) } }; } var listaItemQuestionarioParticipacao = new List <ItemQuestionarioParticipacao>(); // Obter respostas dissertivas do questionário. foreach (Control row in rptQuestionario.Controls) { var hdnIdItemQuestionario = (HiddenField)row.FindControl("hdnIdItemQuestionario"); if (hdnIdItemQuestionario == null) { throw new AcademicoException("Questionário mal formatado ou alterado, atualize a página e tente novamente."); } int idItemQuestionario; int.TryParse(hdnIdItemQuestionario.Value, out idItemQuestionario); var itemQuestionario = new ManterItemQuestionario().ObterItemQuestionarioPorID(idItemQuestionario); if (itemQuestionario == null) { throw new AcademicoException("Questionário mal formatado ou alterado, atualize a página e tente novamente."); } var txtResposta = (TextBox)row.FindControl("txtResposta"); if (txtResposta == null) { throw new AcademicoException("Questionário mal formatado ou alterado, atualize a página e tente novamente."); } var itemQuestionarioParticipacao = Mapper.Map <ItemQuestionarioParticipacao>(itemQuestionario); itemQuestionarioParticipacao.QuestionarioParticipacao = questionarioParticipacao; if (itemQuestionarioParticipacao.TipoItemQuestionario.ID == (int)enumTipoItemQuestionario.Discursiva) { // Validação do campo em branco. if (string.IsNullOrWhiteSpace(txtResposta.Text)) { throw new AcademicoException(string.Format("A questão \"{0}\" é obrigatória", string.IsNullOrWhiteSpace(itemQuestionarioParticipacao.Ordem.ToString()) ? itemQuestionarioParticipacao.Questao : itemQuestionarioParticipacao.Ordem.ToString())); } itemQuestionarioParticipacao.Resposta = txtResposta.Text; } listaItemQuestionarioParticipacao.Add(itemQuestionarioParticipacao); } questionarioParticipacao.ListaItemQuestionarioParticipacao = listaItemQuestionarioParticipacao; // Executar lógica para questionário de cancelamento. if (questionarioParticipacao.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Cancelamento) { var matriculasTurmasIds = hdnIdMatriculaTurma.Value.Split(','); foreach (var matriculaIdString in matriculasTurmasIds) { int matriculaId; if (int.TryParse(matriculaIdString, out matriculaId)) { var matriculaTurma = new MatriculaTurma(); var manterMatriculaTurma = new ManterMatriculaTurma(); if (matriculaId > 0) { matriculaTurma = manterMatriculaTurma.ObterMatriculaTurmaPorId(matriculaId); // Caso seja Gestor, só altera a matrícula caso seja da sua UF. if (matriculaTurma != null) { questionarioParticipacao.Turma = matriculaTurma.Turma; } } // Alterar Status da matrícula. if (matriculaTurma != null && matriculaTurma.ID != 0) { var manterMatriculaOferta = new ManterMatriculaOferta(); var matriculaOferta = manterMatriculaOferta.ObterMatriculaOfertaPorID(matriculaTurma.MatriculaOferta.ID); matriculaOferta.StatusMatricula = (enumStatusMatricula)int.Parse(hdnIdStatusMatricula.Value); // Salvar Data de conclusão e nota final em lote if ((!string.IsNullOrWhiteSpace(txtDataConclusao.Text) || !string.IsNullOrWhiteSpace(hdnNotaFinal.Value)) && matriculaOferta.Oferta.SolucaoEducacional.FormaAquisicao.Presencial) { var dataConclusao = CommonHelper.TratarData(txtDataConclusao.Text, "Data Conclusão do lote"); double?notaFinal = null; double n; if (double.TryParse(hdnNotaFinal.Value.Trim(), out n)) { notaFinal = n; } foreach (var mt in matriculaOferta.MatriculaTurma) { if (dataConclusao.HasValue && (!mt.Turma.DataFinal.HasValue || mt.Turma.DataFinal.Value >= dataConclusao)) { mt.DataTermino = dataConclusao; } if (notaFinal.HasValue) { mt.MediaFinal = notaFinal; } } } manterMatriculaOferta.AtualizarMatriculaOferta(matriculaOferta, false); matriculaTurma.DataTermino = !string.IsNullOrEmpty(txtDataConclusao.Text) ? DateTime.Parse(txtDataConclusao.Text) : DateTime.Now; manterMatriculaTurma.AlterarMatriculaTurma(matriculaTurma); } } } } // Salvar participação no questionário. new ManterQuestionarioParticipacao().Salvar(questionarioParticipacao); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Questionário respondido com Sucesso."); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
private void EfetuarMatricula(Usuario usuarioLogado, Dominio.Classes.Oferta oferta, Usuario usuario, ManterMatriculaOferta manterMatriculaOferta, ManterMatriculaTurma manterMatriculaTurma) { var novaMatriculaOferta = new MatriculaOferta { Auditoria = new Auditoria(usuarioLogado.CPF), Oferta = oferta, Usuario = usuario, StatusMatricula = enumStatusMatricula.Inscrito, UF = usuario.UF, NivelOcupacional = usuario.NivelOcupacional, DataSolicitacao = DateTime.Today }; manterMatriculaOferta.Salvar(novaMatriculaOferta); var novaMatriculaTurma = new MatriculaTurma { Auditoria = new Auditoria(usuarioLogado.CPF), Turma = oferta.ListaTurma.FirstOrDefault(t => Helpers.Util.ObterVigente(t.DataInicio, t.DataFinal)), MatriculaOferta = novaMatriculaOferta, DataMatricula = DateTime.Today }; novaMatriculaTurma.DataLimite = novaMatriculaTurma.CalcularDataLimite(); manterMatriculaTurma.Salvar(novaMatriculaTurma); }
private void EfetuarMatriculas(IList <SolucaoEducacionalObrigatoria> solucoesObrigatorias, IQueryable <Usuario> usuariosTodosNiveis) { // Obtém somente os campos que serão utilizados abaixo; var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); var manterMatriculaOferta = new ManterMatriculaOferta(); var manterMatriculaTurma = new ManterMatriculaTurma(); // Matricular usuário. var thread = new Thread(() => { var currentThread = Thread.CurrentThread; try { if (solucoesObrigatorias != null) { foreach (var obrigatorio in solucoesObrigatorias) { try { // Obter usuários do nível ocupacional da solução obrigatória. var listaUsuariosNivelOcupacional = usuariosTodosNiveis.Where(x => x.NivelOcupacional.ID == obrigatorio.NivelOcupacional.ID); // Obter somente os usuários que NÃO estão matriculados na solução. listaUsuariosNivelOcupacional = listaUsuariosNivelOcupacional.Where( x => x.ListaMatriculaOferta.All( y => y.Oferta.SolucaoEducacional.ID != obrigatorio.SolucaoEducacional.ID)); var oferta = obrigatorio.SolucaoEducacional.ListaOferta.FirstOrDefault( x => Helpers.Util.ObterVigente(x.DataInicioInscricoes, x.DataFimInscricoes) && x.ListaTurma.Any(t => Helpers.Util.ObterVigente(t.DataInicio, t.DataFinal))); // Caso não exista oferta vigente com turma vigente, pula a solução. if (oferta == null) { currentThread.Abort(); } // Seleciona somente os campos necessários. listaUsuariosNivelOcupacional = listaUsuariosNivelOcupacional.Select(x => new Usuario { ID = x.ID, UF = x.UF, NivelOcupacional = x.NivelOcupacional, ListaMatriculaOferta = x.ListaMatriculaOferta }); foreach (var usuario in listaUsuariosNivelOcupacional) { try { EfetuarMatricula(usuarioLogado, oferta, usuario, manterMatriculaOferta, manterMatriculaTurma); } catch (Exception) { // ignored. } } } catch (Exception) { // ignored. } } } currentThread.Abort(); } catch (ThreadAbortException) { // ignored } }); thread.IsBackground = true; thread.Start(); }
public DTOAgenda ObterAgenda(int idUsuario, int mes, int ano) { var listaErros = new List <string>(); var dataInicioMes = (new DateTime(ano, mes, 1)); var dataFimMes = dataInicioMes.AddMonths(1).AddDays(-1); var diaSemana = ((int)DateTime.Now.DayOfWeek); if (diaSemana == 0) { diaSemana = 6; } else { diaSemana = diaSemana - 1; } var diaSemanaInicioMes = (int)dataInicioMes.DayOfWeek; if (diaSemanaInicioMes == 0) { diaSemanaInicioMes = 6; } else { diaSemanaInicioMes = diaSemanaInicioMes - 1; } var listaEventos = new List <DTOEventoAgenda>(); var manterMatriculaTurma = new ManterMatriculaTurma(); DateTime?dataInicio = DateTime.Now.Date; DateTime?dataFim = DateTime.Now.Date; IList <MatriculaTurma> listaCursoInscritos; var anoInicial = DateTime.Now.Year; try { listaCursoInscritos = manterMatriculaTurma.ObterMatriculasInscritas(idUsuario); } catch (Exception ex) { listaErros.Add(ex.ToString()); listaCursoInscritos = new List <MatriculaTurma>(); //TODO: LOGAR ERROR //TODO: MELHORAR TRATAMENTO DE COMO RECUPERAR OS DADOS } //TODO: MELHORAR pois não achei melhor solução try { foreach (var matriculaTurma in listaCursoInscritos) { var data = matriculaTurma.Turma.DataInicio; if (data.Year < anoInicial) { anoInicial = data.Year; } try { data = matriculaTurma.MatriculaOferta.DataSolicitacao.Date > data.Date ? matriculaTurma.MatriculaOferta.DataSolicitacao.Date : data; if (data.Date.Between(dataInicioMes.Date, dataFimMes.Date)) { listaEventos.Add(new DTOEventoAgenda { TipoEvento = (int)enumTipoEventoAgenda.Inicio, Data = data.ToString("dd/MM/yyyy"), Nome = matriculaTurma.Turma.Oferta.SolucaoEducacional.Nome, IdSolucaoEducacional = matriculaTurma.Turma.Oferta.SolucaoEducacional.ID, IdTurma = matriculaTurma.Turma.ID, IdOferta = matriculaTurma.Turma.Oferta.ID, IdMatriculaOferta = matriculaTurma.MatriculaOferta.ID, IdMatriculaTurma = matriculaTurma.ID.ToString() }); } } catch (Exception ex) { listaErros.Add(ex.ToString()); } dataInicio = dataInicio.Value.Date > data.Date ? data.Date : dataInicio; try { data = matriculaTurma.CalcularDataLimite(); if (data.Date.Between(dataInicioMes.Date, dataFimMes.Date)) { listaEventos.Add(new DTOEventoAgenda { TipoEvento = (int)enumTipoEventoAgenda.Fim, Data = data.ToString("dd/MM/yyyy"), Nome = matriculaTurma.Turma.Oferta.SolucaoEducacional.Nome, IdSolucaoEducacional = matriculaTurma.Turma.Oferta.SolucaoEducacional.ID, IdTurma = matriculaTurma.Turma.ID, IdOferta = matriculaTurma.Turma.Oferta.ID, IdMatriculaOferta = matriculaTurma.MatriculaOferta.ID, IdMatriculaTurma = matriculaTurma.ID.ToString() }); } } catch (Exception ex) { listaErros.Add(ex.ToString()); } dataFim = dataFim.Value.Date < data.Date ? data.Date : dataFim; } } catch (Exception ex) { listaErros.Add(ex.ToString()); } try { var listaUsuarioTrilha = (new BMUsuarioTrilha()).ObterPorUsuario(idUsuario) .Where(p => p.StatusMatricula == enumStatusMatricula.Inscrito) .ToList(); foreach (var item in listaUsuarioTrilha) { var data = item.DataInicio; if (data.Year < anoInicial) { anoInicial = data.Year; } if (data.Date.Between(dataInicioMes.Date, dataFimMes.Date)) { listaEventos.Add(new DTOEventoAgenda { TipoEvento = (int)enumTipoEventoAgenda.Inicio, Data = data.ToString("dd/MM/yyyy"), Nome = string.Concat(item.TrilhaNivel.Trilha.Nome, " - ", item.TrilhaNivel.Nome), IdSolucaoEducacional = 0, IdTurma = 0, IdOferta = 0, IdMatriculaOferta = 0, IdMatriculaTurma = item.ID + "000" + item.TrilhaNivel.ID }); } data = item.DataFim.HasValue ? item.DataFim.Value : (item.TrilhaNivel.LimiteCancelamento > 0 ? item.DataInicio.AddDays(item.TrilhaNivel.LimiteCancelamento) : item.DataInicio.AddDays(item.TrilhaNivel.QuantidadeDiasPrazo)); if (data.Date.Between(dataInicioMes.Date, dataFimMes.Date)) { listaEventos.Add(new DTOEventoAgenda { TipoEvento = (int)enumTipoEventoAgenda.Fim, Data = data.ToString("dd/MM/yyyy"), Nome = string.Concat(item.TrilhaNivel.Trilha.Nome, " - ", item.TrilhaNivel.Nome), IdSolucaoEducacional = 0, IdTurma = 0, IdOferta = 0, IdMatriculaOferta = 0, IdMatriculaTurma = item.ID + "000" + item.TrilhaNivel.ID }); } } } catch (Exception ex) { listaErros.Add(ex.ToString()); } try { var listaMatriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorUsuario(idUsuario) .Where(x => x.StatusMatricula.Equals(enumStatusMatricula.Inscrito)) .ToList(); var manterMatCapacitacao = new ManterMatriculaCapacitacaoService(); var culture = new CultureInfo("pt-BR"); foreach (var itemHistorico in listaMatriculaCapacitacao) { var dtoCapacitacao = manterMatCapacitacao.AprovacoesSolucoesEducacionais(itemHistorico, idUsuario); foreach (var item in dtoCapacitacao.ModulosCapacitacao) { DateTime data; if (!string.IsNullOrEmpty(item.DataInicio)) { data = Convert.ToDateTime(item.DataInicio, culture); if (data.Year < anoInicial) { anoInicial = data.Year; } if (data.Date.Between(dataInicioMes.Date, dataFimMes.Date)) { listaEventos.Add(new DTOEventoAgenda { TipoEvento = (int)enumTipoEventoAgenda.Inicio, Data = data.ToString("dd/MM/yyyy"), Nome = string.Concat(itemHistorico.Capacitacao.Programa.Nome, " - ", item.Nome), IdSolucaoEducacional = 0, IdTurma = 0, IdOferta = 0, IdMatriculaOferta = 0, IdMatriculaTurma = itemHistorico.ID + itemHistorico.Capacitacao.Programa.ID.ToString() + itemHistorico.Capacitacao.ID.ToString() + "000" + item.ID }); } } if (string.IsNullOrEmpty(item.DataFim)) { continue; } data = Convert.ToDateTime(item.DataFim, culture); if (data.Date.Between(dataInicioMes.Date, dataFimMes.Date)) { listaEventos.Add(new DTOEventoAgenda { TipoEvento = (int)enumTipoEventoAgenda.Fim, Data = data.ToString("dd/MM/yyyy"), Nome = string.Concat(itemHistorico.Capacitacao.Programa.Nome, " - ", item.Nome), IdSolucaoEducacional = 0, IdTurma = 0, IdOferta = 0, IdMatriculaOferta = 0, IdMatriculaTurma = itemHistorico.ID + itemHistorico.Capacitacao.Programa.ID.ToString() + itemHistorico.Capacitacao.ID.ToString() + "000" + item.ID }); } } } } catch (Exception ex) { listaErros.Add(ex.ToString()); } return(new DTOAgenda { DataAtual = DateTime.Now.ToString("dd/MM/yyyy"), DataInicioMes = dataInicioMes.ToString("dd/MM/yyyy"), DataFimMes = dataFimMes.ToString("dd/MM/yyyy"), DiaSemana = diaSemana.ToString(), DiaSemanaInicioMes = diaSemanaInicioMes.ToString(), Eventos = listaEventos.OrderByDescending(x => x.TipoEvento).ToList(), AnoInicial = anoInicial, AnoFinal = dataFim.Value.Year, Erros = listaErros }); }