protected void grvResultado_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Deletar")
            {
                try
                {
                    int index  = int.Parse(e.CommandArgument.ToString());
                    int qst_id = Convert.ToInt32(grvResultado.DataKeys[index].Values["qst_id"]);

                    CLS_Questionario entity = new CLS_Questionario {
                        qst_id = qst_id
                    };

                    //Verifica os conteúdos do questionário
                    DataTable ConteudosQuestionario = CLS_QuestionarioConteudoBO.SelectByQuestionario(qst_id);
                    var       listQtc_ids           = ConteudosQuestionario.AsEnumerable().Select(q => q.Field <int>("qtc_id")).ToArray();
                    string    qtc_ids = string.Join(",", listQtc_ids.Select(item => item.ToString()).ToArray());

                    //Verifica se o questionário não foi respondido
                    if (!CLS_QuestionarioConteudoPreenchimentoBO.ConteudoPreenchido(qtc_ids))
                    {
                        if (CLS_QuestionarioBO.Delete(entity))
                        {
                            grvResultado.PageIndex = 0;
                            grvResultado.DataBind();
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "qst_id: " + qst_id);
                            lblMessage.Text = UtilBO.GetErroMessage("Questionário excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                        }
                    }
                    else
                    {
                        grvResultado.PageIndex = 0;
                        grvResultado.DataBind();
                        throw new ValidationException("O questionário não pode ser excluído, pois já foi respondido.");
                    }
                }
                catch (ValidationException ex)
                {
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessage.Text = UtilBO.GetErroMessage("Erro ao excluir questionário.", UtilBO.TipoMensagem.Erro);
                }
            }
        }
Beispiel #2
0
 private void _Carregar(int qst_id, int qtc_id)
 {
     try
     {
         CLS_QuestionarioConteudo Conteudo = new CLS_QuestionarioConteudo {
             qst_id = qst_id, qtc_id = qtc_id
         };
         CLS_QuestionarioConteudoBO.GetEntity(Conteudo);
         _VS_qst_id     = Conteudo.qst_id;
         _VS_qtc_id     = Conteudo.qtc_id;
         _txtTexto.Text = Conteudo.qtc_texto;
         _ddlTipoConteudo.SelectedValue = Conteudo.qtc_tipo.ToString();
         lblTipoResposta.Text           = _cpvTipoResposta.Visible ? "Tipo de resposta *" : "Tipo de resposta";
         _ddlTipoResposta.SelectedValue = Conteudo.qtc_tipoResposta.ToString();
         _ddlTipoConteudo.Enabled       = _ddlTipoResposta.Enabled = !CLS_QuestionarioConteudoPreenchimentoBO.ConteudoPreenchido(Conteudo.qtc_id.ToString());
         _ddlTipoResposta.Enabled       = _cpvTipoResposta.Visible = Convert.ToByte(_ddlTipoConteudo.SelectedValue) == (byte)QuestionarioTipoConteudo.Pergunta;
     }
     catch (Exception e)
     {
         ApplicationWEB._GravaErro(e);
         _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o conteúdo.", UtilBO.TipoMensagem.Erro);
     }
 }
Beispiel #3
0
        private void _Salvar()
        {
            try
            {
                CLS_QuestionarioConteudo Conteudo = new CLS_QuestionarioConteudo
                {
                    qst_id = _VS_qst_id
                    ,
                    qtc_id = _VS_qtc_id
                };

                CLS_QuestionarioConteudoBO.GetEntity(Conteudo);
                if (_txtTexto.Text.Length > 4000)
                {
                    throw new ValidationException("O texto do conteúdo não deve exceder 4000 caracteres.");
                }

                Conteudo.qtc_texto = _txtTexto.Text;

                //TODO ANA Verificar se é do tipo pergunta para alterar o tipo de resposta
                if (!CLS_QuestionarioConteudoPreenchimentoBO.ConteudoPreenchido(Conteudo.qtc_id.ToString()))
                {
                    Conteudo.qtc_tipo = Convert.ToByte(_ddlTipoConteudo.SelectedValue.ToString());
                    if (Conteudo.qtc_tipo == (byte)QuestionarioTipoConteudo.Pergunta)
                    {
                        Conteudo.qtc_tipoResposta = Convert.ToByte(_ddlTipoResposta.SelectedValue.ToString());
                    }
                    else
                    {
                        Conteudo.qtc_tipoResposta = 0;
                    }
                }
                Conteudo.qtc_situacao = 1; //ativo

                if (CLS_QuestionarioConteudoBO.Save(Conteudo))
                {
                    if (_VS_qtc_id <= 0)
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "qtc_id: " + Conteudo.qtc_id + "qst_id: " + Conteudo.qst_id);
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage("Conteúdo incluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    }
                    else
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "qtc_id: " + Conteudo.qtc_id + "qst_id: " + Conteudo.qst_id);
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage("Conteúdo alterado com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    }

                    Session["qst_id"] = _VS_qst_id;
                    Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "Configuracao/Questionario/BuscaConteudo.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o conteúdo.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (ValidationException e)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (DuplicateNameException e)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (ArgumentException e)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception e)
            {
                ApplicationWEB._GravaErro(e);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o conteúdo.", UtilBO.TipoMensagem.Erro);
            }
        }