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 Salvar(ItemTrilhaParticipacao pItemTrilhaParticipacao) { ValidarItemTrilhaParticipacaoInformado(pItemTrilhaParticipacao); pItemTrilhaParticipacao.DataEnvio = DateTime.Now; repositorio.Salvar(pItemTrilhaParticipacao); }
public List <ItemTrilhaParticipacao> ObterItemTrilhaParticipacaoPorFiltro(ItemTrilhaParticipacao pItem) { IList <ItemTrilhaParticipacao> ListaItemParticipacao = null; var query = repositorio.session.Query <ItemTrilhaParticipacao>(); if (pItem != null) { if (pItem.ID != 0) { query = query.Where(x => x.ID == pItem.ID); } if (pItem.ItemTrilha != null) { query = query.Where(x => x.ItemTrilha == pItem.ItemTrilha); } if (pItem.TextoParticipacao != null) { query = query.Where(x => x.TextoParticipacao == pItem.TextoParticipacao); } if (pItem.UsuarioTrilha != null) { query = query.Where(x => x.UsuarioTrilha == pItem.UsuarioTrilha); } } query = query.Fetch(x => x.UsuarioTrilha).ThenFetch(x => x.Usuario); ListaItemParticipacao = query.AsParallel().ToList <ItemTrilhaParticipacao>().ToList(); return(ListaItemParticipacao.ToList()); }
private void AlterarItemTrilhaParticipacao() { if (_ItemTrilhaParticipacao != null) { ItemTrilhaParticipacao itemNovo = new ItemTrilhaParticipacao(); itemNovo.UsuarioTrilha = _ItemTrilhaParticipacao.UsuarioTrilha; itemNovo.ItemTrilha = _ItemTrilhaParticipacao.ItemTrilha; itemNovo.Monitor = new BMUsuario().ObterUsuarioLogado(); itemNovo.TextoParticipacao = txtObservacao.Text; itemNovo.Orientacao = string.IsNullOrWhiteSpace(txtOrientacao.Text) ? null : txtOrientacao.Text; itemNovo.Visualizado = false; itemNovo.TipoParticipacao = enumTipoParticipacaoTrilha.InteracaoMonitor; itemNovo.DataEnvio = DateTime.Now; //Anexo if (fupldArquivoEnvio != null && fupldArquivoEnvio.PostedFile != null && fupldArquivoEnvio.PostedFile.ContentLength > 0) { itemNovo.FileServer = ObterAnexo(); } else { itemNovo.FileServer = null; } try { new ManterItemTrilhaParticipacao().CadastrarHistorico(itemNovo, chkEnviarEmail.Checked); } catch (EmailException) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao enviar o email. Dados salvos com sucesso!"); } try { bool?rbautorizado = null; if (rblAutorizadoModal.SelectedValue == "S") { rbautorizado = true; } else if (rblAutorizadoModal.SelectedValue == "N") { rbautorizado = false; } if (rbautorizado != _ItemTrilhaParticipacao.Autorizado) { AlterarStatusItemTrilhaParticipacao(_ItemTrilhaParticipacao, rbautorizado); } MontarPainelSe(_ItemTrilhaParticipacao.ID); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados alterados com sucesso"); } catch { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao atualizar a participação do usuário"); } } }
protected void gvHistoricoParticipacaoModal_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType.Equals(DataControlRowType.DataRow)) { HyperLink hplnkCaminhoArquivo = (HyperLink)e.Row.FindControl("hplnkCaminhoArquivo"); if (hplnkCaminhoArquivo != null) { try { ItemTrilhaParticipacao registro = (ItemTrilhaParticipacao)e.Row.DataItem; if (registro != null && registro.FileServer != null) { string caminhoArquivoAshx = string.Format(@"/ExibirFileServer.ashx?Identificador={0}", registro.FileServer.NomeDoArquivoNoServidor); string urlCompleta = HttpContext.Current.Request.Url.ToString(); //urlCompleta = urlCompleta.Replace(HttpContext.Current.Request.RawUrl, string.Concat("/", caminhoArquivoAshx)); hplnkCaminhoArquivo.Text = "Anexo"; hplnkCaminhoArquivo.NavigateUrl = caminhoArquivoAshx; } else { hplnkCaminhoArquivo.Visible = false; } } catch { try { TrilhaAtividadeFormativaParticipacao registro = (TrilhaAtividadeFormativaParticipacao)e.Row.DataItem; if (registro != null && registro.FileServer != null) { string caminhoArquivoAshx = string.Format(@"/ExibirFileServer.ashx?Identificador={0}", registro.FileServer.NomeDoArquivoNoServidor); string urlCompleta = HttpContext.Current.Request.Url.ToString(); //urlCompleta = urlCompleta.Replace(HttpContext.Current.Request.RawUrl, string.Concat("/", caminhoArquivoAshx)); hplnkCaminhoArquivo.Text = "Anexo"; hplnkCaminhoArquivo.NavigateUrl = caminhoArquivoAshx; } else { hplnkCaminhoArquivo.Visible = false; } } catch { hplnkCaminhoArquivo.Visible = false; } } } } }
public void ExcluirParticipacaoItemTrilha(ItemTrilhaParticipacao pItemTrilhaParticipacao) { try { itemTrilhaParticipacao.Excluir(pItemTrilhaParticipacao); } catch (AcademicoException ex) { throw ex; } }
public void AlterarParticipacaoItemTrilha(ItemTrilhaParticipacao pItemTrilhaParticipacao) { try { itemTrilhaParticipacao.Salvar(pItemTrilhaParticipacao); } catch (AcademicoException ex) { throw ex; } }
public ItemTrilhaParticipacao ObterUltimaParticipacaoMonitor(ItemTrilhaParticipacao item) { var query = repositorio.session.Query <ItemTrilhaParticipacao>(); query = query.Where( x => x.UsuarioTrilha == item.UsuarioTrilha && x.ItemTrilha.ID == item.ItemTrilha.ID && x.TipoParticipacao == enumTipoParticipacaoTrilha.InteracaoMonitor && x.DataAlteracao.HasValue) .OrderByDescending(x => x.DataAlteracao); return(query.FirstOrDefault()); }
private void ValidarParticipacaoItemTrilhaInformada(ItemTrilhaParticipacao pItemTrilhaParticipacao) { // Validando se a instância da item trilha participacao está nula. this.ValidarInstancia(pItemTrilhaParticipacao); if (pItemTrilhaParticipacao.UsuarioTrilha == null) { throw new AcademicoException("Usuário da Trilha não foi Informado. Campo Obrigatório"); } if (pItemTrilhaParticipacao.ItemTrilha == null) { throw new AcademicoException("O Item da Trilha não foi informado. Campo Obrigatório"); } }
/// <summary> /// Validação das informações de um ItemTrilha Participacao /// </summary> /// <param name="pItemTrilhaParticipacao"></param> public void ValidarItemTrilhaParticipacaoInformado(ItemTrilhaParticipacao pItemTrilhaParticipacao) { ValidarInstancia(pItemTrilhaParticipacao); //Usuário Trilha if (pItemTrilhaParticipacao.UsuarioTrilha == null) { throw new AcademicoException("Usuário. Campo Obrigatório"); } //Item Trilha if (pItemTrilhaParticipacao.ItemTrilha == null) { throw new AcademicoException("Item Trilha. Campo Obrigatório"); } }
public void IncluirPrimeiraParticipacao(ItemTrilhaParticipacao itemTrilhaParticipacao) { // Verifica se o usuário já tem alguma participação no tópico temático if (itemTrilhaParticipacao.ItemTrilha.Missao.PontoSebrae.ListaPontoSebraeParticipacao.Any( x => x.UsuarioTrilha.ID == itemTrilhaParticipacao.UsuarioTrilha.ID)) { return; } // Caso não tenha cria a primeira participação do usuário var participacao = new PontoSebraeParticipacao { PrimeiraParticipacao = itemTrilhaParticipacao.DataEnvio, PontoSebrae = itemTrilhaParticipacao.ItemTrilha.Missao.PontoSebrae, UsuarioTrilha = itemTrilhaParticipacao.UsuarioTrilha }; new ManterTrilhaTopicoTematicoParticipacao().Salvar(participacao); }
public dynamic ObterAcessoJogo(int solucaoId, UsuarioTrilha matricula) { var solucaoSebrae = new ManterItemTrilha().ObterItemTrilhaPorID(solucaoId); if (solucaoSebrae == null) { throw new ResponseException(enumResponseStatusCode.SolucaoSebraeNaoEncontrada); } var ultimaParticipacao = solucaoSebrae.ListaItemTrilhaParticipacao.LastOrDefault( x => x.UsuarioTrilha.ID == matricula.ID && x.Autorizado == null); // Criar participação sem autorização, se não existir. if (ultimaParticipacao == null) { // Criar uma participação que servirá de "Dummy" para relacionar o aluno com a aprovação do jogo. var participacao = new ItemTrilhaParticipacao { UsuarioTrilha = matricula, ItemTrilha = solucaoSebrae, DataEnvio = DateTime.Now, TipoParticipacao = enumTipoParticipacaoTrilha.Jogo, Auditoria = new Auditoria(matricula.Usuario.CPF), FileServer = null }; // Criar participação. new BP.ManterItemTrilhaParticipacao().Salvar(participacao); } return(new { LinkJogo = ConsultarLinkJogo(solucaoSebrae, matricula) }); }
public static void Salvar(ItemTrilhaParticipacao itemTrilhaParticipacao) { new BMItemTrilhaParticipacao().Salvar(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 }); }
public void InformarParticipacaoLoja(ItemTrilhaParticipacao itemTrilhaParticipacao) { new ManterTrilhaTopicoTematicoParticipacao().IncluirPrimeiraParticipacao(itemTrilhaParticipacao); }
public void Salvar(ItemTrilhaParticipacao pItemTrilhaParticipacao) { ValidarParticipacaoItemTrilhaInformada(pItemTrilhaParticipacao); repositorio.Salvar(pItemTrilhaParticipacao); }
private void AlterarItemTrilhaParticipacao() { if (_ItemTrilhaParticipacao != null) { ItemTrilhaParticipacao itemNovo = new ItemTrilhaParticipacao(); itemNovo.UsuarioTrilha = _ItemTrilhaParticipacao.UsuarioTrilha; itemNovo.ItemTrilha = _ItemTrilhaParticipacao.ItemTrilha; itemNovo.Monitor = new BMUsuario().ObterUsuarioLogado(); itemNovo.TextoParticipacao = txtObservacao.Text; itemNovo.Visualizado = false; itemNovo.TipoParticipacao = enumTipoParticipacaoTrilha.InteracaoMonitor; itemNovo.DataEnvio = DateTime.Now; //Anexo if (fupldArquivoEnvio != null && fupldArquivoEnvio.PostedFile != null && fupldArquivoEnvio.PostedFile.ContentLength > 0) { itemNovo.FileServer = ObterAnexo(); } else { itemNovo.FileServer = null; } try { new ManterItemTrilhaParticipacao().CadastrarHistorico(itemNovo, chkEnviarEmail.Checked); } catch (EmailException) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao enviar o email. Dados salvos com sucesso!"); } try { bool?rbautorizado = null; if (rblAutorizadoModal.SelectedValue == "S") { rbautorizado = true; } else if (rblAutorizadoModal.SelectedValue == "N") { rbautorizado = false; } if (rbautorizado != _ItemTrilhaParticipacao.Autorizado) { AlterarStatusItemTrilhaParticipacao(_ItemTrilhaParticipacao, rbautorizado); } // Pega uma nova referência já que a antiga de ItemTrilha não tem a autorização acima itemNovo.ItemTrilha = new ManterItemTrilha().ObterItemTrilhaPorID(itemNovo.ItemTrilha.ID); // Inclui caso seja a data de última participação do usuário, precisa ficar depois do salvamento da autorização new ManterTrilhaTopicoTematicoParticipacao().IncluirUltimaParticipacao(itemNovo.UsuarioTrilha, itemNovo.ItemTrilha); // Se foi aprovado, criar visualização da mensagem para o aluno. if (itemNovo.ItemTrilha.ObterStatusParticipacoesItemTrilha(itemNovo.UsuarioTrilha) == enumStatusParticipacaoItemTrilha.Aprovado) { var mensagem = new ManterMensagemGuia().ObterPorId(enumMomento.DemaisConclusoesSolucaoSebrae); TrilhaServices.RegistrarVisualizacao(itemNovo.UsuarioTrilha, mensagem, null, itemNovo.ItemTrilha, salvarData: false); } try { MontarPainelSe(_ItemTrilhaParticipacao.ID); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados alterados com sucesso"); } catch (Exception) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Atencao, "A participação do aluno foi alterada com sucesso, porém não foi possível atualizar a tela. Atualize a tela manualmente."); } } catch { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao atualizar a participação do usuário"); } } }
public void Excluir(ItemTrilhaParticipacao pItemTrilhaParticipacao) { this.ValidarInstancia(pItemTrilhaParticipacao); repositorio.Excluir(pItemTrilhaParticipacao); }
public void SomenteSalvar(ItemTrilhaParticipacao itemTrilhaParticipacao) { repositorio.Salvar(itemTrilhaParticipacao); }