Example #1
0
        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));
                }
            }
        }
Example #2
0
        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));
                }
            }
        }
Example #3
0
        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));
            }
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }