Beispiel #1
0
 public void IncluirParticipacaoItemTrilha(ItemTrilhaParticipacao pItemTrilhaParticipacao)
 {
     try
     {
         itemTrilhaParticipacao.Salvar(pItemTrilhaParticipacao);
     }
     catch (AcademicoException ex)
     {
         throw ex;
     }
 }
Beispiel #2
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);
        }
        public void IncluirItemTrilhaParticipacao(ItemTrilhaParticipacao pItemTrilhaParticipacao)
        {
            if (pItemTrilhaParticipacao != null && pItemTrilhaParticipacao.MatriculaOferta.IsCancelado())
            {
                var currentMatriculaOferta = new ManterMatriculaOferta()
                                             .ObterTodosIQueryable()
                                             .LastOrDefault(x => x.Usuario.ID == pItemTrilhaParticipacao.MatriculaOferta.Usuario.ID &&
                                                            x.Oferta.SolucaoEducacional.ID == pItemTrilhaParticipacao.MatriculaOferta.Oferta.SolucaoEducacional.ID &&
                                                            (!x.IsCancelado() && x.StatusMatricula == enumStatusMatricula.Inscrito));

                if (currentMatriculaOferta != null)
                {
                    pItemTrilhaParticipacao.MatriculaOferta = currentMatriculaOferta;
                }
            }

            _bmItemTrilhaParticipacao.ValidarItemTrilhaParticipacaoInformado(pItemTrilhaParticipacao);
            //PreencherInformacoesDeAuditoria(pItemTrilhaParticipacao);
            _bmItemTrilhaParticipacao.Salvar(pItemTrilhaParticipacao);
        }
Beispiel #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
            });
        }