Esempio n. 1
0
        public async Task Create(Questionario quiz)
        {
            if (!base.Validate(new QuestionarioValidation(), quiz))
            {
                return;
            }

            foreach (var question in quiz.Perguntas)
            {
                if (!base.Validate(new PerguntaValidation(), question))
                {
                    return;
                }
                if (question.Opcoes.Count > 0)
                {
                    foreach (var option in question.Opcoes)
                    {
                        if (!base.Validate(new OpcaoValidation(), option))
                        {
                            return;
                        }
                    }
                }
            }

            if (!IsValidPeriod(quiz.DataInicio))
            {
                return;
            }

            await _repository.Create(quiz);
        }
        public async Task <IActionResult> Edit(int id, [Bind("Codigo,Descricao")] Questionario questionario)
        {
            if (id != questionario.Codigo)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(questionario);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!QuestionarioExists(questionario.Codigo))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(questionario));
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            var          idQuestionario = Guid.NewGuid();
            Questionario questionario   = new Questionario(idQuestionario, "Padrões de Projetos");

            var idPergunta1 = Guid.NewGuid();

            questionario.AddPergunta(idPergunta1, "Qual o padrão de projeto mais utilizado?");

            var idOp1 = Guid.NewGuid();
            var idOp2 = Guid.NewGuid();
            var idOp3 = Guid.NewGuid();
            var idOp4 = Guid.NewGuid();

            questionario.GetPergunta(idPergunta1)
            .AddOpcaoResposta(idOp1, "Visitor", false)
            .AddOpcaoResposta(idOp2, "Memento", false)
            .AddOpcaoResposta(idOp3, "Decorator", false)
            .AddOpcaoResposta(idOp4, "Facade", true);

            Console.WriteLine(questionario.ToString());

            QuestionarioResposta questionarioResposta = new QuestionarioResposta(questionario);

            questionarioResposta.AddResposta(idPergunta1, idOp2);

            Console.WriteLine(questionarioResposta.ToString());
            Console.ReadLine();
        }
        public ActionResult Create(int?id)
        {
            var areas       = AreaCandidaturaRepositorio.BuscarTodas();
            var tempoExames = TempoExameRepositorio.BuscarTodos();

            Questionario questionaTemp;

            if (id == null || id == 0)
            {
                questionaTemp = new Questionario
                {
                    TempoExameId      = tempoExames[0].Id,
                    AreaCandidaturaId = areas[0].Id,
                    Titulo            = QuestionarioRepositorio.GerarNomeAutomatico(),
                    UsuarioId         = UsuarioRepositorio.BuscarPeloEmail(User.Identity.Name).Id,
                    DataCadastro      = DateTime.Now,
                    Ativo             = true
                };

                var questId = QuestionarioRepositorio.Salvar(questionaTemp);
                questionaTemp = QuestionarioRepositorio.BuscarPeloId(questId);
            }
            else
            {
                questionaTemp = QuestionarioRepositorio.BuscarPeloId(id);
            }

            ViewBag.QuestionarioId   = questionaTemp.Id;
            ViewBag.UsuarioId        = questionaTemp.UsuarioId;
            ViewBag.AreaCandidaturas = areas;
            ViewBag.Tempo            = tempoExames;
            ViewBag.TotalPerguntas   = questionaTemp.TotalPerguntas();
            return(View(questionaTemp));
        }
        public QuestionarioViewModel ObterPorGuid(string guid)
        {
            var dados = new Questionario().Obter(guid);

            if (dados != null)
            {
                return(new QuestionarioViewModel()
                {
                    Id = dados.Id,
                    Nome = dados.Nome,
                    Inicio = dados.Inicio,
                    Fim = dados.Fim,
                    MsgFeedback = dados.MsgFeedback,
                    Guid = dados.Guid,
                    Imagem64 = dados.Imagem64,
                    UsuarioId = dados.UsuarioId,
                    Perguntas = null,
                    Usuario = null
                });
            }
            else
            {
                return(null);
            }
        }
