public void CancelarMatriculaCapacitacao(int idMatriculaCapacitacao, AuthenticationRequest autenticacao) { MatriculaCapacitacao matriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorId(idMatriculaCapacitacao); if (matriculaCapacitacao != null && matriculaCapacitacao.StatusMatricula == enumStatusMatricula.Inscrito) { TimeSpan diasMatriculados = Convert.ToDateTime(DateTime.Now) - Convert.ToDateTime(matriculaCapacitacao.DataInicio); if (diasMatriculados.Days > int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.DiasCancelamentoCurso).Registro)) { //Passou do Limite para cancelamento throw new AcademicoException("O prazo de cancelamento expirou"); } if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.Count > 0) { // Embora esteja em uma lista ele sempre terá somente uma matrícula turma para cada matrícula capacitação por regra de negócio new BMMatriculaTurmaCapacitacao().ExcluirLista(matriculaCapacitacao.ListaMatriculaTurmaCapacitacao); matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.Clear(); } matriculaCapacitacao.DataFim = DateTime.Now; matriculaCapacitacao.StatusMatricula = enumStatusMatricula.CanceladoAluno; matriculaCapacitacao.Auditoria = new Auditoria(autenticacao.Login); } else { throw new AcademicoException("Não foi encontrada nenhuma matrícula com cancelamento permitido"); } new BMMatriculaCapacitacao().Salvar(matriculaCapacitacao); }
public string MatriculaCapacitacao(int idUsuario, int idCapacitacao, int idTurma) { var usuario = new BMUsuario().ObterPorId(idUsuario); if (usuario == null) { throw new AcademicoException("Usuário não localizado na base"); } var capacitacao = new BMCapacitacao().ObterPorId(idCapacitacao); if (capacitacao == null) { throw new AcademicoException("Capacitação não localizado na base"); } var matCap = new BMMatriculaCapacitacao().ObterUsuariosPorCapacitacao(usuario.ID, capacitacao.ID); if (matCap.Count > 0) { throw new AcademicoException("Usuário já matriculado nesta capacitação."); } var turmaCap = new BMTurmaCapacitacao().ObterPorId(idTurma); if (turmaCap == null) { throw new AcademicoException("Turma não localizada na base"); } var matriculaCapacitacao = new MatriculaCapacitacao { Usuario = usuario, Capacitacao = capacitacao, UF = usuario.UF, NivelOcupacional = usuario.NivelOcupacional, StatusMatricula = enumStatusMatricula.Inscrito, DataInicio = DateTime.Today }; new BMMatriculaCapacitacao().Salvar(matriculaCapacitacao); var matriculaTurmaCapacitacao = new MatriculaTurmaCapacitacao { MatriculaCapacitacao = matriculaCapacitacao, TurmaCapacitacao = turmaCap, DataMatricula = DateTime.Today }; new BMMatriculaTurmaCapacitacao().Salvar(matriculaTurmaCapacitacao); return(string.Empty); }
public void PreencherMatriculas() { if (ddlCapacitacao.SelectedIndex > 0) { var bmMatriculaCapacitacao = new BMMatriculaCapacitacao(); var listarMatriculaCapacitacao = bmMatriculaCapacitacao.ObterPorCapacitacao(int.Parse(ddlCapacitacao.SelectedValue)); if (!bmUsuario.PerfilAdministrador()) { int idUF = bmUsuario.ObterUfLogadoSeGestor(); listarMatriculaCapacitacao = listarMatriculaCapacitacao.Where(x => x.UF.ID == idUF).ToList(); } if (listarMatriculaCapacitacao.Count() > 0) { pnlMatricula.Visible = true; WebFormHelper.PreencherGrid(listarMatriculaCapacitacao, dgvMatriculaCapacitacao); } } }
private static bool UsuarioPossuiPendenciaCapacitacaoPrograma(int solucaoId, Usuario usuario, ref DTODisponibilidadeSolucaoEducacional retorno) { var filtroMatriculaCapacitacao = new MatriculaCapacitacao { StatusMatricula = enumStatusMatricula.Inscrito, Usuario = usuario }; var listaMatriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorFiltros(filtroMatriculaCapacitacao, true); // Verificar se a capacitação possui pré-capacitações. foreach ( var modNecessario in listaMatriculaCapacitacao.Select( matriculaCapacitacao => new BMModuloSolucaoEducacional().CapacitacaoPossuiSolucao( matriculaCapacitacao.Capacitacao.ID, solucaoId)) .Where(modSol => modSol != null) .Select(modSol => new BMModuloPreRequisito().ListPreRequisitosPorModulo(modSol, usuario.ID)) .Where(modNecessario => modNecessario.ID != 0)) { retorno.TextoDisponibilidade = string.Format( "Existe uma solução educacional do \"{0}\" da capacitação \"{1}\" do programa \"{2}\" que precisa ser concluída antes que possa ser realizada a inscrição nesse curso. <br /><br /><a href='" + //modNecessario.Capacitacao.Programa.Acesso + "'>Clique aqui</a> para acessar a página do Programa.", modNecessario.Nome, modNecessario.Capacitacao.Nome, modNecessario.Capacitacao.Programa.Nome); retorno.CodigoDisponibilidade = (int)enumDisponibilidadeSolucaoEducacional.PossuiPreReqPrograma; return(true); } return(false); }
protected void btnEnviar_Click(object sender, EventArgs e) { try { BMMatriculaCapacitacao manterMatriculaCapacitacao = new BMMatriculaCapacitacao(); MatriculaCapacitacao matriculaCapacitacao = this.ObterObjetoMatriculaCapacitacao(); manterMatriculaCapacitacao.Salvar(matriculaCapacitacao); if (ddlTurmaCapacitacao.SelectedIndex > 0) { MatriculaTurmaCapacitacao matriculaTurmaCapacitacao = ObterObjetoMatriculaTurmaCapacitacao(matriculaCapacitacao.ID); new BMMatriculaTurmaCapacitacao().Salvar(matriculaTurmaCapacitacao); } //Dispara o evento informando que a matricula em uma oferta foi realizada if (MatriculouAlunoEmUmaCapacitacao != null) { //Obtem as informações da matricula Oferta (inclusive a lista de turmas da oferta) matriculaCapacitacao = manterMatriculaCapacitacao.ObterPorId(matriculaCapacitacao.ID); MatriculouAlunoEmUmaCapacitacao(this, new MatricularAlunoEmUmaCapacitacaoEventArgs(matriculaCapacitacao)); ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "myscript", " $('#EdicaoNivel, #modal-background').removeClass('active');", true); } GerenciarMatriculaCapacitacao gerenciarMatriculaCapacitacao = (GerenciarMatriculaCapacitacao)this.Page; gerenciarMatriculaCapacitacao.PreencherMatriculas(); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados cadastrados com sucesso."); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); return; } }
public ManterMatriculaCapacitacao() : base() { bmMatriculaCapacitacao = new BMMatriculaCapacitacao(); }
protected void ddlTurma_SelectedIndexChanged(object sender, EventArgs e) { DropDownList comboTurma = (DropDownList)sender; if (comboTurma != null && comboTurma.SelectedItem != null) { try { //Obtém a linha da grid onde a dropdownlist (combo) de oferta, está contida GridViewRow linhadaGrid = (GridViewRow)comboTurma.NamingContainer; if (linhadaGrid != null) { HiddenField hdfIdMatriculaOferta = (HiddenField)linhadaGrid.FindControl("hdfIdMatriculaOferta"); BMMatriculaCapacitacao bmMatriculaCapacitacao = new BMMatriculaCapacitacao(); DropDownList ddlStatusOferta = (DropDownList)linhadaGrid.FindControl("ddlStatusOferta"); DropDownList ddlTurma = (DropDownList)linhadaGrid.FindControl("ddlTurma"); BMMatriculaTurmaCapacitacao bmMatriculaTurmaCapacitacao = new BMMatriculaTurmaCapacitacao(); MatriculaTurmaCapacitacao matriculaTurmaCapacitacao = bmMatriculaTurmaCapacitacao.ObterPorMatriculaCapacitacao(Convert.ToInt32(hdfIdMatriculaOferta.Value)).FirstOrDefault(); if (matriculaTurmaCapacitacao == null) { matriculaTurmaCapacitacao = new MatriculaTurmaCapacitacao(); } int idTurma = ddlTurma.SelectedIndex > 0 ? int.Parse(ddlTurma.SelectedValue) : 0; if (idTurma > 0 && (matriculaTurmaCapacitacao.TurmaCapacitacao == null || matriculaTurmaCapacitacao.TurmaCapacitacao.ID != idTurma)) { // Alteração otimizada para não precisar realizar uma consulta por um objeto TurmaCapacitacao. // Em vez disso cria um novo, pois tudo que o NHibernate precisa pra alter o ID no banco // é o ID da TurmaCapacitacao. matriculaTurmaCapacitacao.TurmaCapacitacao = new Dominio.Classes.TurmaCapacitacao { ID = idTurma }; if (matriculaTurmaCapacitacao.ID == 0) { matriculaTurmaCapacitacao.DataMatricula = DateTime.Now; matriculaTurmaCapacitacao.MatriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorId(Convert.ToInt32(hdfIdMatriculaOferta.Value)); } bmMatriculaTurmaCapacitacao.Salvar(matriculaTurmaCapacitacao); } else { bmMatriculaTurmaCapacitacao.Excluir(matriculaTurmaCapacitacao); } } WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados alterados com sucesso!"); } catch { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Ocorreu um erro na edição, por favor, tente novamente mais tarde!"); } } }
public IList <MatriculaCapacitacao> ObterPorUsuario(int idUsuario) { var bmMatriculaCapacitacao = new BMMatriculaCapacitacao(); return(bmMatriculaCapacitacao.ObterPorUsuario(idUsuario)); }
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 }); }
private void PreencherDTOComInformacoesDaMatriculaPrograma(int id_Usuario, List <DTOItemMeusCursos> resultado) { DTOItemMeusCursos dtoItemMeusCursos = null; try { IList <MatriculaCapacitacao> ListaMatriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorUsuario(id_Usuario).Where(x => x.StatusMatricula.Equals(enumStatusMatricula.Inscrito)).OrderBy(x => x.Capacitacao.Programa.ID).ToList(); var manterMatCapacitacao = new ManterMatriculaCapacitacaoService(); int prevPrograma = 0; int cont = 0; double totalAprovacoesSol = 0; double totalSol = 0; foreach (var itemHistorico in ListaMatriculaCapacitacao) { BMCapacitacao bmCapacitacao = new BMCapacitacao(); // PROGRAMAS - Mudou o programa cria um novo item pai if (prevPrograma != itemHistorico.Capacitacao.Programa.ID) { totalAprovacoesSol = 0; totalSol = 0; dtoItemMeusCursos = new DTOItemMeusCursos(); dtoItemMeusCursos.ID = itemHistorico.Capacitacao.Programa.ID; dtoItemMeusCursos.NomeSolucao = itemHistorico.Capacitacao.Programa.Nome; dtoItemMeusCursos.Fornecedor = Constantes.Sebrae; dtoItemMeusCursos.TextoApresentacao = itemHistorico.Capacitacao.Programa.Apresentacao; dtoItemMeusCursos.DataInicio = itemHistorico.Capacitacao.DataInicio.ToString("dd/MM/yyyy"); dtoItemMeusCursos.DataLimite = itemHistorico.Capacitacao.DataFim.HasValue ? itemHistorico.Capacitacao.DataFim.Value.ToString("dd/MM/yyyy") : ""; dtoItemMeusCursos.Tipo = Constantes.ProgramaUC; dtoItemMeusCursos.CargaHoraria = Constantes.NaoDefinido; dtoItemMeusCursos.IdProgramaPortal = itemHistorico.Capacitacao.Programa.IdNodePortal; dtoItemMeusCursos.LinkAcesso = "";//!string.IsNullOrEmpty(itemHistorico.Capacitacao.Programa.Acesso) ? itemHistorico.Capacitacao.Programa.Acesso : ""; } DTOCapacitacao dtoCapacitacao = manterMatCapacitacao.AprovacoesSolucoesEducacionais(itemHistorico, id_Usuario); dtoItemMeusCursos.CapacitacoesPrograma.Add(dtoCapacitacao); string[] totais = dtoCapacitacao.TextoConclusaoCapacitacao.Split('/'); totalAprovacoesSol += float.Parse(totais[0]); totalSol += float.Parse(totais[1]); //dtoItemMeusCursos.LinkSemAcesso.Add(new DTOLinkSemAcesso { MotivoLinkSemAcesso = string.Format("Este curso será iniciado no dia {0}", exibirData.ToString("dd/MM/yyyy")) }); // Se o próximo programa for diferente ou for o último insere no DTO Pai os filhos if (ListaMatriculaCapacitacao.Count - 1 == cont || itemHistorico.Capacitacao.Programa.ID != ListaMatriculaCapacitacao[cont + 1].Capacitacao.Programa.ID) { dtoItemMeusCursos.PorcentagemConlusaoPrograma = (int)(Math.Round(totalAprovacoesSol / totalSol, 2) * 100); dtoItemMeusCursos.TextoConclusaoPrograma = totalAprovacoesSol + "/" + totalSol; resultado.Add(dtoItemMeusCursos); } // Atualiza a referência ao passado prevPrograma = itemHistorico.Capacitacao.Programa.ID; cont++; } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } }
/// <summary> /// Método usado para gerar o certificado de cursos normais e de trilha /// </summary> /// <param name="pTexto"></param> /// <param name="pIdMatriculaOferta"></param> /// <param name="pIdUsuarioTrilha"></param> /// <returns></returns> public static string FormatarTextoCertificadoTrilhaTurma(string pTexto, int pIdMatriculaPrograma, int pIdMatriculaOferta, int pIdUsuarioTrilha) { var tI = new CultureInfo("pt-Br", true).TextInfo; if (pIdMatriculaPrograma > 0) { var matriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorId(pIdMatriculaPrograma); if (matriculaCapacitacao != null) { var nomeUsuario = tI.ToTitleCase(matriculaCapacitacao.Usuario.Nome.ToLower()); var dataInicioTurma = string.Empty; var dataFimTurma = string.Empty; if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.Any()) { if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault().TurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataInicio.HasValue) { dataInicioTurma = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataInicio.Value.ToString("dd/MM/yyyy"); } if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault().TurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataFim.HasValue) { dataFimTurma = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataFim.Value.ToString("dd/MM/yyyy"); } } pTexto = pTexto .Replace("#CODIGOCERTIFICADO", matriculaCapacitacao.CDCertificado) .Replace("#DATEGERACAOCERTIFICADO", matriculaCapacitacao.DataGeracaoCertificado.HasValue ? matriculaCapacitacao.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", matriculaCapacitacao.DataGeracaoCertificado.HasValue ? matriculaCapacitacao.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(matriculaCapacitacao.Usuario.CPF)) .Replace("#EMAILALUNO", matriculaCapacitacao.Usuario.Email) .Replace("#OFERTA", matriculaCapacitacao.Capacitacao.Nome) .Replace("#NOMEPROGRAMA", matriculaCapacitacao.Capacitacao.Programa.Nome) .Replace("#DATAINICIOOFERTA", matriculaCapacitacao.Capacitacao.DataInicio.ToString("dd/MM/yyyy")) .Replace("#DATAFIMOFERTA", matriculaCapacitacao.Capacitacao.DataFim.HasValue ? matriculaCapacitacao.Capacitacao.DataFim.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAMATRICULA", matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .DataMatricula.ToString("dd/MM/yyyy") : string.Empty); var matriculaTurmaCapacitacao = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() : null; var dataTermino = matriculaTurmaCapacitacao != null && matriculaTurmaCapacitacao.MatriculaCapacitacao != null && matriculaTurmaCapacitacao.MatriculaCapacitacao.DataFim.HasValue ? matriculaTurmaCapacitacao.MatriculaCapacitacao.DataFim.Value.ToString("dd/MM/yyyy") : ""; pTexto = pTexto.Replace("#DATATERMINO", dataTermino); pTexto.Replace("#TURMA", matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.Nome : string.Empty) .Replace("#STATUS", matriculaCapacitacao.StatusMatriculaFormatado) .Replace("#DATAINICIOTURMA", dataInicioTurma) .Replace("#DATAFIMTURMA", dataFimTurma); return(pTexto); } } if (pIdMatriculaOferta > 0) { MatriculaOferta matriculaOferta = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); if (matriculaOferta != null) { var nomeUsuario = tI.ToTitleCase(matriculaOferta.Usuario.Nome.ToLower()); var dataInicioTurma = string.Empty; var dataFimTurma = string.Empty; var matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault(); if (matriculaOferta.MatriculaTurma != null && matriculaTurma != null) { if (matriculaTurma.Turma != null) { dataInicioTurma = matriculaTurma.Turma.DataInicio.ToString("dd/MM/yyyy"); } if (matriculaTurma.Turma != null && matriculaTurma.Turma.DataFinal.HasValue) { dataFimTurma = matriculaTurma.Turma.DataFinal.Value.ToString("dd/MM/yyyy"); } } int totalHoras = matriculaOferta.Oferta.SolucaoEducacional.ListaItemTrilha .Where(x => x.Aprovado == enumStatusSolucaoEducacionalSugerida.Aprovado) .Sum(x => x.CargaHoraria); return(pTexto .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(matriculaOferta.Usuario.CPF)) .Replace("#EMAILALUNO", matriculaOferta.Usuario.Email) .Replace("#CARGAHORARIASOLUCAOSEBRAE", totalHoras.ToString()) .Replace("#OFERTA", matriculaOferta.Oferta.Nome) .Replace("#CARGAHORARIA", matriculaOferta.Oferta.CargaHoraria.ToString()) .Replace("#NOMESE", matriculaOferta.Oferta.SolucaoEducacional.Nome) .Replace("#DATAINICIOOFERTA", matriculaTurma != null ? matriculaTurma.Turma.DataInicio.ToString("dd/MM/yyyy") : "") .Replace("#DATAFIMOFERTA", matriculaTurma.Turma.DataFinal.HasValue ? matriculaTurma.Turma.DataFinal.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAMATRICULA", matriculaOferta.MatriculaTurma != null ? matriculaTurma.DataMatricula.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATATERMINO", matriculaOferta.MatriculaTurma != null && matriculaTurma.DataTermino.HasValue ? matriculaTurma .DataTermino.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#EMENTA", matriculaOferta.Oferta.SolucaoEducacional.Ementa) .Replace("#TURMA", matriculaOferta.MatriculaTurma != null ? matriculaTurma.Turma.Nome : string.Empty) .Replace("#PROFESSOR", matriculaTurma != null && matriculaTurma.Turma.Professores.Any() ? string.Join(", ", matriculaTurma.Turma.Professores.Select(x => x.Nome).ToArray()) : string.Empty) .Replace("#LOCAL", matriculaTurma.Turma.Local != null ? matriculaTurma.Turma.Local : "Sem Local") .Replace("#CODIGOCERTIFICADO", matriculaOferta.CDCertificado) .Replace("#MEDIAFINALTURMA", matriculaOferta.MatriculaTurma != null && matriculaTurma.MediaFinal.HasValue ? matriculaTurma.MediaFinal.Value.ToString() : string.Empty) .Replace("#DATEGERACAOCERTIFICADO", matriculaOferta.DataGeracaoCertificado.HasValue ? matriculaOferta.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", matriculaOferta.DataGeracaoCertificado.HasValue ? matriculaOferta.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#NOTAFINAL", matriculaOferta.MatriculaTurma != null && matriculaTurma.MediaFinal.HasValue ? matriculaTurma.MediaFinal.Value.ToString() : string.Empty) .Replace("#STATUS", matriculaOferta.StatusMatriculaFormatado) .Replace("#DATAINICIOTURMA", dataInicioTurma) .Replace("#DATAFIMTURMA", dataFimTurma) .Replace("#TEXTOPORTAL", matriculaOferta.Oferta.SolucaoEducacional.Apresentacao != null ? Regex.Replace(matriculaOferta.Oferta.SolucaoEducacional.Apresentacao, "<.*?>", string.Empty) : string.Empty) .Replace("#INFORMACOESADICIONAIS", matriculaOferta.Oferta.InformacaoAdicional != null ? Regex.Replace(matriculaOferta.Oferta.InformacaoAdicional, "<.*?>", string.Empty) : string.Empty) .Replace("#AREATEMATICA", matriculaOferta.Oferta.SolucaoEducacional.ListaAreasTematicas.Any() ? string.Join(", ", matriculaOferta.Oferta.SolucaoEducacional.ListaAreasTematicas.Select( x => x.AreaTematica.Nome).ToArray()) : string.Empty) ); } } if (pIdUsuarioTrilha > 0) { MatriculaOferta matriculaOferta = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); var bmUsuarioTrilha = new BMUsuarioTrilha(); var usuarioTrilha = bmUsuarioTrilha.ObterPorId(pIdUsuarioTrilha); if (usuarioTrilha == null || !usuarioTrilha.StatusMatricula.Equals(enumStatusMatricula.Aprovado)) { return("Erro ao gerar o certificado"); } var nomeUsuario = tI.ToTitleCase(usuarioTrilha.Usuario.Nome.ToLower()); var cargaHoraria = bmUsuarioTrilha.ObterTotalCargaHoraria(usuarioTrilha); return(pTexto .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(usuarioTrilha.Usuario.CPF)) .Replace("#EMAILALUNO", usuarioTrilha.Usuario.Email) .Replace("#TRILHANIVEL", usuarioTrilha.TrilhaNivel.Nome) .Replace("#TRILHA", usuarioTrilha.TrilhaNivel.Trilha.Nome) .Replace("#DATALIMITE", usuarioTrilha.DataLimite.ToString("dd/MM/yyyy")) .Replace("#DATAINICIOTRILHA", usuarioTrilha.DataInicio.ToString("dd/MM/yyyy")) .Replace("#CARGAHORARIASOLUCAOSEBRAE", cargaHoraria.ToString()) .Replace("#DATAFIMTRILHA", usuarioTrilha.DataFim.HasValue ? usuarioTrilha.DataFim.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#MEDIAFINALTRILHA", usuarioTrilha.NotaProva.HasValue ? usuarioTrilha.NotaProva.Value.ToString() : string.Empty) .Replace("#CODIGOCERTIFICADO", usuarioTrilha.CDCertificado) .Replace("#CARGAHORARIA", cargaHoraria.ToString()) .Replace("#DATEGERACAOCERTIFICADO", usuarioTrilha.DataGeracaoCertificado.HasValue ? usuarioTrilha.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", usuarioTrilha.DataGeracaoCertificado.HasValue ? usuarioTrilha.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty)); } return("Erro ao gerar o certificado"); }
public List <DTOCapacitacao> ConsultarCapacitacoes(int idUsuario, int idCapacitacao = 0, int idPrograma = 0, string nome = "") { Usuario usuario = new BMUsuario().ObterPorId(idUsuario); if (usuario == null) { throw new AcademicoException("Usuário não localizado na base"); } Capacitacao objCapacitacao = new Capacitacao(); if (idPrograma > 0) { objCapacitacao.Programa.ID = idPrograma; } if (!string.IsNullOrEmpty(nome)) { objCapacitacao.Nome = nome; } if (idCapacitacao > 0) { objCapacitacao.ID = idCapacitacao; } IList <Capacitacao> ListaCapacitacoes = new BMCapacitacao().ObterPorFiltroNoPeriodoInscricoes(objCapacitacao); if (ListaCapacitacoes.Count == 0 || ListaCapacitacoes == null) { throw new AcademicoException("Não há capacitações disponíveis"); } List <DTOCapacitacao> retorno = new List <DTOCapacitacao>(); IList <MatriculaCapacitacao> capacitacoesJaMatriculado = new BMMatriculaCapacitacao().ObterPorUsuario(usuario.ID); foreach (var cap in ListaCapacitacoes) { DTOCapacitacao listReturn = new DTOCapacitacao(); listReturn.jaInscrito = false; if (capacitacoesJaMatriculado.Count > 0) { var jaInscrito = capacitacoesJaMatriculado.Where(x => x.Capacitacao.ID == cap.ID).ToList(); if (jaInscrito.Count > 0) { listReturn.jaInscrito = true; } } listReturn.ID = cap.ID; listReturn.NomeCapacitacao = cap.Nome; listReturn.DataInicio = cap.DataInicio.ToString("dd/MM/yyyy"); listReturn.DataFim = cap.DataFim.HasValue ? cap.DataFim.Value.ToString("dd/MM/yyyy") : ""; listReturn.DataInicioInscricoes = cap.DataInicioInscricao.HasValue ? cap.DataInicioInscricao.Value.ToString("dd/MM/yyyy") : ""; listReturn.DataFimInscricoes = cap.DataFimInscricao.HasValue ? cap.DataFimInscricao.Value.ToString("dd/MM/yyyy") : ""; listReturn.Programa.ID = cap.Programa.ID; listReturn.Programa.Nome = cap.Programa.Nome; listReturn.Programa.Ativo = cap.Programa.Ativo; listReturn.descricao = cap.Descricao; listReturn.TurmaCapacitacao = cap.ListaTurmas.Select(f => new DTOTurmaCapacitacao { ID = f.ID, Nome = f.Nome }).ToList(); listReturn.PodeRealizarIscricao = cap.DataInicioInscricao.HasValue && cap.DataFimInscricao.HasValue && (DateTime.Now > cap.DataInicioInscricao.Value && DateTime.Now < cap.DataFimInscricao.Value); retorno.Add(listReturn); } return(retorno); }