コード例 #1
0
 public Fato(int id, string nome, TipoResposta tipo, Resposta[] respostas)
 {
     Nome      = nome;
     Id        = id;
     Tipo      = tipo;
     Respostas = new List <Resposta>(respostas);
 }
コード例 #2
0
        /// <summary>
        /// Deleta um tipo resposta
        /// </summary>
        /// <param name="id">ID do tipo resposta que será deletado</param>
        public void Deletar(int id)
        {
            TipoResposta tipoRespostaBuscada = ctx.TipoResposta.Find(id);

            ctx.TipoResposta.Remove(tipoRespostaBuscada);

            ctx.SaveChanges();
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            TipoResposta tipoResposta = db.TipoRespostas.Find(id);

            db.TipoRespostas.Remove(tipoResposta);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        public Fato CriarFato(string nome, TipoResposta tipo, Resposta[] respostas)
        {
            var fato = new Fato(j_Data.Fatos_UltimoID++, nome, tipo, respostas);

            j_Data.fatos.Add(fato);

            SaveAllData();
            return(fato);
        }
コード例 #5
0
 public ActionResult Edit([Bind(Include = "IdTipoResposta,DescricaoTipoResposta,TipoRespostaStatus")] TipoResposta tipoResposta)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tipoResposta).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tipoResposta));
 }
コード例 #6
0
 private bool VerificaRespostaBaseadoNoTipo(TipoResposta tipo, Operador operador, Resposta respostaRegra, Resposta respostaUsuario)
 {
     if (tipo == TipoResposta.Numerico)
     {
         return(VerificacoesRespostaNumerica(operador, respostaRegra, respostaUsuario));
     }
     else
     {
         return(VerificacoesRespostaBooleana(operador, respostaRegra, respostaUsuario));
     }
 }
コード例 #7
0
        public ActionResult Create([Bind(Include = "IdTipoResposta,DescricaoTipoResposta,TipoRespostaStatus")] TipoResposta tipoResposta)
        {
            if (ModelState.IsValid)
            {
                db.TipoRespostas.Add(tipoResposta);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(tipoResposta));
        }
コード例 #8
0
        /// <summary>
        /// Busca um tipo resposta por ID
        /// </summary>
        /// <param name="id">ID do tipo resposta que será buscado</param>
        /// <returns>Um tipo resposta buscado</returns>
        public TipoResposta BuscarPorId(int id)
        {
            TipoResposta tipoRespostaBuscada = ctx.TipoResposta

                                               .FirstOrDefault(e => e.IdTipoResposta == id);

            if (tipoRespostaBuscada != null)
            {
                return(tipoRespostaBuscada);
            }
            return(null);
        }
コード例 #9
0
        public ActionResult BuscarTiposDeResposta()
        {
            List <TipoResposta> lista = new List <TipoResposta>();

            string sql = @"select tr.UniqueKey as UKTipoResposta, tr.Nome as TipoResposta, tri.Uniquekey as UKTipoRespostaItem, tri.nome as TipoRespostaItem
                           from tbTipoResposta tr
		                          left join tbTipoRespostaItem  tri on tr.UniqueKey = tri.UKTipoResposta and tri.DataExclusao =CAST('9999-12-31 23:59:59.997' as datetime2)
                           where tr.DataExclusao =CAST('9999-12-31 23:59:59.997' as datetime2) order by tr.Nome, tri.ordem ";

            DataTable result = TipoRespostaBusiness.GetDataTable(sql);

            if (result.Rows.Count > 0)
            {
                foreach (DataRow row in result.Rows)
                {
                    TipoResposta temp = lista.FirstOrDefault(a => a.UniqueKey.ToString().Equals(row["UKTipoResposta"].ToString()));
                    if (temp == null)
                    {
                        TipoResposta obj = new TipoResposta()
                        {
                            UniqueKey     = Guid.Parse(row["UKTipoResposta"].ToString()),
                            Nome          = row["TipoResposta"].ToString(),
                            TiposResposta = new List <TipoRespostaItem>()
                        };

                        if (!string.IsNullOrEmpty(row["UKTipoRespostaItem"].ToString()))
                        {
                            obj.TiposResposta.Add(new TipoRespostaItem()
                            {
                                UniqueKey = Guid.Parse(row["UKTipoRespostaItem"].ToString()),
                                Nome      = row["TipoRespostaItem"].ToString()
                            });
                        }

                        lista.Add(obj);
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(row["UKTipoRespostaItem"].ToString()))
                        {
                            temp.TiposResposta.Add(new TipoRespostaItem()
                            {
                                UniqueKey = Guid.Parse(row["UKTipoRespostaItem"].ToString()),
                                Nome      = row["TipoRespostaItem"].ToString()
                            });
                        }
                    }
                }
            }

            return(PartialView("_BuscarTiposDeResposta", lista));
        }