Esempio n. 6
0
 public ActionResult DeleteConfirmed(long id)
 {
     Questionario questionario = db.Questionarios.Find(id);
     db.Questionarios.Remove(questionario);
     db.SaveChanges();
     return RedirectToAction("Index");
 }
Esempio n. 7
0
        public GenericResult <Questionario> Create(Questionario questionario)
        {
            var result = new GenericResult <Questionario>();

            var validatorResult = validator.Validate(questionario);

            if (validatorResult.IsValid)
            {
                try
                {
                    result.Result  = this.repository.Create(questionario);
                    result.Success = true;
                }
                catch (Exception ex)
                {
                    result.Errors = new string[] { ex.Message };
                }
            }
            else
            {
                result.Errors = validatorResult.GetErrors();
            }

            return(result);
        }
Esempio n. 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.lkbDadosQuestionario.Attributes.Add("class", "collapsed");
                this.lkbQuestoes.Attributes.Add("class", "collapsed");

                this.LimparQuestionarioDaSessao();
                this.PreencherCombos();

                //Update, ou seja, estamos alterado os dados de um questionário
                if (Session["QuestionarioEdit"] != null)
                {
                    this.IdQuestionario = int.Parse(Session["QuestionarioEdit"].ToString());
                    questionarioEdicao  = manterQuestionario.ObterQuestionarioPorID(this.IdQuestionario);
                    this.AtualizarQuestionarioDaSessao(questionarioEdicao);
                    this.PreencherCampos(questionarioEdicao);
                    pnlOpcoesQuestionario.Visible = true;
                    base.ExibirTab(this.lkbDadosQuestionario, collapseDados);
                }
            }

            try
            {
                //Faz o Log de Acesso
                base.LogarAcessoFuncionalidade();
            }
            catch (AcademicoException ex)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
            }
        }
        public int Registrar(Questionario questionario)
        {
            string chars  = "abcdefghjkmnpqrstuvwxyz0123456789";
            string pass   = "";
            Random random = new Random();

            for (int f = 0; f < 12; f++)
            {
                pass = pass + chars.Substring(random.Next(0, chars.Length - 1), 1);
            }
            questionario.Url = pass;
            connectionStringBuilder.DataSource = "Database/agrotools.db";
            using (var connection = new SqliteConnection(connectionStringBuilder.ConnectionString))
            {
                connection.Open();
                using (var transaction = connection.BeginTransaction())
                {
                    var cmd = connection.CreateCommand();
                    cmd.CommandText = "INSERT INTO Questionarios(Titulo,URL,Descricao,ID_Usuario) values (@titulo,@url,@descricao,@id_user)";
                    cmd.Parameters.AddWithValue("@titulo", questionario.Titulo);
                    cmd.Parameters.AddWithValue("@url", questionario.Url);
                    cmd.Parameters.AddWithValue("@descricao", questionario.Descricao);
                    cmd.Parameters.AddWithValue("@id_user", questionario.ID_Usuario);

                    cmd.ExecuteNonQuery();

                    transaction.Commit();
                }
                connection.Close();
            }
            return(buscar(questionario.Url).ID);
        }
        public List <Questionario> ListarQuestionarios(int id)
        {
            List <Questionario> questionarios = new List <Questionario>();

            connectionStringBuilder.DataSource = "Database/agrotools.db";
            using (var connection = new SqliteConnection(connectionStringBuilder.ConnectionString))
            {
                connection.Open();

                var cmd = connection.CreateCommand();

                cmd.CommandText = "SELECT * FROM Questionarios WHERE ID_Usuario = @id;";
                cmd.Parameters.AddWithValue("@id", id);

                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Questionario questionario = new Questionario();
                        questionario.ID         = Convert.ToInt32(reader.GetString(0));
                        questionario.Titulo     = reader.GetString(1);
                        questionario.Url        = reader.GetString(2);
                        questionario.Descricao  = reader.GetString(3);
                        questionario.ID_Usuario = Convert.ToInt32(reader.GetString(4));

                        questionarios.Add(questionario);
                    }
                }
                connection.Close();
            }
            return(questionarios);
        }
