Exemple #1
0
        public ActionResult <DtoResultado <DtoListaQuestoes> > ConsulteComFiltro(
            int nivelDificuldade      = -1,
            string disciplina         = null,
            string areaDeConhecimento = null,
            int tempoEsperadoResposta = 0,
            string usuario            = null,
            string id     = null,
            string[] tags = null
            )
        {
            return(ExecuteAcaoAutorizada(() =>
            {
                var filtro = new Filtro
                {
                    AreaDeConhecimento = new DtoAreaDoConhecimento {
                        Codigo = areaDeConhecimento
                    },
                    Disciplina = new DtoDisciplina {
                        Codigo = disciplina
                    },
                    NivelDificuldade = nivelDificuldade != -1 ? (NivelDificuldade)nivelDificuldade : new NivelDificuldade?(),
                    TempoEsperadoResposta = tempoEsperadoResposta,
                    Usuario = usuario,
                    Tags = tags.ToList(),
                    Id = id
                };

                var resultado = Servico().Consulte(filtro);

                return Ok(DtoResultado <DtoListaQuestoes> .ObtenhaResultado(resultado, "Consulta realizada sem erros"));
            }));
        }
Exemple #2
0
 public ActionResult <DtoResultado <Disciplina> > ConsulteLista()
 {
     return(ExecuteAcaoAutorizada(() =>
     {
         var resultado = new ServicoConsulte <Disciplina>().ConsulteLista();
         return Ok(DtoResultado <Disciplina> .ObtenhaResultado(resultado, "Consulta realizada sem erros"));
     }));
 }
Exemple #3
0
 public ActionResult <DtoResultado <TDto> > ConsultePorId(string id)
 {
     return(ExecuteAcaoAutorizada(() =>
     {
         var resultado = Servico().Consulte(id);
         return Ok(DtoResultado <TDto> .ObtenhaResultado(resultado, "Consulta realizada sem erros"));
     }));
 }
Exemple #4
0
 public ActionResult <DtoResultado <TDto> > Cadastre([FromBody] TDto objeto)
 {
     return(ExecuteAcaoAutorizada(() =>
     {
         var resultado = Servico().Cadastre(objeto);
         return Ok(DtoResultado <TDto> .ObtenhaResultado(resultado, "Cadastro realizado sem erros"));
     }));
 }
Exemple #5
0
 public ActionResult <DtoResultado <TDto> > Delete(string id)
 {
     return(ExecuteAcaoAutorizada(() =>
     {
         Servico().Exclua(id);
         return Ok(DtoResultado <TDto> .ObtenhaResultado("Exclusão realizada sem erros"));
     }));
 }
Exemple #6
0
 public ActionResult <DtoResultado <AreaDeConhecimento> > ConsulteLista()
 {
     return(ExecuteAcaoAutorizada(() =>
     {
         var resultado = new ServicoConsulte <AreaDeConhecimento>().ConsulteLista();
         return Ok(DtoResultado <AreaDeConhecimento> .ObtenhaResultado(resultado, "Consulta realizada sem erros"));
     }));
 }
Exemple #7
0
 /// <summary>
 /// Executa o método para a requisição da api e retorna o resultado da requisição.
 /// </summary>
 /// <param name="sucesso">Método quando a requisição aconteceu com sucesso.</param>
 /// <returns></returns>
 private ActionResult <DtoResultado <Disciplina> > ExecuteAcaoAutorizada(Func <ActionResult <DtoResultado <Disciplina> > > sucesso)
 {
     try
     {
         return(sucesso());
     }
     catch (Exception e)
     {
         return(BadRequest(DtoResultado <Disciplina> .ObtenhaResultado(e)));
     }
 }
Exemple #8
0
 /// <summary>
 /// Executa o método para a requisição da api e retorna o resultado da requisição.
 /// </summary>
 /// <param name="sucesso">Método quando a requisição aconteceu com sucesso.</param>
 /// <returns></returns>
 private ActionResult <DtoResultado <AreaDeConhecimento> > ExecuteAcaoAutorizada(Func <ActionResult <DtoResultado <AreaDeConhecimento> > > sucesso)
 {
     try
     {
         return(sucesso());
     }
     catch (Exception e)
     {
         return(BadRequest(DtoResultado <AreaDeConhecimento> .ObtenhaResultado(e)));
     }
 }
 public ActionResult <DtoResultado <Usuario> > Cadastre([FromBody] Login login)
 {
     try
     {
         var servico = new ServicoBearerAuthentication();
         var usuario = servico.EfetueLogin(login.Email, login.Password);
         return(Ok(DtoResultado <Usuario> .ObtenhaResultado(usuario, "Usuário logado")));
     }
     catch (Exception e)
     {
         return(BadRequest(DtoResultado <Usuario> .ObtenhaResultado(e)));
     }
 }