コード例 #10
0
        public IActionResult Post(TipoResposta novoTipoResposta)
        {
            try
            {
                _tipoRespostaRepository.Cadastrar(novoTipoResposta);

                return(StatusCode(201));
            }
            catch (Exception error)
            {
                return(BadRequest(error));
            }
        }
コード例 #11
0
        public IActionResult Delete(int id)
        {
            try
            {
                TipoResposta tipoRespostaBuscada = _tipoRespostaRepository.BuscarPorId(id);
                _tipoRespostaRepository.Deletar(id);

                return(StatusCode(204));
            }
            catch (Exception error)
            {
                return(BadRequest(error));
            }
        }
コード例 #12
0
        // GET: TipoResposta/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoResposta tipoResposta = db.TipoRespostas.Find(id);

            if (tipoResposta == null)
            {
                return(HttpNotFound());
            }
            return(View(tipoResposta));
        }
コード例 #13
0
        private void AlteraRadio(TipoResposta opcao)
        {
            Respostas.Clear();
            switch (opcao)
            {
            case TipoResposta.Univalorado:
            {
                min_label.Hide();
                max_label.Hide();
                resp_min_txtbox.Hide();
                max_txtbox.Hide();
                addResposta_btn.Hide();
                resposta_label.Hide();

                GerarRespostasUnivalorado();

                removerResposta_btn.Enabled = false;
            }
            break;

            case TipoResposta.Multivalorado:
            {
                min_label.Hide();
                max_label.Hide();
                resp_min_txtbox.Show();
                max_txtbox.Hide();
                addResposta_btn.Show();
                resposta_label.Show();

                removerResposta_btn.Enabled = true;
            }
            break;

            case TipoResposta.Numerico:
            {
                min_label.Show();
                max_label.Show();
                resp_min_txtbox.Show();
                max_txtbox.Show();
                addResposta_btn.Hide();
                resposta_label.Show();

                removerResposta_btn.Enabled = false;
            }
            break;
            }
            AtualizaListBoxRespostas();
        }
コード例 #14
0
        /// <summary>
        /// Atualiza um tipo resposta existente
        /// </summary>
        /// <param name="id">ID do tipo resposta que será atualizado</param>
        /// <param name="tipoRespostaAtualizada">Objeto com as novas informações</param>
        public void Atualizar(int id, TipoResposta tipoRespostaAtualizada)
        {
            TipoResposta TipoRespostaBuscada = ctx.TipoResposta.Find(id);

            if (TipoRespostaBuscada != null)
            {
                if (tipoRespostaAtualizada.NomeTipoResposta != null)
                {
                    TipoRespostaBuscada.NomeTipoResposta = TipoRespostaBuscada.NomeTipoResposta;
                }

                if (tipoRespostaAtualizada.Resposta != null)
                {
                    TipoRespostaBuscada.Resposta = TipoRespostaBuscada.Resposta;
                }
            }
        }
コード例 #15
0
        public ActionResult Cadastrar(TipoResposta entidade)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (string.IsNullOrEmpty(entidade.Nome))
                    {
                        throw new Exception("Informe o nome da resposta de múltipla escolha.");
                    }

                    entidade.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    TipoRespostaBusiness.Inserir(entidade);

                    Extensions.GravaCookie("MensagemSucesso", "O tipo de resposta '" + entidade.Nome + "' foi cadastrado com sucesso.", 10);

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("Index", "TipoResposta")
                                      } }));
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }
コード例 #16
0
        public ActionResult Terminar(string id)
        {
            try
            {
                Guid         UKDep = Guid.Parse(id);
                TipoResposta temp  = TipoRespostaBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKDep));
                if (temp == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = "Não foi possível excluir o tipo de resposta, pois a mesmo não foi localizado na base de dados."
                                      } }));
                }

                temp.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                TipoRespostaBusiness.Terminar(temp);

                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Sucesso = "O tipo de resposta '" + temp.Nome + "' foi excluído com sucesso."
                                  } }));
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
コード例 #17
0
        static public string[] ListarOperadores(TipoResposta tipo)
        {
            List <string> str = new List <string>();

            var OperadorMax = Operador.Igual; // = 0;

            if (tipo == TipoResposta.Numerico)
            {
                OperadorMax = Operador.Menor_Igual;
            }
            else
            {
                OperadorMax = Operador.Diferente;
            }


            for (int i = 0; i < (int)OperadorMax + 1; i++)
            {
                str.Add(ParseOperador((Operador)i));
            }

            return(str.ToArray());
        }