Esempio n. 11
0
        //apagar
        public void GerarAnexosProcesso(List <Questionario> questionariosRespondidos)
        {
            Questionario questionario = questionariosRespondidos.First();
            int          processoId   = (int)questionario.ProcessoPeticao.ProcessoId;

            string peticao       = questionario.ProcessoPeticao.PeticaoModelo.PeticaoModificada;
            var    anexosPeticao = ExtrairAnexosPeticao(peticao);

            foreach (var anexoPeticao in anexosPeticao)
            {
                //se o titulo do trecho não tiver nenhuma resposta no questionario, exclua os anexos vinculados ao trecho.
                if (!questionariosRespondidos.Any(q => q.TituloTrecho == anexoPeticao.TituloTrecho && q.Resposta != null))
                {
                    anexosPeticao.RemoveAll(a => a.TituloTrecho == anexoPeticao.TituloTrecho);
                }
            }
            //inclua no bd se já não estiver incluido
            foreach (var anexoPeticao in anexosPeticao)
            {
                if (!db.ProcessoDocumentoes.Any(pd => pd.ProcessoId == processoId && pd.ProcessoDocumentoId == anexoPeticao.AnexoId))
                {
                    db.ProcessoDocumentoes.Add(new ProcessoDocumento {
                        ProcessoId = processoId, DocumentoId = anexoPeticao.AnexoId
                    });
                }
            }
            db.SaveChanges();
        }
        public List <QuestionarioViewModel> ObterPorPalavraChave(int userId, string chave)
        {
            var dados = new Questionario().ObterPorPalavraChave(userId, chave);

            if (dados != null && dados.Count > 0)
            {
                return((
                           from d in dados
                           select new QuestionarioViewModel()
                {
                    Id = d.Id,
                    Nome = d.Nome,
                    Inicio = d.Inicio,
                    Fim = d.Fim,
                    MsgFeedback = d.MsgFeedback,
                    Guid = d.Guid,
                    Imagem64 = d.Imagem64,
                    UsuarioId = d.UsuarioId,
                    Perguntas = null,
                    Usuario = null
                }
                           ).ToList());
            }
            else
            {
                return(null);
            }
        }
Esempio n. 13
0
        public void ExcluirQuestionario(int idQuestionario, Usuario usuarioLogado)
        {
            try
            {
                Questionario questionario = null;

                if (idQuestionario > 0)
                {
                    questionario = bmQuestionario.ObterPorId(idQuestionario);
                }

                if (questionario == null)
                {
                    throw new AcademicoException("Questionário não encontrado");
                }

                // Verificar se o gestor logado tem permissão para remover o questionário.
                if (usuarioLogado.IsGestor() && (questionario.Uf == null || questionario.Uf.ID != usuarioLogado.UF.ID))
                {
                    throw new AcademicoException("Você não tem permissão para remover este questionário");
                }

                bmQuestionario.Excluir(questionario);
            }
            catch (AcademicoException ex)
            {
                throw ex;
            }
        }
        public List <QuestionarioViewModel> ObterPorUsuario(int id)
        {
            var dados = new Questionario().ObterPorUsuario(id);

            if (dados != null && dados.Count > 0)
            {
                return((from d in dados
                        select new QuestionarioViewModel()
                {
                    Id = d.Id,
                    Nome = d.Nome,
                    Inicio = d.Inicio,
                    Fim = d.Fim,
                    MsgFeedback = d.MsgFeedback,
                    Guid = d.Guid,
                    UsuarioId = d.UsuarioId,
                    Perguntas = null,
                    Usuario = null
                }).ToList());
            }
            else
            {
                return(null);
            }
        }
