protected void grvNiveis_RowUpdating(object sender, GridViewUpdateEventArgs e) { string nvl_nome = ""; string nvl_nomePlural = String.Empty; bool novo = false; ORC_Nivel entityNivel; GridView grv = ((GridView)sender); try { GridViewRow row = grv.Rows[e.RowIndex]; // Adiciona a segunda linha obrigatória pra poder salvar no mínimo 2 níveis de orientação curricular. if (lblObservacao.Visible && VS_Aux_Dois_Niveis == 1) { string nome = string.Empty; TextBox txtNome = (TextBox)row.FindControl("txtNomeNivel"); if (txtNome != null) { nome = txtNome.Text; } string nomePlural = string.Empty; TextBox txtNomePlural = (TextBox)row.FindControl("txtNomePlural"); if (txtNomePlural != null) { nomePlural = txtNomePlural.Text; } List <sNivelOrientacaoCurricular> Dt_Niveis_Aux = VS_Dt_Niveis; sNivelOrientacaoCurricular primeiroNivel = VS_Dt_Niveis[0]; Dt_Niveis_Aux.RemoveAt(0); //altera o nome da primeira linha que foi adicionada primeiroNivel.nvl_nome = nome; primeiroNivel.nvl_nomePlural = nomePlural; VS_Dt_Niveis.Clear(); VS_Dt_Niveis.Add(primeiroNivel); VS_Dt_Niveis.AddRange(Dt_Niveis_Aux); VS_ordem_ultimo++; AdicionaLinhaDataTable(); // Habilita textbox para alterar o nível. grvNiveis.EditIndex = 1; grvNiveis.DataSource = VS_Dt_Niveis; grvNiveis.DataBind(); grvNiveis.Rows[1].Focus(); //esconde todos os botões EscondeBotoes2Niveis(); VS_Aux_Dois_Niveis++; } else if (lblObservacao.Visible && VS_Aux_Dois_Niveis == 2) { // salva linha 1 entityNivel = new ORC_Nivel { nvl_id = -1, cur_id = VS_cur_id, crr_id = VS_crr_id, crp_id = VS_crp_id, cal_id = VS_cal_id, tds_id = VS_tds_id, mat_id = VS_mat_id, nvl_ordem = 1, nvl_nome = VS_Dt_Niveis[0].nvl_nome, nvl_nomePlural = VS_Dt_Niveis[0].nvl_nomePlural, nvl_dataCriacao = DateTime.Now, nvl_dataAlteracao = DateTime.Now, nvl_situacao = 1, IsNew = true }; ORC_NivelBO.Save(entityNivel); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "nvl_id: " + entityNivel.nvl_id); // salva linha 2 TextBox txtNome = (TextBox)row.FindControl("txtNomeNivel"); if (txtNome != null) { nvl_nome = txtNome.Text; } TextBox txtNomePlural = (TextBox)row.FindControl("txtNomePlural"); if (txtNomePlural != null) { nvl_nomePlural = txtNomePlural.Text; } entityNivel = new ORC_Nivel { nvl_id = VS_Dt_Niveis[e.RowIndex].nvl_id, cur_id = VS_Dt_Niveis[e.RowIndex].cur_id, crr_id = VS_Dt_Niveis[e.RowIndex].crr_id, crp_id = VS_Dt_Niveis[e.RowIndex].crp_id, cal_id = VS_Dt_Niveis[e.RowIndex].cal_id, tds_id = VS_Dt_Niveis[e.RowIndex].tds_id, mat_id = VS_mat_id, nvl_ordem = VS_Dt_Niveis[e.RowIndex].nvl_ordem, nvl_nome = nvl_nome, nvl_nomePlural = nvl_nomePlural, nvl_dataCriacao = VS_Dt_Niveis[e.RowIndex].nvl_dataCriacao, nvl_dataAlteracao = DateTime.Now, nvl_situacao = 1, IsNew = true }; ORC_NivelBO.Save(entityNivel); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "nvl_id: " + entityNivel.nvl_id); lblObservacao.Visible = false; lblMensagem.Text = UtilBO.GetErroMessage("Os dois níveis de orientação curricular foram incluídos com sucesso.", UtilBO.TipoMensagem.Sucesso); grv.EditIndex = -1; CarregaNiveis(true); } else { TextBox txtNome = (TextBox)row.FindControl("txtNomeNivel"); if (txtNome != null) { nvl_nome = txtNome.Text; } TextBox txtNomePlural = (TextBox)row.FindControl("txtNomePlural"); if (txtNomePlural != null) { nvl_nomePlural = txtNomePlural.Text; } entityNivel = new ORC_Nivel { nvl_id = VS_Dt_Niveis[e.RowIndex].nvl_id, cur_id = VS_Dt_Niveis[e.RowIndex].cur_id, crr_id = VS_Dt_Niveis[e.RowIndex].crr_id, crp_id = VS_Dt_Niveis[e.RowIndex].crp_id, cal_id = VS_Dt_Niveis[e.RowIndex].cal_id, tds_id = VS_Dt_Niveis[e.RowIndex].tds_id, mat_id = VS_mat_id, nvl_ordem = VS_Dt_Niveis[e.RowIndex].nvl_ordem, nvl_nome = nvl_nome, nvl_nomePlural = nvl_nomePlural, nvl_dataCriacao = VS_Dt_Niveis[e.RowIndex].nvl_dataCriacao, nvl_dataAlteracao = DateTime.Now, nvl_situacao = 1 }; if (VS_Dt_Niveis[e.RowIndex].nvl_situacao == 0) { entityNivel.IsNew = true; novo = true; } else { entityNivel.IsNew = false; } ORC_NivelBO.Save(entityNivel); if (novo) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "nvl_id: " + entityNivel.nvl_id); lblMensagem.Text = UtilBO.GetErroMessage("Nível de orientação curricular incluído com sucesso.", UtilBO.TipoMensagem.Sucesso); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "nvl_id: " + entityNivel.nvl_id); lblMensagem.Text = UtilBO.GetErroMessage("Nível de orientação curricular alterado com sucesso.", UtilBO.TipoMensagem.Sucesso); } grv.EditIndex = -1; // Se é um registro novo, e o último possuir orientação curricular, altera a ordem dos dois registros. int 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. string orientacao_curricular = VS_Dt_Niveis.LastOrDefault().ocr_id.ToString(); if (novo && !string.IsNullOrEmpty(orientacao_curricular)) { int nvl_idDescer = Convert.ToInt32(grvNiveis.DataKeys[indexUltimo]["nvl_id"]); int nvl_ordemDescer = VS_Dt_Niveis.Count(); int nvl_idSubir = entityNivel.nvl_id; int nvl_ordemSubir = VS_Dt_Niveis.Count() - 1; bool returnAlteracao = AlteraOrdem(nvl_idDescer, nvl_ordemDescer, nvl_idSubir, nvl_ordemSubir); } CarregaNiveis(true); } } catch (MSTech.Validation.Exceptions.ValidationException ex) { lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar salvar nível da orientação curricular.", UtilBO.TipoMensagem.Erro); } }
protected void grvNiveis_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Deletar") { try { int index = int.Parse(e.CommandArgument.ToString()); int nvl_id = Convert.ToInt32(grvNiveis.DataKeys[index].Value); ORC_Nivel entity = new ORC_Nivel { nvl_id = nvl_id }; ORC_NivelBO.GetEntity(entity); entity.nvl_situacao = 3; ORC_NivelBO.Save(entity); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "nvl_id: " + entity.nvl_id); lblMensagem.Text = UtilBO.GetErroMessage("Nível da orientação curricular excluído com sucesso.", UtilBO.TipoMensagem.Sucesso); CarregaNiveis(true); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMensagem.Text = UtilBO.GetErroMessage("Erro ao excluir o nível da orientação curricular.", UtilBO.TipoMensagem.Erro); } } else if (e.CommandName == "Subir") { try { int index = int.Parse(e.CommandArgument.ToString()); int nvl_idDescer = Convert.ToInt32(grvNiveis.DataKeys[index - 1]["nvl_id"]); int nvl_ordemDescer = Convert.ToInt32(grvNiveis.DataKeys[index]["nvl_ordem"]); int nvl_idSubir = Convert.ToInt32(grvNiveis.DataKeys[index]["nvl_id"]); int nvl_ordemSubir = Convert.ToInt32(grvNiveis.DataKeys[index - 1]["nvl_ordem"]); if (AlteraOrdem(nvl_idDescer, nvl_ordemDescer, nvl_idSubir, nvl_ordemSubir)) { CarregaNiveis(true); } ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "nvl_id: " + nvl_idDescer); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "nvl_id: " + nvl_idSubir); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro); } } else if (e.CommandName == "Descer") { try { int index = int.Parse(e.CommandArgument.ToString()); int nvl_idDescer = Convert.ToInt32(grvNiveis.DataKeys[index]["nvl_id"]); int nvl_ordemDescer = Convert.ToInt32(grvNiveis.DataKeys[index + 1]["nvl_ordem"]); int nvl_idSubir = Convert.ToInt32(grvNiveis.DataKeys[index + 1]["nvl_id"]); int nvl_ordemSubir = Convert.ToInt32(grvNiveis.DataKeys[index]["nvl_ordem"]); if (AlteraOrdem(nvl_idDescer, nvl_ordemDescer, nvl_idSubir, nvl_ordemSubir)) { CarregaNiveis(true); } ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "nvl_id: " + nvl_idDescer); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "nvl_id: " + nvl_idSubir); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro); } } }