protected void btnAdicionarQuestionario_Click(object sender, EventArgs e) { try { if (UCComboQuestionario.Valor <= 0) { throw new ValidationException(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.QuestionarioObrigatorio").ToString()); } if (VS_lstQuestionarios.Any(q => q.qst_id == UCComboQuestionario.Valor && q.raq_situacao != (byte)CLS_RelatorioAtendimentoQuestionarioSituacao.Excluido)) { throw new ValidationException(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.QuestionarioJaAdicionado").ToString()); } int raq_id = (VS_lstQuestionarios.Any() ? VS_lstQuestionarios.Max(q => q.raq_id) + 1 : 1); while (VS_lstQuestionarios.Any(q => q.raq_id == raq_id)) { raq_id++; } VS_lstQuestionarios.Add(new CLS_RelatorioAtendimentoQuestionario { rea_id = VS_rea_id, raq_id = raq_id, qst_id = UCComboQuestionario.Valor, qst_titulo = UCComboQuestionario.Texto, raq_ordem = (VS_lstQuestionarios.Any() ? VS_lstQuestionarios.Max(q => q.raq_ordem) + 1 : 1), raq_situacao = 1, IsNew = true }); var questionarios = (from qst in VS_lstQuestionarios where qst.raq_situacao != (byte)CLS_RelatorioAtendimentoQuestionarioSituacao.Excluido group qst by qst.raq_id into grupo select grupo.First()); gvQuestionario.DataSource = questionarios; gvQuestionario.DataBind(); UCComboQuestionario.Valor = -1; } catch (ValidationException ex) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.ErroAdicionarQuestionario").ToString(), UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Carrega os questionarios /// </summary> private void CarregaQuestionarios() { VS_lstQuestionarios = CLS_RelatorioAtendimentoQuestionarioBO.SelectBy_rea_id(VS_rea_id); VS_lstQuestionarios = VS_lstQuestionarios.OrderBy(q => q.raq_ordem).ThenBy(q => q.qst_titulo).ToList(); var questionarios = (from qst in VS_lstQuestionarios where qst.raq_situacao != (byte)CLS_RelatorioAtendimentoQuestionarioSituacao.Excluido group qst by qst.raq_id into grupo select grupo.First()); gvQuestionario.DataSource = questionarios; gvQuestionario.DataBind(); }
protected void gvQuestionario_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Subir") { try { int index = int.Parse(e.CommandArgument.ToString()); int idDescer = Convert.ToInt32(gvQuestionario.DataKeys[index - 1]["raq_id"]); int idSubir = Convert.ToInt32(gvQuestionario.DataKeys[index]["raq_id"]); int ordemSubir = VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idSubir).First())].raq_ordem; int ordemDescer = VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idDescer).First())].raq_ordem; VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idSubir).First())].raq_ordem = ordemDescer; VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idDescer).First())].raq_ordem = ordemSubir; VS_lstQuestionarios = VS_lstQuestionarios.OrderBy(q => q.raq_ordem).ThenBy(q => q.qst_titulo).ToList(); var questionarios = (from qst in VS_lstQuestionarios where qst.raq_situacao != (byte)CLS_RelatorioAtendimentoQuestionarioSituacao.Excluido group qst by qst.raq_id into grupo select grupo.First()); gvQuestionario.DataSource = questionarios; gvQuestionario.DataBind(); if (gvQuestionario.Rows.Count > 0) { ((ImageButton)gvQuestionario.Rows[0].Cells[2].FindControl("_btnSubir")).Style.Add("visibility", "hidden"); ((ImageButton)gvQuestionario.Rows[gvQuestionario.Rows.Count - 1].FindControl("_btnDescer")).Style.Add("visibility", "hidden"); } } catch (ValidationException ex) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.ErroCarregarRelatorio").ToString(), UtilBO.TipoMensagem.Erro); } } else if (e.CommandName == "Descer") { try { int index = int.Parse(e.CommandArgument.ToString()); int idDescer = Convert.ToInt32(gvQuestionario.DataKeys[index]["raq_id"]); int idSubir = Convert.ToInt32(gvQuestionario.DataKeys[index + 1]["raq_id"]); int ordemSubir = VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idSubir).First())].raq_ordem; int ordemDescer = VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idDescer).First())].raq_ordem; VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idSubir).First())].raq_ordem = ordemDescer; VS_lstQuestionarios[VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idDescer).First())].raq_ordem = ordemSubir; VS_lstQuestionarios = VS_lstQuestionarios.OrderBy(q => q.raq_ordem).ThenBy(q => q.qst_titulo).ToList(); var questionarios = (from qst in VS_lstQuestionarios where qst.raq_situacao != (byte)CLS_RelatorioAtendimentoQuestionarioSituacao.Excluido group qst by qst.raq_id into grupo select grupo.First()); gvQuestionario.DataSource = questionarios; gvQuestionario.DataBind(); if (gvQuestionario.Rows.Count > 0) { ((ImageButton)gvQuestionario.Rows[0].Cells[2].FindControl("_btnSubir")).Style.Add("visibility", "hidden"); ((ImageButton)gvQuestionario.Rows[gvQuestionario.Rows.Count - 1].FindControl("_btnDescer")).Style.Add("visibility", "hidden"); } } catch (ValidationException ex) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.ErroCarregarRelatorio").ToString(), UtilBO.TipoMensagem.Erro); } } else if (e.CommandName == "Excluir") { try { int index = int.Parse(e.CommandArgument.ToString()); int idExcluir = Convert.ToInt32(gvQuestionario.DataKeys[index]["raq_id"]); int qst_idExcluir = Convert.ToInt32(gvQuestionario.DataKeys[index]["qst_id"]); bool isNewExcluir = Convert.ToBoolean(gvQuestionario.DataKeys[index]["IsNew"]); if (VS_rea_id > 0 && !isNewExcluir && CLS_QuestionarioBO.VerificaQuestionarioEmUso(qst_idExcluir, VS_rea_id)) { throw new ValidationException(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.QuestionarioEmUso").ToString()); } if (idExcluir > 0 && VS_lstQuestionarios.Any(l => l.raq_id == idExcluir)) { int ind = VS_lstQuestionarios.IndexOf(VS_lstQuestionarios.Where(l => l.raq_id == idExcluir).First()); int ordem = VS_lstQuestionarios.Where(l => l.raq_id == idExcluir).First().raq_ordem; //Ajusta as ordens for (int i = ind + 1; i < VS_lstQuestionarios.Count; i++) { VS_lstQuestionarios[i].raq_ordem = ordem; ordem += 1; } VS_lstQuestionarios.RemoveAt(ind); } VS_lstQuestionarios = VS_lstQuestionarios.OrderBy(q => q.raq_ordem).ThenBy(q => q.qst_titulo).ToList(); var questionarios = (from qst in VS_lstQuestionarios where qst.raq_situacao != (byte)CLS_RelatorioAtendimentoQuestionarioSituacao.Excluido group qst by qst.raq_id into grupo select grupo.First()); gvQuestionario.DataSource = questionarios; gvQuestionario.DataBind(); if (gvQuestionario.Rows.Count > 0) { ((ImageButton)gvQuestionario.Rows[0].Cells[2].FindControl("_btnSubir")).Style.Add("visibility", "hidden"); ((ImageButton)gvQuestionario.Rows[gvQuestionario.Rows.Count - 1].FindControl("_btnDescer")).Style.Add("visibility", "hidden"); } } catch (ValidationException ex) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.ErroCarregarRelatorio").ToString(), UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Insere ou altera o relatório /// </summary> private void Salvar() { try { CLS_RelatorioAtendimento rea = new CLS_RelatorioAtendimento { rea_id = VS_rea_id, rea_titulo = txtTitulo.Text, rea_tipo = Convert.ToByte(ddlTipo.SelectedValue), rea_permiteEditarRecaCor = Convert.ToByte(ddlTipo.SelectedValue) == (byte)CLS_RelatorioAtendimentoTipo.AEE && chkExibeRacaCor.Checked, rea_permiteEditarHipoteseDiagnostica = Convert.ToByte(ddlTipo.SelectedValue) == (byte)CLS_RelatorioAtendimentoTipo.AEE && chkExibeHipotese.Checked, rea_permiteAcoesRealizadas = Convert.ToByte(ddlTipo.SelectedValue) == (byte)CLS_RelatorioAtendimentoTipo.NAAPA && chkAcoesRealizadas.Checked, tds_id = (Convert.ToByte(ddlTipo.SelectedValue) != (byte)CLS_RelatorioAtendimentoTipo.RP ? -1 : UCComboTipoDisciplina.Valor), rea_periodicidadePreenchimento = Convert.ToByte(ddlPeriodicidade.SelectedValue), rea_tituloAnexo = txtTituloAnexo.Text, rea_gerarPendenciaFechamento = chkGerarPendenciasFechamento.Checked, IsNew = VS_rea_id <= 0 }; if (!VS_lstQuestionarios.Any(q => q.raq_situacao != (byte)CLS_RelatorioAtendimentoQuestionarioSituacao.Excluido)) { throw new ValidationException(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.NenhumQuestionarioAdicionado").ToString()); } List <CLS_RelatorioAtendimentoPeriodo> lstPeriodo = rea.rea_tipo == (byte)CLS_RelatorioAtendimentoTipo.RP && rea.rea_periodicidadePreenchimento == (byte)CLS_RelatorioAtendimentoPeriodicidade.Encerramento ? CarregaPeriodosPreenchidos() : new List <CLS_RelatorioAtendimentoPeriodo>(); List <CLS_RelatorioAtendimentoGrupo> lstGrupo = CarregaGruposPreenchidos(); List <CLS_RelatorioAtendimentoCargo> lstCargo = CarregaCargosPreenchidos(); if (!lstGrupo.Any(g => g.rag_permissaoAprovacao || g.rag_permissaoConsulta || g.rag_permissaoEdicao || g.rag_permissaoExclusao) && !lstCargo.Any(c => c.rac_permissaoAprovacao || c.rac_permissaoConsulta || c.rac_permissaoEdicao || c.rac_permissaoExclusao)) { throw new ValidationException(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.NenhumaPermissao").ToString()); } if (rea.rea_tipo == (byte)CLS_RelatorioAtendimentoTipo.RP && rea.rea_periodicidadePreenchimento == (byte)CLS_RelatorioAtendimentoPeriodicidade.Encerramento && !lstPeriodo.Any()) { throw new ValidationException("Selecione pelo menos um período do calendário."); } if (CLS_RelatorioAtendimentoBO.Salvar(rea, lstGrupo, lstCargo, VS_lstQuestionarios, lstPeriodo, VS_arquivo, ApplicationWEB.TamanhoMaximoArquivo, ApplicationWEB.TiposArquivosPermitidos)) { string message = ""; if (VS_rea_id <= 0) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "rea_id: " + rea.rea_id); message = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.RelatorioIncluidoSucesso").ToString(), UtilBO.TipoMensagem.Sucesso); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "rea_id: " + rea.rea_id); message = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.RelatorioAlteradoSucesso").ToString(), UtilBO.TipoMensagem.Sucesso); } if (ParametroPermanecerTela) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = message; VS_rea_id = rea.rea_id; _LoadFromEntity(VS_rea_id); } else { __SessionWEB.PostMessages = message; Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "Configuracao/RelatorioAtendimento/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } } else { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.ErroSalvarRelatorio").ToString(), UtilBO.TipoMensagem.Erro); } } catch (ValidationException ex) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (ArgumentException ex) { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Configuracao", "RelatorioAtendimento.Cadastro.ErroSalvarRelatorio").ToString(), UtilBO.TipoMensagem.Erro); } }