Esempio n. 15
0
        public void ValidarEdicaoQuestionarioPorGestorUF()
        {
            var listaPerfil = new List <UsuarioPerfil>();

            var usuario = new Usuario
            {
                UF = new Uf
                {
                    ID = (int)enumUF.NA
                }
            };

            var questionario = new Questionario
            {
                Uf = new Uf
                {
                    ID = (int)enumUF.NA
                }
            };

            usuario.ListaPerfil.Add(new UsuarioPerfil
            {
                Usuario = usuario,
                Perfil  = new Perfil
                {
                    ID = (int)enumPerfil.GestorUC
                }
            });

            Assert.IsTrue(questionario.TratarEdicaoQuestionario(usuario));
        }
Esempio n. 16
0
        public QuestionarioViewModel Obter(int id, int idUsuario)
        {
            var dados = new Questionario().Obter(id, idUsuario);

            if (dados != null)
            {
                return new QuestionarioViewModel()
                       {
                           Id          = dados.Id,
                           Nome        = dados.Nome,
                           Inicio      = dados.Inicio,
                           Fim         = dados.Fim,
                           MsgFeedback = dados.MsgFeedback,
                           Guid        = dados.Guid,
                           UsuarioId   = dados.UsuarioId,
                           Perguntas   = null,
                           Usuario     = null
                       }
            }
            ;
            else
            {
                return(null);
            }
        }
Esempio n. 17
0
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                if (Session["QuestionarioEdit"] == null)
                {
                    manterQuestionario = new ManterQuestionario();
                    questionarioEdicao = ObterObjetoQuestionario();
                    manterQuestionario.IncluirQuestionario(questionarioEdicao);
                    this.LimparQuestionarioDaSessao();
                }
                else
                {
                    //this.SetarAcaoDaTela(enumAcaoTelaQuestionario.EdicaoDeUmItem);
                    questionarioEdicao = ObterObjetoQuestionario();
                    manterQuestionario.AlterarQuestionario(questionarioEdicao);
                    this.LimparQuestionarioDaSessao();
                }

                Session.Remove("QuestionarioEdit");
            }
            catch (AcademicoException ex)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
                return;
            }

            WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados Gravados com Sucesso !", "ListarQuestionario.aspx");
        }
        public async Task <IActionResult> Create([Bind("QuestionarioId,Area")] Questionario questionario, string perguntasJson)
        {
            var verificaExistenciaQuestionario = await _context.Questionario.AnyAsync(x => x.Area == questionario.Area);

            if (verificaExistenciaQuestionario)
            {
                ViewBag.Info = "Já existe um questionario para essa area.";
                return(View("ShowInfo"));
            }

            var perguntas = JsonConvert.DeserializeObject <List <Pergunta> >(perguntasJson);

            questionario.Perguntas = perguntas;
            if (ModelState.IsValid)
            {
                if (perguntas.Any(x =>
                                  x.TipoResposta != TipoRespostaEnum.SimNao && x.TipoResposta != TipoRespostaEnum.RespostaAberta))
                {
                    //Deve selecionar 1 tipo de resposta
                    return(View(questionario));
                }


                _context.Add(questionario);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }
            return(View(questionario));
        }
        public Questionario buscar(string url)
        {
            Questionario questionario = new Questionario();

            connectionStringBuilder.DataSource = "Database/agrotools.db";
            using (var connection = new SqliteConnection(connectionStringBuilder.ConnectionString))
            {
                connection.Open();

                var cmd = connection.CreateCommand();

                cmd.CommandText = "SELECT * FROM Questionarios WHERE URL = @url;";
                cmd.Parameters.AddWithValue("@url", url);

                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        questionario.ID         = Convert.ToInt32(reader.GetString(0));
                        questionario.Titulo     = reader.GetString(1);
                        questionario.Url        = reader.GetString(2);
                        questionario.Descricao  = reader.GetString(3);
                        questionario.ID_Usuario = Convert.ToInt32(reader.GetString(4));

                        return(questionario);
                    }
                }
                connection.Close();
            }
            return(null);
        }
Esempio n. 20
0
 private void PreencherGridDeItensDoQuestionario(Questionario questionario)
 {
     if (questionario != null && questionario.ListaItemQuestionario != null && questionario.ListaItemQuestionario.Count > 0)
     {
         WebFormHelper.PreencherGrid(questionario.ListaItemQuestionario, this.dgvItensDoQuestionario);
     }
 }
