Ejemplo n.º 1
0
        // GET: Cargos
        public async Task <IActionResult> Index(int page = 1, string searchString = null)

        {
            var Cargos = from p in _context.Cargos
                         select p;

            if (!String.IsNullOrEmpty(searchString))
            {
                Cargos = Cargos.Where(p => p.Nome.Contains(searchString));
            }
            decimal nCargos        = Cargos.Count();
            int     NUMERO_PAGINAS = ((int)nCargos / TamanhoPagina);

            if (nCargos % TamanhoPagina == 0)
            {
                NUMERO_PAGINAS -= 1;
            }

            CargosViewModel vm = new CargosViewModel
            {
                Cargos         = Cargos.OrderBy(p => p.Nome).Skip((page - 1) * TamanhoPagina).Take(TamanhoPagina),
                PaginaAtual    = page,
                PrimeiraPagina = Math.Max(1, page - NUMERO_PAGINAS),
                TotalPaginas   = (int)Math.Ceiling(nCargos / TamanhoPagina)
            };

            vm.UltimaPagina  = Math.Min(vm.TotalPaginas, page + NUMERO_PAGINAS);
            vm.StringProcura = searchString;
            return(View(vm));
        }
Ejemplo n.º 2
0
        public ActionResult Atualizar([Bind(Include = "Id, Descricao, Vendedor")] CargosViewModel viewModel, int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var cargo = _cargosRepositorio.ObterCargoPorId(id.Value);

            if (cargo == null)
            {
                RegistroNaoEncontrado();
            }

            cargo.Alterar(new Cargo(viewModel.Descricao, viewModel.Vendedor));

            if (Validar(cargo))
            {
                _cargosRepositorio.Atualizar(cargo);

                TempData["Sucesso"] = true;

                GravarLogAuditoria(TipoLogAuditoria.UPDATE, cargo);
            }

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        // GET: Cargos
        public IActionResult Index(int page = 1)
        {
            decimal         numberProducts = _context.Cargos.Count();
            CargosViewModel vm             = new CargosViewModel
            {
                Cargos = _context.Cargos
                         //.OrderBy(p => p.Nome)
                         .Skip((page - 1) * NUMERO_DE_CARGOS_POR_PAGINA)
                         .Take(NUMERO_DE_CARGOS_POR_PAGINA),
                PaginaAtual    = page,
                TotalPaginas   = (int)Math.Ceiling(numberProducts / NUMERO_DE_CARGOS_POR_PAGINA),
                PrimeiraPagina = Math.Max(1, page - NUMERO_DE_PAGINAS_ANTES_DEPOIS),
            };

            vm.UltimaPagina = Math.Min(vm.TotalPaginas, page + NUMERO_DE_PAGINAS_ANTES_DEPOIS);
            return(View(vm));
        }
Ejemplo n.º 4
0
        public ActionResult Cadastrar([Bind(Include = "Descricao, Vendedor")] CargosViewModel viewModel)
        {
            var cargo = new Cargo(viewModel.Descricao, viewModel.Vendedor);

            if (Validar(cargo))
            {
                cargo.Id = _cargosRepositorio.Cadastrar(cargo);

                if (!_controleAcessoRepositorio.ExistePermissaoNoCargo(cargo.Id))
                {
                    var menus = _controleAcessoRepositorio.ObterMenus().ToList();

                    PermissaoAcesso permissaoAcesso = new PermissaoAcesso();

                    foreach (var menu in menus)
                    {
                        var campos = menus
                                     .Where(m => m.Id == menu.Id)
                                     .SelectMany(c => c.Campos);

                        permissaoAcesso.IncluirPermissaoAcesso(new PermissaoAcesso
                        {
                            MenuId    = menu.Id,
                            CargoId   = cargo.Id,
                            Acessar   = false,
                            Cadastrar = false,
                            Atualizar = false,
                            Excluir   = false,
                            Logs      = false,
                            Campos    = campos
                        });
                    }

                    _controleAcessoRepositorio.AplicarPermissoes(cargo.Id, permissaoAcesso.PermissoesAcesso);
                }

                TempData["Sucesso"] = true;

                GravarLogAuditoria(TipoLogAuditoria.INSERT, cargo);
            }

            return(View(viewModel));
        }
Ejemplo n.º 5
0
        // GET: Cargos
        public async Task <IActionResult> Index(int page = 1, string searchString = "", string sort = "true", string procurar = "Nome")
        {
            var cargos = from p in _context.Cargos
                         select p;

            if (!String.IsNullOrEmpty(searchString))
            {
                cargos = cargos.Where(p => p.NomeCargo.Contains(searchString));
                if (procurar.Equals("Nome"))
                {
                    cargos = cargos.Where(p => p.NomeCargo.Contains(searchString));
                }
            }

            decimal         numberCargos = _context.Cargos.Count();
            CargosViewModel vm           = new CargosViewModel
            {
                Sort          = sort,
                Cargos        = _context.Cargos.OrderBy(p => p.NomeCargo).Skip((page - 1) * CARGOS_PER_PAGE).Take(CARGOS_PER_PAGE),
                CurrentPage   = page,
                FirstPageShow = Math.Max(1, page - NUMBER_PAGES_BEFORE_AND_AFTER),
                TotalPages    = (int)Math.Ceiling(numberCargos / NUMBER_CARGO_PER_PAGE),
                Procurar      = procurar
            };

            if (sort.Equals("true"))
            {
                vm.Cargos = cargos.OrderBy(p => p.NomeCargo).Skip((page - 1) * NUMBER_CARGO_PER_PAGE).Take(NUMBER_CARGO_PER_PAGE);
            }
            else
            {
                vm.Cargos = cargos.OrderByDescending(p => p.NomeCargo).Skip((page - 1) * NUMBER_CARGO_PER_PAGE).Take(NUMBER_CARGO_PER_PAGE);
            }


            vm.LastPageShow   = Math.Min(vm.TotalPages, page + NUMBER_PAGES_BEFORE_AND_AFTER);
            vm.StringProcurar = searchString;


            return(View(vm));
        }
Ejemplo n.º 6
0
        public ActionResult Atualizar(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var cargo = _cargosRepositorio.ObterCargoPorId(id.Value);

            if (cargo == null)
            {
                RegistroNaoEncontrado();
            }

            var viewModel = new CargosViewModel
            {
                Id        = cargo.Id,
                Descricao = cargo.Descricao,
                Vendedor  = cargo.Vendedor
            };

            return(View(viewModel));
        }