Exemplo n.º 1
0
        public List<FormularioElemento> getComponenteElementos(int idComponente)
        {
            List<FormularioElemento> listaElementos = new List<FormularioElemento>();
            FormularioElemento formElemento;
            using (SqlConnection cn = new SqlConnection(helper.ConnectionString))
            {
                string sql = "select * from PC_Componente_Elementos_CEL INNER JOIN PC_Elementos_ELE ON CEL_ELE_ID = ELE_ID where CEL_CMP_ID = @CEL_CMP_ID";
                SqlParameter[] param = {
                                       new SqlParameter("@CEL_CMP_ID", idComponente)
                                   };
                cn.Open();
                try
                {
                    SqlDataReader reader = helper.ExecuteReader(CommandType.Text, sql, param);
                    while (reader.Read())
                    {
                        formElemento = new FormularioElemento();
                        formElemento.Id = Convert.ToInt32(reader["CEL_ID"]);
                        formElemento.IdComponente = Convert.ToInt32(reader["CEL_CMP_ID"]);
                        formElemento.IdTipoElemento = Convert.ToInt32(reader["ELE_TEL_ID"]);
                        formElemento.Titulo = reader["ELE_TITULO"].ToString();
                        formElemento.Ordem = Convert.ToInt32(reader["CEL_ORDEM"]);
                        formElemento.Css = reader["ELE_CSS"].ToString();
                        formElemento.Linha = Convert.ToInt32(reader["CEL_LINHA"]);
                        formElemento.Observacao = reader["ELE_OBS"].ToString();
                        formElemento.IsPost = Convert.ToBoolean(reader["ELE_IS_POST"]);
                        formElemento.IsObrigatorio = Convert.ToBoolean(reader["ELE_IS_OBRIGATORIO"]);
                        listaElementos.Add(formElemento);
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    cn.Close();
                }
            }

            return listaElementos;
        }
Exemplo n.º 2
0
        public void ValidacaoElementos( Data.DB _db, FormularioElemento elemento, ModelStateDictionary _modelState)
        {
            //eh tenso buscar no banco, mas elimina os engracadinhos mexendo nas propriedades no client
            //caso, reclamem de performance tempo, coloca no cliente, alimenta as view e manter as propriedades de validacao no get
            elemento.Validacoes = _db.getValidacoesElemento(elemento.Id);

            if (elemento.IdTipoElemento == 2) //textbox
            {
                //OBRIGATORIO, é propriedade do elemento
                if (elemento.IsObrigatorio && (elemento.Respostas.DsResposta == null || elemento.Respostas.DsResposta.Length == 0))
                    _modelState.AddModelError(elemento.NameClient + ".Respostas.DsResposta", elemento.Titulo + " é obrigatório.");

                //aqui embaixo é relacionamento, criando Registro na Validação, precisa implementar algo em algum tipo de elemento, neste está no textbox
                //mas se quiser criar para outros tipos de elementos, funcionará tranquilamente
                bool IsValido;
                foreach (var val in elemento.Validacoes)
                {
                    IsValido = true;
                    //validacoes
                    switch (val.Codigo)
                    {
                        case "CPF":
                            {
                                break;
                            }
                        case "MINCHAR3":
                            {
                                if (elemento.Respostas.DsResposta != null && elemento.Respostas.DsResposta.Length < 3)
                                    IsValido = false;
                                break;
                            }
                        case "MAXCHAR50":
                            {
                                if (elemento.Respostas.DsResposta != null && elemento.Respostas.DsResposta.Length > 50)
                                    IsValido = false;
                                break;
                            }
                        default:
                            break;
                    }

                    if (IsValido == false)
                        _modelState.AddModelError(elemento.NameClient + ".Respostas.DsResposta", elemento.Titulo + " " + val.MensErro);
                }
            }
            if (elemento.IdTipoElemento == 5) //combo
            {
                //OBRIGATORIO, é propriedade do elemento
                if (elemento.IsObrigatorio)
                {
                    int idValor = 0;
                    bool converteu = int.TryParse(elemento.Respostas.DsValor, out idValor);
                    if (idValor == 0)
                        _modelState.AddModelError(elemento.NameClient + ".Respostas.DsValor", elemento.Titulo + " é obrigatório.");
                }
            }
        }