Esempio n. 1
0
        protected void cbxDemanda_SelectedIndexChanged(object sender, EventArgs e)
        {
            chkListaCamposVisiveis.Items.Clear();
            PreencherCheckBoxPadrao();

            int idEtapa;

            if (int.TryParse(cbxDemanda.SelectedValue, out idEtapa) && idEtapa > 0)
            {
                var campos = new ManterCampo().ObterPorEtapa(idEtapa);
                foreach (var campo in campos)
                {
                    chkListaCamposVisiveis.Items.Add(
                        new ListItem
                    {
                        Text  = campo.Nome,
                        Value = campo.Nome
                    }
                        );
                }
            }
        }
Esempio n. 2
0
        protected void rptFormulario_OnItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if ((e.Item.ItemType == ListItemType.Item) ||
                (e.Item.ItemType == ListItemType.AlternatingItem))
            {
                var lblNome               = (Label)e.Item.FindControl("lblNomeCampo");
                var lblResposta           = (Label)e.Item.FindControl("lblResposta");
                var divAbrirCampo         = (HtmlGenericControl)e.Item.FindControl("divAbrirCampo");
                var lblQuebrarLinha       = (Label)e.Item.FindControl("lblQuebrarLinha");
                var campo                 = (CampoResposta)e.Item.DataItem;
                var checkListAlternativas = (CheckBoxList)e.Item.FindControl("chkListaAlternativas");

                var largura = int.Parse(ViewState["larguraCampo"].ToString());

                largura += campo.Campo.Largura;

                if (largura > 12)
                {
                    lblQuebrarLinha.Visible = true;
                    lblQuebrarLinha.Text    = "</div><div class=\"row\">";
                    largura = campo.Campo.Largura;
                }

                divAbrirCampo.Attributes.Add("class", "col-md-" + campo.Campo.Largura + " col-xs-12");

                ViewState["larguraCampo"] = largura;

                lblNome.Text = campo.Campo.Nome;
                ManterCampo mCampo = new ManterCampo();
                // Se tiver alternativas mostra todas e marca quais foram escolhidas
                if (campo.Campo.ListaAlternativas.Count() > 0)
                {
                    var alternativasRespondidas = new BMAlternativaResposta().ObterPorCampoRespostaId(campo.ID);
                    var count = 0;
                    foreach (var alternativa in campo.Campo.ListaAlternativas)
                    {
                        checkListAlternativas.Items.Add(new System.Web.UI.WebControls.ListItem(alternativa.Nome, "0", false));

                        if (alternativasRespondidas.Count(d => d.Alternativa == alternativa) > 0)
                        {
                            checkListAlternativas.Items[count].Selected = true;
                        }
                        count++;
                    }
                }
                else
                {
                    // Caso seja um capo do tipo somatório recupera o total da soma
                    if (campo.Campo.TipoCampo == (int)enumTipoCampo.Somatório &&
                        campo.Campo.ListaCamposVinculados.Count() > 0)
                    {
                        var culture = CultureInfo.CreateSpecificCulture("pt-BR");
                        lblResposta.Text = mCampo.ObterTotalSomatorio(campo.Campo, campo.EtapaResposta.ProcessoResposta.ID).ToString(culture);
                    }
                    else if (campo.Campo.TipoCampo == (int)enumTipoCampo.Questionário)
                    {
                        int idResposta;
                        QuestionarioParticipacao resposta;

                        if (int.TryParse(campo.Resposta, out idResposta))
                        {
                            resposta = new ManterQuestionarioParticipacao().ObterQuestionarioParticipacaoPorId(idResposta);
                            var rptRespostasQuestionario = (Repeater)e.Item.FindControl("rptRespostasQuestionario");
                            if (resposta != null)
                            {
                                rptRespostasQuestionario.DataSource = resposta.ListaItemQuestionarioParticipacao;
                                rptRespostasQuestionario.DataBind();
                            }
                        }
                    }
                    else
                    {
                        lblResposta.Text = campo.Resposta;
                    }
                }
            }
        }