//Trilha Game public dynamic CadastrarSolucaoTrilheiro(UsuarioTrilha usuarioTrilha, DTOSolucaoTrilheiro dtoSolucaoTrilheiro, UsuarioTrilha matricula) { FileServer fileServer = null; if (!string.IsNullOrEmpty(dtoSolucaoTrilheiro.Arquivo)) { //Fazer upload do arquivo var memoryStream = CommonHelper.ObterMemoryStream(dtoSolucaoTrilheiro.Arquivo); fileServer = CommonHelper.ObterObjetoFileServer(memoryStream); var caminhoDiretorioUpload = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.RepositorioUpload).Registro; // Escrever o arquivo na pasta. CommonHelper.EnviarArquivoParaRepositorio(caminhoDiretorioUpload, memoryStream, fileServer.NomeDoArquivoNoServidor); fileServer.TipoArquivo = CommonHelper.ObterTipoDoArquivo(dtoSolucaoTrilheiro.Arquivo); fileServer.MediaServer = true; fileServer.NomeDoArquivoOriginal = dtoSolucaoTrilheiro.NomeDoArquivoOriginal; fileServer.Auditoria = new Auditoria(matricula.Usuario.CPF); new BMFileServer().Salvar(fileServer); } //item Trilha var item = new ItemTrilha { ID = 0, DataCriacao = DateTime.Now, Nome = dtoSolucaoTrilheiro.Nome, Local = dtoSolucaoTrilheiro.Orientacao, LinkConteudo = dtoSolucaoTrilheiro.LinkConteudo, ReferenciaBibliografica = dtoSolucaoTrilheiro.ReferenciaBibliografica, QuantidadePontosParticipacao = 1, SolucaoEducacional = null, Missao = new ManterMissao().ObterPorID(dtoSolucaoTrilheiro.MissaoId), Usuario = usuarioTrilha.Usuario, FormaAquisicao = new ManterFormaAquisicao().ObterFormaAquisicaoPorID(dtoSolucaoTrilheiro.IdTipo), Ativo = true, Aprovado = enumStatusSolucaoEducacionalSugerida.Aprovado, FileServer = fileServer, CargaHoraria = dtoSolucaoTrilheiro.GetCargaHoriaEmMinutos() }; bmItemTrilha.Salvar(item); // Retorna os dados para re-inserção na tela. return(new DtoTrilhaSolucaoSebrae { Id = item.ID, Nome = item.Nome, FormaAquisicaoId = item.FormaAquisicao.ID, FormaAquisicao = item.FormaAquisicao.Nome, Orientacao = !string.IsNullOrWhiteSpace(item.Local) ? item.Local : "Sem Orientação" }); }
public SolucaoModule() : base("solucao") { this.RequiresAuthentication(); Get["/{itemTrilhaId:int}"] = p => { // Retornar os dados da solução trilheiro. return(new DtoResponse(new TrilhaServices().ObterDadosSolucaoTrilheiro(p.itemTrilhaId))); }; Get["/status/{solucaoSebraeId:int}"] = p => { return(new DtoResponse(new TrilhaServices().ObterStatusSolucaoSebrae(p.solucaoSebraeId, AcessoAtual))); }; Get["/Curtir/{itemTrilhaId:int}/{acao:int}"] = p => { VerificarBloqueio(); // Retornar Sucesso ou não da operação. return(new DtoResponse(new TrilhaServices().DefinirCurtida(p.itemTrilhaId, (enumTipoCurtida)p.acao, AcessoAtual.Matricula))); }; Get["/Curtidas/{itemTrilhaId:int}/{soCurtidas:bool}"] = p => { // Retornar lista ou não da operação. return(new DtoResponse(new TrilhaServices().ListarCurtidas(p.itemTrilhaId, p.soCurtidas, AcessoAtual.Matricula))); }; // UC007 - Inserir Solucao Trilheiro Post["/solucaotrilheiro/new"] = paramentros => { VerificarBloqueio(); // Fazer o bind dos valores do POST para um objeto fortemente tipado. DTOSolucaoTrilheiro dtoSolucaoTrilheiro = this.Bind(); return(new DtoResponse(new TrilhaServices().CadastrarSolucaoTrilheiro(dtoSolucaoTrilheiro, AcessoAtual.Matricula, AcessoAtual.Nivel))); }; // UC007 - Carregar Campos select Get["/solucaotrilheiro/{lojaId:int}"] = p => { VerificarBloqueio(); var pontoSebrae = AcessoAtual.Nivel.ListaPontoSebrae.FirstOrDefault(x => x.ID == p.lojaId); // Se o usuário não estiver matriculado, não poderá exibir a trilha. if (pontoSebrae == null) { throw new ResponseException(enumResponseStatusCode.RegistroNaoEncontrado, "Loja não encontrada."); } var trilhaServices = new TrilhaServices(); // Retornar os dados da loja. var retorno = new DtoResponse( trilhaServices.ObterDadosCadastroSolucaoTrilheiro(AcessoAtual.Nivel, pontoSebrae, AcessoAtual.Matricula), trilhaServices.ObterMensagensGuiaSolucaoTrilheiro(AcessoAtual.Matricula)); return(retorno); }; Get["/disponibilidade/{itemTrilhaId:int}"] = p => { return(new DtoResponse(new TrilhaServices().ConsultarDisponibilidadeMatriculaSolucaoEducacional(AcessoAtual, p.itemTrilhaId))); }; Post["/matricularturma/{itemTrilhaId:int}"] = p => { VerificarBloqueio(); var turma = this.Bind <DTOMatriculaTurma>().Turma; if (turma == null) { throw new ResponseException(enumResponseStatusCode.TurmaNaoEncontrada); } // Realiza inscrição do usuário na turma return(new DtoResponse(new TrilhaServices().MatriculaTurma(AcessoAtual, turma.Value, p.itemTrilhaId))); }; Post["/matricularsolucaoeducacional/{itemTrilhaId:int}"] = p => { VerificarBloqueio(); var dados = this.Bind <DTOMatriculaTurma>(); if (dados.SolucaoEducacional == null) { throw new ResponseException(enumResponseStatusCode.SolucaoEducacionalNaoEncontrada); } if (dados.Oferta == null) { throw new ResponseException(enumResponseStatusCode.OfertaNaoEncontrada); } // Realiza inscrição do usuário na turma return(new DtoResponse(new TrilhaServices().MatriculaSolucaoEducacional(AcessoAtual, dados.SolucaoEducacional.Value, dados.Oferta.Value, p.itemTrilhaId))); }; // UC006 - Solução Sebrae Atividade Dissertativa - PI07 a PI11 Post["/participacao/new"] = parametro => { VerificarBloqueio(); // Fazer o bind dos valores do POST para um objeto fortemente tipado. DTOParticipacao dtoParticipacao = this.Bind(); return(new DtoResponse(new TrilhaServices().CadastrarItemTrilhaParticipacao(dtoParticipacao, AcessoAtual.Matricula, AcessoAtual.Nivel))); }; Post["/conhecigame"] = parametro => { DTOParticipacaoConheciGame dtoParicipacao = this.Bind(); var response = new DtoResponse(new TrilhaServices().informarParticipacaoConheciGame(dtoParicipacao)); return(response); }; //Excluir Solucao trilheiro Delete["/excluir/{itemTrilhaId:int}"] = p => { return(new DtoResponse(new TrilhaServices().ExcluirSolucaoTrilheiro(AcessoAtual, p.itemTrilhaId))); }; Get["/obtermensagensguia/{lojaId:int}"] = p => { var loja = new ManterTrilhaTopicoTematico().ObterTrilhaTopicoTematicoPorID(p.lojaId); return(new DtoResponse(new TrilhaServices().ObterMensagensGuiaConclusaoSolucaoSebrae(AcessoAtual.Matricula, loja))); }; Post["/avaliar"] = parametro => { DTOAvaliacaoSolucaoSebrae dto = this.Bind(); var response = new DtoResponse(new TrilhaServices().InformarAvaliacao(dto.ID_ItemTrilha, dto.Resenha, dto.Avaliacao, AcessoAtual.Matricula)); return(response); }; }