Esempio n. 1
0
        protected void grvNiveis_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView grv = ((GridView)sender);

            // Se estiver cancelando o registro que acabou de ser incluído, exclui do DataTable.
            if (VS_Dt_Niveis[grv.EditIndex].nvl_id <= 0)
            {
                VS_Dt_Niveis.RemoveAt(grv.EditIndex);
            }

            grv.EditIndex = -1;

            if (lblObservacao.Visible)
            {
                lblObservacao.Visible = false;

                VS_Aux_Dois_Niveis = 0;
                VS_Dt_Niveis.Clear();
            }

            if (VS_Dt_Niveis.Any())
            {
                VS_ordem_ultimo = VS_Dt_Niveis.LastOrDefault().nvl_ordem;
            }

            CarregaNiveis(true);
        }
Esempio n. 2
0
        protected void btnIncluir_Click(object sender, EventArgs e)
        {
            try
            {
                if (VS_ordem_ultimo < 0)
                {
                    VS_ordem_ultimo = 1;
                }
                else
                {
                    VS_ordem_ultimo++;
                }

                int    indexUltimo           = 0;
                int    indexEdit             = 0;
                string orientacao_curricular = "";

                if (VS_Dt_Niveis.Any())
                {
                    indexUltimo = VS_Dt_Niveis.Count() - 1;

                    // Se o último nível possuir orientação curricular, o novo registro deve ficar em penúltimo, para que o último se matenha em último.
                    orientacao_curricular = VS_Dt_Niveis.LastOrDefault().ocr_id.ToString();
                }

                if (VS_Dt_Niveis.Any() && !string.IsNullOrEmpty(orientacao_curricular))
                {
                    // penúltimo
                    sNivelOrientacaoCurricular rowNew = new sNivelOrientacaoCurricular();
                    rowNew.nvl_id          = -1;
                    rowNew.cur_id          = VS_cur_id;
                    rowNew.crr_id          = VS_crr_id;
                    rowNew.crp_id          = VS_crp_id;
                    rowNew.cal_id          = VS_cal_id;
                    rowNew.tds_id          = VS_tds_id;
                    rowNew.nvl_ordem       = VS_ordem_ultimo - 1;
                    rowNew.nvl_nome        = "";
                    rowNew.nvl_nomePlural  = String.Empty;
                    rowNew.nvl_situacao    = 0;
                    rowNew.nvl_dataCriacao = DateTime.Now;
                    rowNew.ocr_id          = -1;

                    // último
                    sNivelOrientacaoCurricular rowHab = new sNivelOrientacaoCurricular();
                    rowHab.nvl_id          = VS_Dt_Niveis.LastOrDefault().nvl_id;
                    rowHab.cur_id          = VS_cur_id;
                    rowHab.crr_id          = VS_crr_id;
                    rowHab.crp_id          = VS_crp_id;
                    rowHab.cal_id          = VS_cal_id;
                    rowHab.tds_id          = VS_tds_id;
                    rowHab.nvl_ordem       = VS_ordem_ultimo;
                    rowHab.nvl_nome        = VS_Dt_Niveis.LastOrDefault().nvl_nome;
                    rowHab.nvl_nomePlural  = VS_Dt_Niveis.LastOrDefault().nvl_nomePlural;
                    rowHab.nvl_situacao    = VS_Dt_Niveis.LastOrDefault().nvl_situacao;
                    rowHab.nvl_dataCriacao = VS_Dt_Niveis.LastOrDefault().nvl_dataCriacao;
                    rowHab.ocr_id          = VS_Dt_Niveis.LastOrDefault().ocr_id;

                    VS_Dt_Niveis.Remove(VS_Dt_Niveis.Last());
                    VS_Dt_Niveis.Add(rowNew);
                    VS_Dt_Niveis.Add(rowHab);

                    // Edita penúltima linha.
                    indexEdit = VS_Dt_Niveis.Count() - 2;
                }
                else if (VS_Dt_Niveis.Count() == 0)
                {
                    AdicionaLinhaDataTable();
                    //AdicionaLinhaDataTable();

                    lblObservacao.Text    = UtilBO.GetErroMessage("É necessário incluir no mínimo dois níveis curriculares.", UtilBO.TipoMensagem.Informacao);
                    lblObservacao.Visible = true;
                    VS_Aux_Dois_Niveis++;
                }
                else
                {
                    AdicionaLinhaDataTable();

                    // Edita última linha.
                    indexEdit = VS_Dt_Niveis.Count() - 1;
                }

                lblMsgGrid.Visible = false;

                // Habilita textbox para alterar o nível.
                grvNiveis.EditIndex  = indexEdit;
                grvNiveis.DataSource = VS_Dt_Niveis;
                grvNiveis.DataBind();
                grvNiveis.Rows[indexEdit].Focus();

                // Desabilita botões até salvar esse novo registro.
                btnIncluir.Visible  = false;
                btnIncluir2.Visible = false;

                EscondeBotoes();
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar incluir o nível de orientação curricular.", UtilBO.TipoMensagem.Erro);
            }
        }