public ActionResult AddPermissaoAoGrupoAcesso(GrupoAcessoModelView grupoAcesso, int permissaoId)
        {
            var getGrupoAcessoComObjCorreto = _grupoAcessoService.GetById(grupoAcesso.Id);

            try
            {
                if (!ModelState.IsValid)
                {
                    var idVindoDoViewBagDaPermissao = _permissaoService.GetById(permissaoId);
                    if (getGrupoAcessoComObjCorreto.Permissoes.Any(u => u.Tela == idVindoDoViewBagDaPermissao.Tela))
                    {
                        throw new Exception("Este grupo já possui uma permissão com acesso de Tela. Caso necessário consulte seu Administrador !");
                    }
                    getGrupoAcessoComObjCorreto.Permissoes.Add(idVindoDoViewBagDaPermissao);
                    _grupoAcessoService.Update(getGrupoAcessoComObjCorreto);
                    return(RedirectToAction("IndexGrupoAcessos"));
                }
                return(RedirectToAction("CreateGrupoAcesso"));
            }
            catch (Exception E)
            {
                ViewBag.Erro     = E.Message;
                ViewBag.Usuarios = Mapper.Map <ICollection <Usuario>, ICollection <UsuarioModelView> >(_usuarioService.GetAll());
                return(View(Mapper.Map <GrupoAcesso, GrupoAcessoModelView>(getGrupoAcessoComObjCorreto)));
            }
        }
        public ActionResult EditGrupoAcesso(GrupoAcessoModelView grupoAcesso, int permissoesId)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var grupo = Mapper.Map <GrupoAcessoModelView, GrupoAcesso>(grupoAcesso);
                    grupo.Permissoes.Add(_permissaoService.GetById(permissoesId));
                    _grupoAcessoService.Update(grupo);
                    return(RedirectToAction("IndexGrupoAcessos"));
                }

                return(RedirectToAction("EditGrupoAcesso", grupoAcesso));
            }
            catch (Exception e)
            {
                ViewBag.Erro = e.Message;
                return(View(grupoAcesso));
            }
        }
        public ActionResult AddUsuarioAoGrupoAcesso(GrupoAcessoModelView grupoAcesso, int usuarioId)
        {
            var getGrupoAcessoComObjCorreto = _grupoAcessoService.GetById(grupoAcesso.Id);

            try
            {
                if (!ModelState.IsValid)
                {
                    var idVindoDoViewBagDaUsuario = _usuarioService.GetById(usuarioId);
                    getGrupoAcessoComObjCorreto.Usuarios.Add(idVindoDoViewBagDaUsuario);
                    _grupoAcessoService.Update(getGrupoAcessoComObjCorreto);
                    return(RedirectToAction("IndexGrupoAcessos"));
                }
                return(RedirectToAction("CreateGrupoAcesso"));
            }
            catch (Exception E)
            {
                ViewBag.Erro      = E.Message;
                ViewBag.Usuarioes = Mapper.Map <ICollection <Usuario>, ICollection <UsuarioModelView> >(_usuarioService.GetAll());
                return(View(Mapper.Map <GrupoAcesso, GrupoAcessoModelView>(getGrupoAcessoComObjCorreto)));
            }
        }