Exemple #10
0
        /// <summary>
        /// Executa o método para a requisição da api e retorna o resultado da requisição.
        /// </summary>
        /// <param name="sucesso">Método quando a requisição aconteceu com sucesso.</param>
        /// <returns></returns>
        protected ActionResult <DtoResultado <TDto> > ExecuteAcaoAutorizada(Func <ActionResult <DtoResultado <TDto> > > sucesso)
        {
            try
            {
                return(sucesso());
            }
            catch (Exception e)
            {
                var erros = Servico().Erros != null && Servico().Erros.Any() ? Servico().Erros : new List <DtoErro> {
                    new DtoErro {
                        Campo = string.Empty, Mensagem = e.Message
                    }
                };
                var dtoResultado = DtoResultado <TDto> .ObtenhaResultado(e, erros.ToList());

                return(BadRequest(dtoResultado));
            }
        }
        public ActionResult <DtoResultado <JObject> > ConsulteComFiltro(
            string enunciado          = null,
            int nivelDificuldade      = -1,
            int tipo                  = -1,
            string disciplina         = null,
            string areaDeConhecimento = null,
            int tempoEsperadoResposta = 0,
            string usuario            = null,
            string id                 = null,
            string[] tags             = null
            )
        {
            var filtro = new Filtro
            {
                AreaDeConhecimento = new DtoAreaDoConhecimento {
                    Codigo = areaDeConhecimento
                },
                Disciplina = new DtoDisciplina {
                    Codigo = disciplina
                },
                NivelDificuldade      = nivelDificuldade != -1 ? (NivelDificuldade)nivelDificuldade : new NivelDificuldade?(),
                TempoEsperadoResposta = tempoEsperadoResposta,
                Tipo      = (TipoQuestao)tipo,
                Usuario   = usuario,
                Enunciado = string.IsNullOrEmpty(enunciado) ? null : enunciado.Split(" ").ToList(),
                Tags      = tags.ToList(),
                Id        = id
            };

            if (tipo == 0)
            {
                filtro.Tipo = TipoQuestao.Discursiva;
                var retorno = FabricaGenerica.Crie <IServicoQuestao <Discursiva, DtoQuestaoDiscursiva> >().Consulte(filtro);
                return(Ok(DtoResultado <JObject> .ObtenhaResultado(new { Discursiva = retorno, MultiplaEscolha = new List <JObject>(), AssociacaoDeColunas = new List <JObject>(), VerdadeiroOuFalso = new List <JObject>() }, "Consulta realizada sem erros")));
            }
            else if (tipo == 1)
            {
                filtro.Tipo = TipoQuestao.MultiplaEscolha;
                var retorno = FabricaGenerica.Crie <IServicoQuestao <MultiplaEscolha, DtoQuestaoMultiplaEscolha> >().Consulte(filtro);
                return(Ok(DtoResultado <JObject> .ObtenhaResultado(new { Discursiva = new List <JObject>(), MultiplaEscolha = retorno, AssociacaoDeColunas = new List <JObject>(), VerdadeiroOuFalso = new List <JObject>() }, "Consulta realizada sem erros")));
            }
            else if (tipo == 2)
            {
                filtro.Tipo = TipoQuestao.Associacao;
                var retorno = FabricaGenerica.Crie <IServicoQuestao <AssociacaoDeColunas, DtoQuestaoAssociacaoDeColunas> >().Consulte(filtro);
                return(Ok(DtoResultado <JObject> .ObtenhaResultado(new { Discursiva = new List <JObject>(), MultiplaEscolha = new List <JObject>(), AssociacaoDeColunas = retorno, VerdadeiroOuFalso = new List <JObject>() }, "Consulta realizada sem erros")));
            }
            else if (tipo == 3)
            {
                filtro.Tipo = TipoQuestao.VerdadeiroOuFalso;
                var retorno = FabricaGenerica.Crie <IServicoQuestao <VerdadeiroOuFalso, DtoQuestaoVerdadeiroOuFalso> >().Consulte(filtro);
                return(Ok(DtoResultado <JObject> .ObtenhaResultado(new { Discursiva = new List <JObject>(), MultiplaEscolha = new List <JObject>(), AssociacaoDeColunas = new List <JObject>(), VerdadeiroOuFalso = retorno }, "Consulta realizada sem erros")));
            }
            else
            {
                filtro.Tipo = TipoQuestao.Discursiva;
                var retornoQuestaoDiscursiva = FabricaGenerica.Crie <IServicoQuestao <Discursiva, DtoQuestaoDiscursiva> >().Consulte(filtro);
                filtro.Tipo = TipoQuestao.MultiplaEscolha;
                var retornoQuestaoMultiplaEscolha = FabricaGenerica.Crie <IServicoQuestao <MultiplaEscolha, DtoQuestaoMultiplaEscolha> >().Consulte(filtro);
                filtro.Tipo = TipoQuestao.Associacao;
                var retornoAssociacao = FabricaGenerica.Crie <IServicoQuestao <AssociacaoDeColunas, DtoQuestaoAssociacaoDeColunas> >().Consulte(filtro);
                filtro.Tipo = TipoQuestao.VerdadeiroOuFalso;
                var retornoVerdadeiroOuFalso = FabricaGenerica.Crie <IServicoQuestao <VerdadeiroOuFalso, DtoQuestaoVerdadeiroOuFalso> >().Consulte(filtro);

                return(Ok(DtoResultado <JObject> .ObtenhaResultado(new { Discursiva = retornoQuestaoDiscursiva, MultiplaEscolha = retornoQuestaoMultiplaEscolha, AssociacaoDeColunas = retornoAssociacao, VerdadeiroOuFalso = retornoVerdadeiroOuFalso }, "Consulta realizada sem erros")));
            }
        }