コード例 #18
0
        private void ExtrairDados()
        {
            var caminho  = Path.Combine(Config.GitBase, Projeto.TXT_DIRETORIO, $"bin\\Debug\\netcoreapp2.2\\{Projeto.TXT_NAMESPACE}.dll");
            var assembly = Assembly.LoadFile(caminho);

            var caminhoEntidades = $"{Config.GitBase}\\{Projeto.Sistema.TXT_DIRETORIO_ENTIDADES}\\bin\\Debug\\netstandard2.0\\{Projeto.Sistema.TXT_NAMESPACE_ENTIDADES}.dll";

            CarregarDLL(caminhoEntidades);

            var controllers = AppDomain.CurrentDomain.GetAssemblies()
                              .Single(x => x.GetName().Name == assembly.GetName().Name)
                              .GetTypes()
                              .Where(x
                                     => x.BaseType.Name == "BaseController" &&
                                     !x.Name.Contains("Base")
                                     )
                              .ToList();

            foreach (var controller in controllers)
            {
                var serviceObj = new Service
                {
                    Nome    = controller.Name.Replace("Controller", ""),
                    Metodos = new List <ServiceMetodo>(),
                    Imports = new List <string>()
                };

                var endpoints = controller
                                .GetMethods()
                                .Where(x => x.DeclaringType.Name == controller.Name)
                                .ToList();

                foreach (var endpoint in endpoints)
                {
                    var httpMethodAttribute = endpoint.CustomAttributes.FirstOrDefault(x => x.AttributeType.BaseType.Name == "HttpMethodAttribute");

                    if (httpMethodAttribute == null)
                    {
                        throw new Exception($"Nenhum atributo HttpGet ou HttpPost encontrado no método {endpoint.Name}");
                    }

                    var caminhoRota = httpMethodAttribute.ConstructorArguments.Count > 0 ? (string)httpMethodAttribute.ConstructorArguments[0].Value : "";
                    caminhoRota = caminhoRota.Replace("{", "${");
                    var tipoRota = httpMethodAttribute.AttributeType.Name == "HttpGetAttribute" ? "GET" : "POST";

                    TipoResposta resposta = TipoResposta.Normal;
                    var          retorno  = "any";

                    var retornoAttr = endpoint.CustomAttributes.FirstOrDefault(x => x.AttributeType.Name == nameof(RetornoAttribute));

                    if (retornoAttr != null)
                    {
                        // Busca o tipo de retorno
                        retorno = (string)retornoAttr.ConstructorArguments[0].Value;

                        // Verifica se é uma lista
                        if ((bool)retornoAttr.ConstructorArguments[1].Value)
                        {
                            retorno = $"Array<{retorno}>";
                        }

                        resposta = (TipoResposta)retornoAttr.ConstructorArguments[2].Value;
                    }

                    var metodoObj = new ServiceMetodo
                    {
                        Nome       = endpoint.Name,
                        Rota       = caminhoRota,
                        Tipo       = tipoRota,
                        Retorno    = retorno,
                        Resposta   = resposta.ToDescriptionString(),
                        Parametros = new List <ServiceParametro>()
                    };

                    // Extrair parametros
                    var parametros = endpoint.GetParameters();

                    foreach (var parametro in parametros)
                    {
                        var paramAttrs = parametro.CustomAttributes.FirstOrDefault(x => x.AttributeType.Name == "FromServicesAttribute");
                        if (paramAttrs == null)
                        {
                            var param = new ServiceParametro
                            {
                                Nome          = parametro.Name,
                                Tipo          = MapeiaTipoTS(parametro.ParameterType.Name),
                                IsQueryString = metodoObj.Rota.Contains($"{{{parametro.Name}}}")
                            };

                            metodoObj.Parametros.Add(param);

                            if (param.Tipo.Contains("Entidade") && !serviceObj.Imports.Contains(param.Tipo) && !string.IsNullOrEmpty(param.Tipo.Trim()))
                            {
                                serviceObj.Imports.Add(param.Tipo);
                            }
                        }
                    }

                    var ret = metodoObj.Retorno.Replace("Array<", "").Replace(">", "");
                    if (!serviceObj.Imports.Contains(ret) &&
                        ret != "string" &&
                        ret != "boolean" &&
                        ret != "number" &&
                        ret != "any")
                    {
                        serviceObj.Imports.Add(ret);
                    }

                    serviceObj.Metodos.Add(metodoObj);
                }

                ListaServices.Add(serviceObj);
            }

            DescarregarDLL();
        }