Esempio n. 21
0
        public void IniciarRespostaQuestionario(Questionario questionario)
        {
            hdnIdQuestionario.Value = questionario.ID.ToString();

            rptQuestionario.DataSource = questionario.ListaItemQuestionario;
            rptQuestionario.DataBind();
        }
        public void Criar(string descricao, int idCategoria, int idUsuarioCriador)
        {
            Context.Response.Clear();
            using (var context = new Context())
            {
                var categoria = context.DbCategorias.Where(c => c.IdCategoria.Equals(idCategoria)).FirstOrDefault();
                var usuario   = context.DbUsuarios.Where(c => c.IdUsuario == idUsuarioCriador).FirstOrDefault();

                var questionario = new Questionario
                {
                    Descricao        = descricao,
                    IdCategoria      = idCategoria,
                    Categoria        = categoria,
                    IdUsuarioCriador = idUsuarioCriador,
                    // UsuarioCriador = usuario
                };

                context.Set <Questionario>().Add(questionario);
                context.SaveChanges();


                var retornoAnon = new
                {
                    uid       = questionario.IdQuestionario,
                    descricao = questionario.Descricao,
                    categoria = questionario.IdCategoria,
                    criador   = questionario.IdUsuarioCriador
                };

                var serializer = new JavaScriptSerializer();
                Context.Response.Write(serializer.Serialize(retornoAnon));
            }
        }
 public fmrConcluirQuestionario(Questionario questionario, int tempoGasto)
 {
     this.tempoGasto   = tempoGasto;
     this.questionario = questionario;
     FormBorderStyle   = FormBorderStyle.None;
     InitializeComponent();
     MostrarInformacoes();
 }
Esempio n. 24
0
 public fmrConfirmarAcessoQuestionario(Questionario questionario)
 {
     InitializeComponent();
     this.questionario = questionario;
     CarregarInformacoesDoQuestionario();
     FormBorderStyle = FormBorderStyle.None;
     lblErro.Visible = false;
 }
Esempio n. 25
0
        public ActionResult GravarQuestionario(Questionario quest)
        {
            quest.Cliente = Cliente;

            DbFactory.Instance.QuestionarioRepository.SaveOrUpdate(quest);

            return(RedirectToAction("Login", "Index"));
        }
Esempio n. 26
0
        public ActionResult Questoes(long id)
        {
            Questionario questionario = db.Questionarios.Find(id);

            PreencherViewBagQuestoes(questionario);

            return View(questionario);
        }
Esempio n. 27
0
 //
 // GET: /Questionario/Edit/5
 public ActionResult Edit(long id = 0)
 {
     Questionario questionario = db.Questionarios.Find(id);
     if (questionario == null)
     {
         return HttpNotFound();
     }
     return View(questionario);
 }
Esempio n. 28
0
        private void CarregarFormDeConfirmarAcesso(Questionario questionario)
        {
            var show = new fmrConfirmarAcessoQuestionario(questionario);

            show.MdiParent = ActiveForm;
            show.Dock      = DockStyle.Fill;
            show.Show();
            Close();
        }
Esempio n. 29
0
        private void PreencherViewBagQuestoes(Questionario questionario)
        {
            List<Questao> questoes = db.Questoes.Where(q => q.Professor.Id == UsuarioLogado.User.Id).ToList();

            foreach (var questao in questoes)
                questao.Selected = questionario.Questoes.Contains(questao);

            ViewBag.Questoes = questoes.GroupBy(q => q.Tag).ToList();
        }
Esempio n. 30
0
 public void IncluirQuestionarioPermissao(List <QuestionarioPermissao> questionarioPermissao,
                                          Questionario questionario)
 {
     foreach (var item in questionarioPermissao)
     {
         item.Questionario.ID = questionario.ID;
         new BMQuestionarioPermissao().Salvar(item);
     }
 }