Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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
            });
        }
Exemplo n.º 5
0
        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);
                }
            }
        }
Exemplo n.º 6
0
 public ManterParticipacaoItemTrilha()
     : base()
 {
     itemTrilhaParticipacao = new BMItemTrilhaParticipacao();
 }
        //private void PreencherInformacoesDeAuditoria(ItemTrilhaParticipacao itemTrilhaParticipacao)
        //{
        //    base.PreencherInformacoesDeAuditoria(itemTrilhaParticipacao);
        //}

        #endregion

        #region "Construtor"

        public ManterItemTrilhaParticipacao()
        {
            _bmItemTrilhaParticipacao = new BMItemTrilhaParticipacao();
        }