コード例 #19
0
        public ActionResult BuscarQuestionarioFluidos(string UKFonteGeradora)
        {
            try
            {
                Empregado oEmpregado = EmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                                                 a.CPF.Trim().Replace(".", "").Replace("-", "").Equals(CustomAuthorizationProvider.UsuarioAutenticado.Login));

                var UKEmpregado = oEmpregado.UniqueKey;


                ViewBag.UKEmpregado     = UKEmpregado;
                ViewBag.UKFonteGeradora = UKFonteGeradora;

                Questionario oQuest = null;

                string sql = @"select q.UniqueKey, q.Nome, q.Tempo, q.Periodo, q.UKEmpresa, 
	                                  p.UniqueKey as UKPergunta, p.Descricao as Pergunta, p.TipoResposta, p.Ordem, 
	                                  tr.UniqueKey as UKTipoResposta, tr.Nome as TipoResposta, 
	                                  tri.Uniquekey as UKTipoRespostaItem, tri.nome as TipoRespostaItem
                               from tbAdmissao a, tbQuestionario q
		                               left join tbPergunta  p on q.UniqueKey = p.UKQuestionario and p.DataExclusao ='9999-12-31 23:59:59.997' 
		                               left join tbTipoResposta  tr on tr.UniqueKey = p.UKTipoResposta and tr.DataExclusao ='9999-12-31 23:59:59.997' 
		                               left join tbTipoRespostaItem tri on tr.UniqueKey = tri.UKTipoResposta and tri.DataExclusao ='9999-12-31 23:59:59.997' 
                               where a.UKEmpregado = '" + UKEmpregado + @"' and a.DataExclusao = '9999-12-31 23:59:59.997' and
	                                 a.UKEmpresa = q.UKEmpresa and q.DataExclusao = '9999-12-31 23:59:59.997' and q.TipoQuestionario = 10 and q.Status = 1
                               order by p.Ordem, tri.Ordem";

                DataTable result = QuestionarioBusiness.GetDataTable(sql);
                if (result.Rows.Count > 0)
                {
                    oQuest           = new Questionario();
                    oQuest.UniqueKey = Guid.Parse(result.Rows[0]["UniqueKey"].ToString());
                    oQuest.Nome      = result.Rows[0]["Nome"].ToString();
                    oQuest.Periodo   = (EPeriodo)Enum.Parse(typeof(EPeriodo), result.Rows[0]["Periodo"].ToString(), true);
                    oQuest.Tempo     = int.Parse(result.Rows[0]["Tempo"].ToString());
                    oQuest.Perguntas = new List <Pergunta>();
                    oQuest.UKEmpresa = Guid.Parse(result.Rows[0]["UKEmpresa"].ToString());

                    //Guid UKEmp = Guid.Parse(UKEmpregado);
                    //Guid UKFonte = Guid.Parse(UKFonteGeradora);


                    string sql2 = @"select MAX(DataInclusao) as UltimoQuestRespondido
                                    from tbResposta
                                    where UKEmpregado = '" + UKEmpregado + @"' and 
                                          UKQuestionario = '" + result.Rows[0]["UniqueKey"].ToString() + @"' and 
                                          UKObjeto = '" + UKFonteGeradora + "'";

                    DataTable result2 = QuestionarioBusiness.GetDataTable(sql2);
                    if (result2.Rows.Count > 0)
                    {
                        if (!string.IsNullOrEmpty(result2.Rows[0]["UltimoQuestRespondido"].ToString()))
                        {
                            DateTime UltimaResposta = (DateTime)result2.Rows[0]["UltimoQuestRespondido"];

                            DateTime DataAtualMenosTempoQuestionario = DateTime.Now.Date;

                            var data = DateTime.Now.Date;

                            if (UltimaResposta.Date.CompareTo(data) >= 0)
                            {
                                return(PartialView("_CheclistFluido"));
                            }

                            //if (oQuest.Periodo == EPeriodo.Dia)
                            //{
                            //    DataAtualMenosTempoQuestionario = DataAtualMenosTempoQuestionario.AddDays(-oQuest.Tempo);
                            //}
                            //else if (oQuest.Periodo == EPeriodo.Mes)
                            //{
                            //    DataAtualMenosTempoQuestionario = DataAtualMenosTempoQuestionario.AddMonths(-oQuest.Tempo);
                            //}
                            //else if (oQuest.Periodo == EPeriodo.Ano)
                            //{
                            //    DataAtualMenosTempoQuestionario = DataAtualMenosTempoQuestionario.AddYears(-oQuest.Tempo);
                            //}

                            //if (UltimaResposta.CompareTo(DataAtualMenosTempoQuestionario) >= 0)
                            //{
                            //    return PartialView("_BuscarAPR");
                            //}
                        }
                    }

                    foreach (DataRow row in result.Rows)
                    {
                        if (!string.IsNullOrEmpty(row["UKPergunta"].ToString()))
                        {
                            if (!string.IsNullOrEmpty(row["UKPergunta"].ToString()))
                            {
                                Pergunta oPergunta = oQuest.Perguntas.FirstOrDefault(a => a.UniqueKey.ToString().Equals(row["UKPergunta"].ToString()));
                                if (oPergunta == null)
                                {
                                    oPergunta = new Pergunta()
                                    {
                                        UniqueKey    = Guid.Parse(row["UKPergunta"].ToString()),
                                        Descricao    = row["Pergunta"].ToString(),
                                        Ordem        = int.Parse(row["Ordem"].ToString()),
                                        TipoResposta = (ETipoResposta)Enum.Parse(typeof(ETipoResposta), row["TipoResposta"].ToString(), true)
                                    };

                                    if (!string.IsNullOrEmpty(row["UKTipoResposta"].ToString()))
                                    {
                                        TipoResposta oTipoResposta = new TipoResposta()
                                        {
                                            UniqueKey     = Guid.Parse(row["UKTipoResposta"].ToString()),
                                            Nome          = row["TipoResposta"].ToString(),
                                            TiposResposta = new List <TipoRespostaItem>()
                                        };

                                        if (!string.IsNullOrEmpty(row["UKTipoRespostaItem"].ToString()))
                                        {
                                            TipoRespostaItem oTipoRespostaItem = new TipoRespostaItem()
                                            {
                                                UniqueKey = Guid.Parse(row["UKTipoRespostaItem"].ToString()),
                                                Nome      = row["TipoRespostaItem"].ToString()
                                            };

                                            oTipoResposta.TiposResposta.Add(oTipoRespostaItem);
                                        }

                                        oPergunta._TipoResposta = oTipoResposta;
                                    }

                                    oQuest.Perguntas.Add(oPergunta);
                                }
                                else
                                {
                                    if (!string.IsNullOrEmpty(row["UKTipoRespostaItem"].ToString()))
                                    {
                                        TipoRespostaItem oTipoRespostaItem = new TipoRespostaItem()
                                        {
                                            UniqueKey = Guid.Parse(row["UKTipoRespostaItem"].ToString()),
                                            Nome      = row["TipoRespostaItem"].ToString()
                                        };

                                        oPergunta._TipoResposta.TiposResposta.Add(oTipoRespostaItem);
                                    }
                                }
                            }
                        }
                    }
                }



                return(PartialView("_CheclistFluido", oQuest));
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
コード例 #20
0
 /// <summary>
 /// Cadastra um novo tipo resposta
 /// </summary>
 /// <param name="novoTipoResposta">Objeto com as informações de cadastro</param>
 public void Cadastrar(TipoResposta novoTipoResposta)
 {
     ctx.TipoResposta.Add(novoTipoResposta);
     ctx.SaveChanges();
 }