public void IncluirParticipacaoItemTrilha(ItemTrilhaParticipacao pItemTrilhaParticipacao) { try { itemTrilhaParticipacao.Salvar(pItemTrilhaParticipacao); } catch (AcademicoException ex) { throw ex; } }
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); }
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 }); }