private void Herdar(object objParam) { tbPerfilAcesso objPerfilAcessoHerdar = objParam as tbPerfilAcesso; if (objPerfilAcessoHerdar != null) { Retorno objRetorno; using (var objBLL = new PerfilAcesso()) { objRetorno = objBLL.RetornaPerfilAcesso(objPerfilAcessoHerdar.pac_codigo, null); } if (objRetorno.intCodigoErro == 0) { objPerfilAcessoHerdar = (tbPerfilAcesso)objRetorno.objRetorno; foreach (tbPerfilAcessoMenu objPerfilAcessoMenuHerdar in objPerfilAcessoHerdar.tbPerfilAcessoMenu) { foreach (PerfilAcessoMenuViewModel objPerfilAcessoMenuViewModel in arrPerfilAcessoMenuViewModel.Where(pam => pam.objPerfilAcessoMenu.tbMenu.men_codigo == objPerfilAcessoMenuHerdar.men_codigo)) { objPerfilAcessoMenuViewModel.pam_permiteAlteracao = objPerfilAcessoMenuHerdar.pam_permiteAlteracao; objPerfilAcessoMenuViewModel.pam_permiteInclusao = objPerfilAcessoMenuHerdar.pam_permiteInclusao; objPerfilAcessoMenuViewModel.pam_permiteExclusao = objPerfilAcessoMenuHerdar.pam_permiteExclusao; objPerfilAcessoMenuViewModel.pam_permiteVisualizacao = objPerfilAcessoMenuHerdar.pam_permiteVisualizacao; objPerfilAcessoMenuViewModel.pam_toolBar = objPerfilAcessoMenuHerdar.pam_toolBar; } } } else { MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro)); } } }
public void Pesquisar(object objParam) { if (objParam != null && objParam.GetType() == typeof(tbPerfilAcesso)) { if (base.blnJanela) { _objPerfilAcesso = (tbPerfilAcesso)objParam; Dispose(); } } else { int intSkip; if (objParam == null || !int.TryParse(objParam.ToString(), out intSkip)) { intSkip = 0; } Retorno objRetorno; using (var objBLL = new PerfilAcesso()) { objRetorno = objBLL.RetornaListaPerfilAcesso(strPacCodigoPesquisa, strPacDescricaoPesquisa, intSkip, base.intQtdeRegPagina); } if (objRetorno.intCodigoErro == 0) { if (objRetorno.intQtdeRegistro > 0) { if ((objRetorno.intQtdeRegistro % base.intQtdeRegPagina) > 0) { base.intTotalPagina = (int)(objRetorno.intQtdeRegistro / base.intQtdeRegPagina) + 1; } else { base.intTotalPagina = (int)(objRetorno.intQtdeRegistro / base.intQtdeRegPagina); } base.intPaginaAtual = 1; base.intQtdeReg = objRetorno.intQtdeRegistro; } arrPerfilAcessoPesquisa = (List <tbPerfilAcesso>)objRetorno.objRetorno; if (arrPerfilAcessoPesquisa.Count() == 0) { base.intTotalPagina = 1; base.intPaginaAtual = 1; base.intQtdeReg = 0; } } else { MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro)); } } }
private void Novo(object objParam) { //Carrega a lista de objetos referente ao combo Retorno objRetorno; Retorno objRetornoMenu; using (var objBLL = new PerfilAcesso()) { objRetorno = objBLL.RetornaListaPerfilAcesso(); objRetornoMenu = objBLL.RetornaListaMenu(); } if (objRetorno.intCodigoErro == 0) { arrPerfilAcessoHerdar = (List <tbPerfilAcesso>)objRetorno.objRetorno; } else { MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro)); } //Prepara a Model que será bindada na tela if (objRetornoMenu.intCodigoErro == 0) { tbPerfilAcesso objPerfilAcessoAux = new tbPerfilAcesso(); objPerfilAcessoAux.tbPerfilAcessoMenu = new List <tbPerfilAcessoMenu>(); foreach (tbMenu objMenu in (List <tbMenu>)objRetornoMenu.objRetorno) { objPerfilAcessoAux.tbPerfilAcessoMenu.Add(new tbPerfilAcessoMenu { pac_codigo = 0, men_codigo = objMenu.men_codigo, pam_permiteAlteracao = false, pam_permiteExclusao = false, pam_permiteInclusao = false, pam_permiteVisualizacao = false, pam_toolBar = false, tbMenu = objMenu }); } objPerfilAcesso = objPerfilAcessoAux; base.enStatusTelaAtual = enStatusTela.EmInclusaoOuAlteracao; } else { MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro)); } }
private string ValidaPerfilAcesso(tbPerfilAcesso objPerfilAcesso) { if (string.IsNullOrEmpty(objPerfilAcesso.pac_descricao) || string.IsNullOrWhiteSpace(objPerfilAcesso.pac_descricao)) { return("A Descrição deve ser informada."); } if (_objCtx.tbPerfilAcesso.AsNoTracking().Any(pac => (pac.pac_descricao.Equals(objPerfilAcesso.pac_descricao)) && pac.pac_codigo != objPerfilAcesso.pac_codigo)) { return("Já existe perfil com esse nome."); } var arrPerfilAcessoMenuSalvar = objPerfilAcesso.tbPerfilAcessoMenu.Where(pam => pam.pam_permiteAlteracao || pam.pam_permiteExclusao || pam.pam_permiteInclusao || pam.pam_permiteVisualizacao).ToList(); return(arrPerfilAcessoMenuSalvar.Count == 0 ? "Não foram informados nenhum item no menu de definições gerais." : string.Empty); }
public Retorno RetornaPerfilAcesso(int intCodigo, enNavegacao?enDirecao) { var objRetorno = new Retorno(); try { tbPerfilAcesso objPerfilAcesso = null; if (enDirecao == null) { objPerfilAcesso = _objCtx.tbPerfilAcesso.Include(pam => pam.tbPerfilAcessoMenu.Select(men => men.tbMenu)) .AsNoTracking() .FirstOrDefault(pac => pac.pac_codigo == intCodigo); } if (enDirecao == enNavegacao.Proximo) { objPerfilAcesso = _objCtx.tbPerfilAcesso.Include(pam => pam.tbPerfilAcessoMenu.Select(men => men.tbMenu)).AsNoTracking() .Where(pac => pac.pac_codigo > intCodigo) .OrderBy(pac => pac.pac_codigo).FirstOrDefault(); } if (enDirecao == enNavegacao.Anterior) { objPerfilAcesso = _objCtx.tbPerfilAcesso.Include(pam => pam.tbPerfilAcessoMenu.Select(men => men.tbMenu)).AsNoTracking() .Where(pac => pac.pac_codigo < intCodigo) .OrderByDescending(pac => pac.pac_codigo).FirstOrDefault(); } if (objPerfilAcesso != null) { objRetorno = RetornaListaMenu(); if (objRetorno.intCodigoErro == 0) { foreach (var objMenu in (List <tbMenu>)objRetorno.objRetorno) { if (objPerfilAcesso.tbPerfilAcessoMenu.FirstOrDefault(pam => pam.men_codigo == objMenu.men_codigo) == null) { objPerfilAcesso.tbPerfilAcessoMenu.Add(new tbPerfilAcessoMenu { pac_codigo = 0, men_codigo = objMenu.men_codigo, pam_permiteAlteracao = false, pam_permiteExclusao = false, pam_permiteInclusao = false, pam_permiteVisualizacao = false, pam_toolBar = false, tbMenu = objMenu }); } } objPerfilAcesso.tbPerfilAcessoMenu = objPerfilAcesso.tbPerfilAcessoMenu.OrderBy(pam => pam.tbMenu.men_ordem).ToList(); objRetorno.intCodigoErro = 0; objRetorno.objRetorno = objPerfilAcesso; } } else { objRetorno.intCodigoErro = 48; objRetorno.strMsgErro = "Registro não encontrado"; } } catch (Exception ex) { FrameworkUtil.LogErro(ex); objRetorno.intCodigoErro = 16; objRetorno.strMsgErro = ex.Message; objRetorno.strExceptionToString = ex.ToString(); } return(objRetorno); }
public Retorno SalvarPerfilAcesso(tbPerfilAcesso objPerfilAcesso, int intFunCodigo) { var objRetorno = new Retorno(); var strValidacao = ValidaPerfilAcesso(objPerfilAcesso); try { if (strValidacao == string.Empty) { var arrPerfilAcessoMenuSalvar = objPerfilAcesso.tbPerfilAcessoMenu.Where(pam => pam.pam_permiteAlteracao || pam.pam_permiteExclusao || pam.pam_permiteInclusao || pam.pam_permiteVisualizacao).ToList(); foreach (var objPerfilAcessoMenu in objPerfilAcesso.tbPerfilAcessoMenu.Where(pam => pam.pam_permiteAlteracao || pam.pam_permiteExclusao || pam.pam_permiteInclusao || pam.pam_permiteVisualizacao).ToList()) { ComplementaPerfilAcessoMenu(objPerfilAcessoMenu.pac_codigo, objPerfilAcessoMenu.tbMenu, ref arrPerfilAcessoMenuSalvar); } objPerfilAcesso.tbPerfilAcessoMenu.Clear(); foreach (var objPerfilAcessoMenuSalvar in arrPerfilAcessoMenuSalvar) { objPerfilAcessoMenuSalvar.tbMenu = null; objPerfilAcessoMenuSalvar.tbPerfilAcesso = null; objPerfilAcessoMenuSalvar.pac_codigo = objPerfilAcesso.pac_codigo; objPerfilAcesso.tbPerfilAcessoMenu.Add(objPerfilAcessoMenuSalvar); } enOperacao enTipoOperacao; if (objPerfilAcesso.pac_codigo == 0) { enTipoOperacao = enOperacao.Inclusao; _objCtx.tbPerfilAcesso.Add(objPerfilAcesso); } else { enTipoOperacao = enOperacao.Alteracao; var objPerfilAcessoContexto = _objCtx.tbPerfilAcesso .Include(pam => pam.tbPerfilAcessoMenu).FirstOrDefault(pac => pac.pac_codigo == objPerfilAcesso.pac_codigo); if (objPerfilAcessoContexto != null) { _objCtx.tbPerfilAcessoMenu.RemoveRange(objPerfilAcessoContexto.tbPerfilAcessoMenu); _objCtx.Entry(objPerfilAcessoContexto).CurrentValues.SetValues(objPerfilAcesso); } foreach (var objItem in objPerfilAcesso.tbPerfilAcessoMenu) { _objCtx.tbPerfilAcessoMenu.Add(objItem); } } _objCtx.SaveChanges(); using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao)) objBll.SalvarAuditoria(objPerfilAcesso.pac_codigo, enTipoOperacao, objPerfilAcesso, intFunCodigo); objRetorno.intCodigoErro = 0; } else { objRetorno.intCodigoErro = 48; objRetorno.strMsgErro = strValidacao; } } catch (Exception ex) { FrameworkUtil.LogErro(ex); objRetorno.intCodigoErro = 16; objRetorno.strMsgErro = ex.Message; objRetorno.strExceptionToString = ex.ToString(); } return(objRetorno); }