protected void Page_Load(object sender, EventArgs e) { //executa as instruções no primeiro load da página if (!IsPostBack) { try { //identifica o valor das variaveis de sessão id = Convert.ToInt32(Session["Id_quest"]); reg = Convert.ToInt32(Session["user"]); //pesquisa na base o usuário e armazena na variavel global user = controle.pesquisaUsuarioReg(reg); //pesquisa na base o questionário, informação armazenada em variavel local Questionarios quest = controle.pesquisaQuestionarioId(id); //pesquisa na base o renderizador e armazena na variavel global render = controle.pesquisaRenderizarIdUser(id, user.id); //modifica os controles da view para personalização lblID.Text = id.ToString(); lblTitulo.Text = quest.nome; //identifica se o usuário é público, não sendo segue as instruções do if a seguir if (reg != 0) { //mais uma vez personaliza os controles da view lblUser.Text = user.registro.ToString() + " - " + user.nome; //pesquisa a lista das perguntas do questionário a ser renderizado perg = controle.pesquisaPerguntaQuestionario(id); //identifica se existe o formulario já preparado para preenchimento na base de dados, tabela Prenchimentos preenchimentos = controle.pesquisaPreenchimento_render_user(render.id, lblUser.Text); if (preenchimentos.Count == 0) { //não identificando, executa Stored Procedure que preenche todas as questões na tabela Prenchimentos com valores 0 controle.construtor_formulario(id, render.id, lblUser.Text); } //atribui a variavel o valor da quantidade de questões countMax = perg.Count; //modifica os controles da view pnlButton.Visible = true; //chama função para renderizar a pergunta em tempo de execução posicionaPergunta(); } //se o usuário for público condiciona ele ao preenchimento do campo texto nome do usuário else { // modifica os controles da view lblUser.Text = "Insira seu nome:"; txtUser.Visible = true; btnIniciar.Visible = true; } } //instruções circundadas com try, catch para evitar a exibição de possíveis erros catch { } } //a cada ação de postback da pagina carrega novamente a pergunta em tela else { posicionaPergunta(); } }
//função para adição de perguntas a um questionário protected void btnNovo_Click(object sender, EventArgs e) { try { //impede a execução da função caso o questionário não tenha um nome determinado no campo de texto referente ao titulo if (txtTitulo.Text.Equals("")) { lblAlerta.Visible = true; lblAlerta.Text = "* O campo Titulo do Questionário não pode ser vazio."; } //caso haja um titulo executa as instruções seguintes else { // tenta, criar objeto questionario, atribuir um titulo e um id try { quest = new Questionarios(); quest.nome = txtTitulo.Text.Trim(); txtTitulo.Enabled = false; lblAlerta.Visible = false; btnNovo.Enabled = false; btnEditar.Enabled = true; btnAdicionar.Enabled = true; controle.salvarQuestionario(quest); controle.atualizarDados(); questionarioId = quest.id; //informa ao usuário o sucesso da operação ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertaAtualizadoOK", "alert('Inclusão realizada com sucesso.');", true); } catch (DbUpdateException ex) { //informa o não sucesso da operação ao usuário, e o porque ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertaSelecionar", "alert('Houve o seguinte erro ao inserir os dados = " + ex.ToString() + " .')", true); limpaFunction(); } } } //instruções circundadas com try, catch para evitar a exibição de possíveis erros ao usuário catch { } }
// função para exclusão do questionário protected void btnExcluir_Click(object sender, EventArgs e) { try { // modifica os controles da página para atender a função btnNovo.Enabled = true; btnEditar.Enabled = true; pnlPerguntas.Visible = false; // atribui a variavel as perguntas referentes ao questionário que está sendo criado List<Perguntas> Lperg = controle.pesquisaPerguntaQuestionario(questionarioId); foreach (Perguntas value in Lperg) { //para cada pergunta procura as opções de resposta e atribui a variavel List<Respostas> Lresp = controle.pesquisaRespostaQuestão(value.id); foreach (Respostas var in Lresp) { //exclui da base de respostas cada opção da pergunta referente a este value.id controle.excluirResposta(var); } // após a exclusão das opções de resposta, exclui a pergunta controle.excluirPergunta(value); }//volta ao inicio do primeiro laço foreach //atribui a variavel quest o questionário que sofreu a exclusão de resposta e perguntas quest = controle.pesquisaQuestionarioId(questionarioId); //exclui o questionário controle.excluirQuestionario(quest); controle.atualizarDados(); //retorna os comandos a condição inicial btnEditar.Enabled = false; txtTitulo.Text = ""; txtTitulo.Enabled = true; btnExcluir.Enabled = false; // limpa a variavel que faz a contagem de perguntas pergCount = 0; } //instruções circundadas com try, catch para evitar a exibição de possíveis erros ao usuário catch { } }
//função para salvar as alterações de inclusão de novo questionário e suas perguntas e opções de resposta protected void btnSalvarSair_Click(object sender, EventArgs e) { try { //salva o estado final controle.atualizarDados(); //pesquisa na base o questionário referente ao id criado para inclusão quest = controle.pesquisaQuestionarioId(questionarioId); //modifica os controles da view para o estado inicial btnNovo.Enabled = true; txtTitulo.Text = ""; btnNovo.Enabled = true; btnSalvar.Visible = false; btnAdicionar.Enabled = false; //exibe mensagem em box com a informação de inclusão de questionário e informa o id e titulo deste ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertaAtualizado", "alert('Criado o questionario com ID:" + questionarioId.ToString() + " e titulo:" + quest.nome + "');", true); } catch(DbUpdateException ex) { ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertaNaoAtualizado", "alert('Não foi possivel efetuar a criação do questionario ID:" + questionarioId.ToString() + " e titulo:" + quest.nome + ", error message: "+ ex.ToString() +"');", true); } }
//função para salvar alterações feitas no titulo do questionário protected void btnSalvar_Click(object sender, EventArgs e) { try { quest = new Questionarios(); //busca na base de dados o questionario a ser atualizado quest = controle.pesquisaQuestionarioId(questionarioId); quest.nome = txtTitulo.Text.Trim(); controle.atualizarDados(); btnNovo.Visible = true; btnSalvar.Visible = false; btnEditar.Enabled = true; txtTitulo.Enabled = false; btnAdicionar.Enabled = true; //informa ao usuário o sucesso da operação ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertaAtualizadoOK", "alert('Alteração realizada com sucesso.');", true); } catch (DbUpdateException ex) { //informa o não sucesso da operação ao usuário, e o porque ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertaSelecionar", "alert('Houve o seguinte erro ao atualizar os dados = " + ex.ToString() + " .')", true); limpaFunction(); } }
public void excluirQuestionario(Questionarios questionario) { dbRepository.excluirDadosQuestionario(questionario); }
/* * Controle Questionario */ public void salvarQuestionario(Questionarios questionario) { dbRepository.salvarNovoQuestionario(questionario); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { //verifica se o login foi feito por usuário + senha na página Index.aspx if (Session["user"].ToString() == "") { //Variaveis de sessão recebidas no postback url string regist = Convert.ToString(Request.Form["hddRegFunc"]); string nome = Convert.ToString(Request.Form["hddNomeFunc"]); string perfil = Convert.ToString(Request.Form["hddEnumPerfil"]); //verifica a pré existencia do usuário na base de dados if (controle.pesquisaUsuarioReg(Convert.ToInt32(regist)) == null) { ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alerta", "alert('Usuário CAC não cadastrado na aplicação')", true); //Adiciona o usuário do acesso via postback url a base de dados controle.salvarUsuario(user); user.nome = nome; user.registro = Convert.ToInt32(registro); user.perfil = Convert.ToInt32(perfil); //salva a adição de usuário controle.atualizarDados(); } } //busca na base de dados o usuário no caso de login por usuário + senha else { //busca na base de dados por meio de variavel de sessão registro = Convert.ToInt32(Session["user"]); user = controle.pesquisaUsuarioReg(registro); } //verifica se na interface login o usuário utilizou o login anônimo e exibe na tela informação referente ao login if (registro == 0) { lblUser.Text = "Acesso Público"; } else { lblUser.Text = user.registro.ToString() + " - " + user.nome; } //atribui a lista de objetos do tipo renderização aqueles que tenha como usuário o registro do login LRend = controle.pesquisaRenderizarReg(user.id); foreach (Renderizar value in LRend) { //variavel para impedir a duplicidade de inclusão na lista de questionários bool publico = false; //verifica se o usuário que acessou é público if (registro != 0) { //busca para cada elemento a existencia deste formulário no formato público render = controle.pesquisaRenderizarIdUser(value.id_questionario, 0); if (render != null) { //localizando exclui esse render do perfil do usuário mantendo somente o acesso público controle.excluirRenderizar(value); controle.atualizarDados(); //localizado o id do questionário como público publico = true; } } //verifica se o objeto faz parte da lista e se não é público if (value != null && !publico) { //busca para o objeto o questionário referente ao render quest = controle.pesquisaQuestionarioId(value.id_questionario); if (quest != null) { //adiciona ao objeto lista de questionários este elemento, desde que não seja nulo listaQuest.Add(quest); } } } //se o registro for diferente do perfil de acesso público apresenta ainda os questionários públicos na lista deste usuário if (registro != 0) { //atribui a lista de objetos do tipo renderização aqueles que tenha como usuário o registro do usuário público LRend = controle.pesquisaRenderizarReg(0); foreach (Renderizar value in LRend) { //busca para o objeto o questionário referente ao render quest = controle.pesquisaQuestionarioId(value.id_questionario); if (quest != null) { //adiciona ao objeto lista de questionários este elemento, desde que não seja nulo listaQuest.Add(quest); } } } //se houverem elementos na lista passa esta como parametro para a função que carrega a radio button list if (listaQuest.Count() > 0) { carregaRadioList(listaQuest); } //não havendo elementos na lista informa ao usuário else { lblMensagem.Visible = true; lblMensagem.Text = "Não existem questionários públicos ou para este usuário"; } } //instruções circundadas com try, catch para evitar a exibição de possíveis erros ao usuário catch { } } }