private void Salvar() { try { codigo = Convert.ToInt32(Request.QueryString["Id"]); this.CarregarObjetos(Utilitarios.TipoTransacao.Salvar); if (codigo > 0) { //Obter os acessos selecionados string secoesSelecionadas = string.Empty; List <AcessoFuncionalidade> funcionalidadesSelecionadas = new List <AcessoFuncionalidade>(); foreach (RepeaterItem item in rptPermissao.Items) { CheckBox chkItem = (CheckBox)item.FindControl("chkItem"); HiddenField hdnID = (HiddenField)item.FindControl("hdnID"); if (chkItem.Checked) { secoesSelecionadas += string.Format("{0};", hdnID.Value); } Repeater rptPermissaoFuncionalidade = (Repeater)item.FindControl("rptPermissaoFuncionalidade"); foreach (RepeaterItem itemFilho in rptPermissaoFuncionalidade.Items) { CheckBox chkItemFuncionalidade = (CheckBox)itemFilho.FindControl("chkItemFuncionalidade"); HiddenField hdnIDFuncionalidade = (HiddenField)itemFilho.FindControl("hdnIDFuncionalidade"); if (chkItemFuncionalidade.Checked) { funcionalidadesSelecionadas.Add(new AcessoFuncionalidade { IdPerfil = this.codigo, IdSecao = Convert.ToInt32(hdnID.Value), IdSecaoFuncionalidade = Convert.ToInt32(hdnIDFuncionalidade.Value) }); } } } //Atualiza o perfil e as seçoes selecionadas pelo usuário if (DOPerfil.Atualizar(gobjPerfil, secoesSelecionadas) > 0) { //Exclui funcionalidades anteriores DOAcessoFuncionalidade.Excluir(codigo); //Insere funcionalidades atualizadas foreach (AcessoFuncionalidade objAcessoFuncionalidade in funcionalidadesSelecionadas) { DOAcessoFuncionalidade.Inserir(objAcessoFuncionalidade); } } } Response.Redirect("Listar.aspx?sucesso=1"); } catch (Exception ex) { //Chama o método para gravar erro ((Manager_Interna)Master).ExibirAlerta(ex); } }
private void Salvar() { try { codigo = Convert.ToInt32(Request.QueryString["Id"]); this.CarregarObjetos(Utilitarios.TipoTransacao.Salvar); //Obter os acessos selecionados List <Secao> lstSecoes = new List <Secao>(); foreach (RepeaterItem item in rptGrupos.Items) { Repeater rptPermissao = (Repeater)item.FindControl("rptPermissao"); foreach (RepeaterItem itemAcesso in rptPermissao.Items) { HiddenField hdnID = (HiddenField)itemAcesso.FindControl("hdnID"); CheckBox chkControleTotal = (CheckBox)itemAcesso.FindControl("chkControleTotal"); CheckBox chkAcessar = (CheckBox)itemAcesso.FindControl("chkAcessar"); CheckBox chkInserir = (CheckBox)itemAcesso.FindControl("chkInserir"); CheckBox chkEditar = (CheckBox)itemAcesso.FindControl("chkEditar"); CheckBox chkExcluir = (CheckBox)itemAcesso.FindControl("chkExcluir"); Secao objSecao = new Secao(); objSecao.Id = Convert.ToInt32(hdnID.Value); objSecao.PossuiControleTotal = chkControleTotal.Checked; objSecao.PodeAcessar = chkAcessar.Checked; objSecao.PodeInserir = chkInserir.Checked; objSecao.PodeAlterar = chkEditar.Checked; objSecao.PodeExcluir = chkExcluir.Checked; lstSecoes.Add(objSecao); } } if (codigo > 0) { DOSecao.ExcluirAcessosPerfil(codigo); DOPerfil.Atualizar(gobjPerfil); } else { codigo = DOPerfil.Inserir(gobjPerfil); } foreach (Secao objSecao in lstSecoes) { objSecao.IdPerfil = codigo; DOSecao.InserirAcessoPerfil(objSecao); } Response.Redirect("Listar.aspx?sucesso=1"); } catch (Exception ex) { //Chama o método para gravar erro ((Modulos_Modulos)Master).ExibirAlerta(ex); } }