private void AlterarStatusItemTrilhaParticipacao(ItemTrilhaParticipacao _itemTrilhaParticipacao, bool?aprovado) { var itemTrilhaParticipacao = new BMItemTrilhaParticipacao().ObterPorId(_itemTrilhaParticipacao.ID); itemTrilhaParticipacao.Autorizado = aprovado; if (aprovado.HasValue) { itemTrilhaParticipacao.DataPrazoAvaliacao = null; } // Inclui as moedas da trilha caso o usuário seja aprovado. if (itemTrilhaParticipacao.Autorizado != null && itemTrilhaParticipacao.Autorizado.Value && itemTrilhaParticipacao.ItemTrilha.Moedas != null) { new ManterUsuarioTrilhaMoedas().Incluir(itemTrilhaParticipacao.UsuarioTrilha, itemTrilhaParticipacao.ItemTrilha, null, 0, (int)itemTrilhaParticipacao.ItemTrilha.Moedas); } var bmItemTrilhaParticipacao = new BMItemTrilhaParticipacao(); bmItemTrilhaParticipacao.LimparSessao(); bmItemTrilhaParticipacao.Salvar(itemTrilhaParticipacao); new ManterItemTrilhaParticipacao().GerarNotificacaoItemTrilha(itemTrilhaParticipacao); }
public void ExcluirSolucaoEducacionalAutoIndicativa(int idItemTrilha, string cpfSolicitante, Usuario usuarioLogado = null) { if (usuarioLogado == null) { var manterUsuario = new ManterUsuario(); usuarioLogado = manterUsuario.ObterPorCPF(cpfSolicitante); if (usuarioLogado == null) { throw new AcademicoException("Acesso Restrito."); } } var itemTrilha = ObterItemTrilhaPorID(idItemTrilha); if (itemTrilha == null) { throw new AcademicoException("Acesso Restrito."); } if (itemTrilha.Usuario.ID != usuarioLogado.ID) { throw new AcademicoException("Acesso Restrito."); } var bmItemTrilhaParticipacao = new BMItemTrilhaParticipacao(); var lista = bmItemTrilhaParticipacao.ObterItemTrilhaParticipacaoPorFiltro(new ItemTrilhaParticipacao { ItemTrilha = itemTrilha }); if (lista.Any()) { foreach (var item in lista) { bmItemTrilhaParticipacao.Excluir(item); } } var perfilPodeExcluir = usuarioLogado.IsMonitorTrilha() || usuarioLogado.IsAdministradorTrilha() || usuarioLogado.IsAdministrador(); if (!perfilPodeExcluir) { bool usuarioAssociado = bmItemTrilhaParticipacao.ItemAutoIndicativo(idItemTrilha, cpfSolicitante); if (!usuarioAssociado) { throw new AcademicoException( "Você não pode excluir itens da trilha de outro usuário ou sugerido pela UC."); } } this.ExcluirItemTrilha(idItemTrilha); }
private void AlterarStatusItemTrilhaParticipacao(Dominio.Classes.ItemTrilhaParticipacao _itemTrilhaParticipacao, bool?aprovado) { var itemTrilhaParticipacao = new BMItemTrilhaParticipacao().ObterPorId(_itemTrilhaParticipacao.ID); itemTrilhaParticipacao.Autorizado = aprovado; itemTrilhaParticipacao.ItemTrilha.Aprovado = aprovado == true ? enumStatusSolucaoEducacionalSugerida.Aprovado : enumStatusSolucaoEducacionalSugerida.Aprovado; if (aprovado.HasValue) { itemTrilhaParticipacao.DataPrazoAvaliacao = null; } new BMItemTrilhaParticipacao().Salvar(itemTrilhaParticipacao); new ManterItemTrilhaParticipacao().GerarNotificacaoItemTrilha(itemTrilhaParticipacao); }
public dynamic CadastrarItemTrilhaParticipacao(int idUsuarioTrilha, int idItemTrilha, string textoParticipacao, string nomeOriginalArquivo, string imagem, int tipoParticipacao, string cpfAuditoria) { itemTrilhaParticipacaoBM = new BMItemTrilhaParticipacao(); fileServerBM = new BMFileServer(); var usuarioTrilha = new BMUsuarioTrilha().ObterPorId(idUsuarioTrilha); var isParticipacaoTrilheiro = tipoParticipacao == (int)enumTipoParticipacaoTrilha.ParticipacaoTrilheiro; if (isParticipacaoTrilheiro && DateTime.Now > usuarioTrilha.DataLimite) { throw new AcademicoException("O prazo para envio desta atividade já passou!"); } var itemTrilhaParticipacao = new ItemTrilhaParticipacao(); var itemTrilha = new BMItemTrilha().ObterPorID(idItemTrilha); if (idItemTrilha > 0 && idUsuarioTrilha > 0) { var listaItemTrilhaParticipacao = itemTrilhaParticipacaoBM.ObterParticipacoesUsuarioTrilha( idItemTrilha, idUsuarioTrilha); if (listaItemTrilhaParticipacao.Count > 0) { if ( listaItemTrilhaParticipacao.Any( x => x.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && x.Autorizado.HasValue && x.Autorizado.Value) && isParticipacaoTrilheiro) { throw new AcademicoException("Sua atividade já está aprovada!"); } if ( listaItemTrilhaParticipacao.Any( x => x.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && !x.Autorizado.HasValue) && isParticipacaoTrilheiro) { throw new AcademicoException("Sua atividade ainda não foi avaliada!"); } } itemTrilhaParticipacao.ItemTrilha = itemTrilha; itemTrilhaParticipacao.TextoParticipacao = textoParticipacao; itemTrilhaParticipacao.DataEnvio = DateTime.Now; itemTrilhaParticipacao.UsuarioTrilha = usuarioTrilha; itemTrilhaParticipacao.Visualizado = false; itemTrilhaParticipacao.TipoParticipacao = (enumTipoParticipacaoTrilha) Enum.Parse(typeof(enumTipoParticipacaoTrilha), tipoParticipacao.ToString()); itemTrilhaParticipacao.Auditoria = new Auditoria(cpfAuditoria); if (itemTrilha.Missao.PontoSebrae.TrilhaNivel.PrazoMonitorDiasUteis != null) { itemTrilhaParticipacao.DataPrazoAvaliacao = DateTime.Now.CalcularPrazo((int)itemTrilha.Missao.PontoSebrae.TrilhaNivel.PrazoMonitorDiasUteis); } FileServer fileServer; if (string.IsNullOrEmpty(nomeOriginalArquivo)) { fileServer = null; } else { var memoryStream = CommonHelper.ObterMemoryStream(imagem); fileServer = CommonHelper.ObterObjetoFileServer(memoryStream); var caminhoDiretorioUpload = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.RepositorioUpload).Registro; // Escrever o arquivo na pasta. CommonHelper.EnviarArquivoParaRepositorio(caminhoDiretorioUpload, memoryStream, fileServer.NomeDoArquivoNoServidor); //Define o tipo de arquivo (/Quebra a string para obter o tipo do arquivo. Ex: bmp, jpeg, etc...) fileServer.TipoArquivo = CommonHelper.ObterTipoDoArquivo(imagem); fileServer.MediaServer = true; fileServer.NomeDoArquivoOriginal = nomeOriginalArquivo; fileServer.Auditoria = new Auditoria(cpfAuditoria); fileServerBM.Salvar(fileServer); } itemTrilhaParticipacao.FileServer = fileServer; itemTrilhaParticipacaoBM.Salvar(itemTrilhaParticipacao); // Verifica se o usuário já tem participação no item trilha InformarParticipacaoLoja(itemTrilhaParticipacao); } var status = itemTrilha.ObterStatusParticipacoesItemTrilha(usuarioTrilha); return(new { Status = status != null ? (int?)status.Value : null }); }
private void MontarPainelSe(int idParticipacao) { LimparObjetos(); _ItemTrilhaParticipacao = new BMItemTrilhaParticipacao().ObterPorId(idParticipacao); if (_ItemTrilhaParticipacao != null) { List <ItemTrilhaParticipacao> listaHistorico = new BMItemTrilhaParticipacao().ObterParticipacoesUsuarioTrilha(_ItemTrilhaParticipacao.ItemTrilha.ID, _ItemTrilhaParticipacao.UsuarioTrilha.ID); if (listaHistorico != null && listaHistorico.Count > 0) { listaHistorico = listaHistorico.Where(x => x.ID != idParticipacao).ToList(); } var itemTrilha = (new BMItemTrilha()).ObterPorID(_ItemTrilhaParticipacao.ItemTrilha.ID); var se = itemTrilha.SolucaoEducacional; lblOrientacaoParticipacao.Text = string.IsNullOrEmpty(_ItemTrilhaParticipacao.Orientacao) ? (itemTrilha.Local ?? "Sem conteúdo.") : (_ItemTrilhaParticipacao.Orientacao ?? "Sem conteúdo."); lblObjetivo.Text = itemTrilha.Objetivo != null ? itemTrilha.Objetivo.Nome : se == null ? "Sem conteúdo." : se.Objetivo ?? "Sem conteúdo."; lblFormaAquisicao.Text = itemTrilha.FormaAquisicao != null ? itemTrilha.FormaAquisicao.Nome : "Sem conteúdo."; lblReferenciaBibliografica.Text = itemTrilha.ReferenciaBibliografica; if (!string.IsNullOrEmpty(itemTrilha.LinkConteudo)) { lblLinkConteudo.Text = "Clique para acessar."; lblLinkConteudo.NavigateUrl = itemTrilha.LinkConteudo; } else { lblLinkConteudo.Text = "Sem conteúdo."; lblLinkConteudo.NavigateUrl = "#"; } if (_ItemTrilhaParticipacao.ItemTrilha.FileServer != null && _ItemTrilhaParticipacao.ItemTrilha.FileServer.ID > 0) { lblLinkAcessoConteudo.NavigateUrl = lblLinkAcessoConteudo.Text = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.EnderecoSGUS).Registro + "/ExibirFileServer.ashx?Identificador=" + _ItemTrilhaParticipacao.ItemTrilha.FileServer.NomeDoArquivoNoServidor; } else { lblLinkAcessoConteudo.Text = "Sem Anexo"; lblLinkAcessoConteudo.NavigateUrl = "#"; } divObjetivoServer.Visible = true; divFormaAquisicao.Visible = true; divReferenca.Visible = true; divLinkConteudo.Visible = true; divLinkAcesso.Visible = true; var nivel = _ItemTrilhaParticipacao.ItemTrilha.Missao.PontoSebrae.TrilhaNivel; txtUsuarioModal.Text = _ItemTrilhaParticipacao.UsuarioTrilha.Usuario.Nome; txtTrilhaModal.Text = nivel.Trilha.Nome; txtNivelModal.Text = nivel.Nome; txtTopicoTematicoModal.Text = _ItemTrilhaParticipacao.ItemTrilha.Missao.PontoSebrae.NomeExibicao; txtSolucaoEducacionalModal.Text = _ItemTrilhaParticipacao.ItemTrilha.Nome; txtParticipacaoModal.Text = _ItemTrilhaParticipacao.TextoParticipacao; txtObservacao.Text = string.Empty; txtOrientacao.Text = string.Empty; txtAutorizado.Text = _ItemTrilhaParticipacao.AutorizadoFormatado; rblAutorizadoModal.SelectedIndex = -1; divOrientacao.Visible = false; WebFormHelper.PreencherGrid(listaHistorico.OrderByDescending(x => x.DataAlteracao).ToList(), gvHistoricoParticipacaoModal); hplnkCaminhoArquivo.Visible = false; if (_ItemTrilhaParticipacao.FileServer != null && _ItemTrilhaParticipacao.FileServer.ID > 0) { MontarLinkDownload(_ItemTrilhaParticipacao.FileServer); } } }
public ManterParticipacaoItemTrilha() : base() { itemTrilhaParticipacao = new BMItemTrilhaParticipacao(); }
//private void PreencherInformacoesDeAuditoria(ItemTrilhaParticipacao itemTrilhaParticipacao) //{ // base.PreencherInformacoesDeAuditoria(itemTrilhaParticipacao); //} #endregion #region "Construtor" public ManterItemTrilhaParticipacao() { _bmItemTrilhaParticipacao = new BMItemTrilhaParticipacao(); }