コード例 #1
0
        public void GravarQuestionario(RespostaQuestionarioForm questionarioForm)
        {
            RespostaQuestionario questionario = new RespostaQuestionario();

            questionario.IdtRespostaQuestionario = questionarioForm.IdtRespostaQuestionario;

            questionario.NomQuestionario = questionarioForm.NomeRelatorio;

            questionario.Objeto = JsonConvert.SerializeObject(questionarioForm);

            _conexao.Insert(questionario);
        }
コード例 #2
0
        public ResponderQuestionario(long id)
        {
            InitializeComponent();

            _alternativas            = new Dictionary <int, RadioButtonGroupView>();
            _opcoes                  = new Dictionary <int, RadioButtonGroupView>();
            _IdtRespostaQuestionario = id;

            AcessoBanco banco = new AcessoBanco();

            RespostaQuestionario questionario = banco.PegarQuestionario(id);

            _form = JsonConvert.DeserializeObject <RespostaQuestionarioForm>(questionario.Objeto);

            List <Municipio> municipios = banco.ListarMunicipios();

            List <AlternativaICQ> alternativas = banco.ListarAlternativas();

            List <OpcaoTipoResposta> opcoes = banco.ListarOpcoes();

            NomeRelatorio.Text  = _form.NomeRelatorio;
            TextoCabecalho.Text = _form.TextoCabecalho;

            foreach (var item in municipios)
            {
                Municipio.Items.Add(item.NomMunicipio);
            }

            foreach (var item in _form.RespostasPerfil)
            {
                StackLayoutPrincipal.Children.Add(new Label()
                {
                    Text = item.DescPergunta
                });

                var rbgAlternativa = new RadioButtonGroupView();

                foreach (var alternativa in alternativas.Where(a => a.IdtItemCabecalhoQuestionario == item.IdtItemCabecalhoQuestionario).ToList())
                {
                    rbgAlternativa.Children.Add(new RadioButton()
                    {
                        Value        = alternativa.IdtAlternativaICQ,
                        Text         = alternativa.DescAlternativa,
                        TextFontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label))
                    });
                }

                StackLayoutPrincipal.Children.Add(rbgAlternativa);
                _alternativas.Add(item.IdtItemCabecalhoQuestionario, rbgAlternativa);
            }

            foreach (var item in _form.Competencias)
            {
                StackLayoutPrincipal.Children.Add(new Label()
                {
                    Text     = item.DescCompetencia,
                    FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label))
                });
                AdicionarLinha();

                foreach (var resposta in item.Respostas)
                {
                    StackLayoutPrincipal.Children.Add(new Label()
                    {
                        Text = resposta.DescPergunta
                    });

                    var rbgOpcao = new RadioButtonGroupView();

                    foreach (var opcao in opcoes.Where(o => o.IdtTipoResposta == resposta.IdtTipoResposta).ToList())
                    {
                        rbgOpcao.Children.Add(new RadioButton()
                        {
                            Value        = opcao.IdtOpcaoTipoResposta,
                            Text         = opcao.DescOpcao,
                            TextFontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label))
                        });
                    }
                    StackLayoutPrincipal.Children.Add(rbgOpcao);
                    _opcoes.Add(resposta.IdtQuestionarioPergunta, rbgOpcao);
                }
            }


            Button btnConfirmar = new Button()
            {
                Text = "Salvar",
                HorizontalOptions = LayoutOptions.Center,
                Margin            = 20
            };

            btnConfirmar.Clicked += Salvar;

            StackLayoutPrincipal.Children.Add(btnConfirmar);
        }