Ejemplo n.º 1
0
        public ActionResult Edit(string id)
        {
            try
            {
                var usuario = UserManager
                              .Users
                              .First(x => x.Id == id);

                var funcao = UserManager.GetRolesAsync(usuario.Id).Result.FirstOrDefault();

                var permissao = new PermissaoViewModel
                {
                    IdUsuario    = usuario.Id,
                    NomeUsuario  = usuario.UserName,
                    EmailUsuario = usuario.Email,
                    Role         = funcao,
                };

                ViewBag.Roles = Constants
                                .SystemRoles
                                .Select(s => new DropDownDto <string> {
                    Id = s, Descricao = s
                });

                return(View("Edit", permissao));
            }
            catch (Exception)
            {
                ViewBag.Error = "Usuário não encontrados";
                return(RedirectToAction("Index"));
            }
        }
Ejemplo n.º 2
0
        public ActionResult Cadastrar(int?cargoId)
        {
            if (!cargoId.HasValue)
            {
                return(RedirectToAction("Index", "Cargos"));
            }

            var cargo = _cargoRepositorio.ObterCargoPorId(cargoId.Value);

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

            PermissaoViewModel viewModel = new PermissaoViewModel
            {
                CargoId = cargo.Id
            };

            PopularCargos(viewModel);
            PopularPermissoes(viewModel);

            if (viewModel.Menus.Count > 0)
            {
                return(View(viewModel));
            }

            PopularMenus(viewModel);

            return(View(viewModel));
        }
Ejemplo n.º 3
0
 private void PopularMenus(PermissaoViewModel permissaoViewModel)
 {
     permissaoViewModel.Menus = _controleAcessoRepositorio
                                .ObterMenus()
                                .Where(c => c.Dinamico == false)
                                .ToList();
 }
Ejemplo n.º 4
0
        public PermissaoViewModel Atualizar(PermissaoViewModel permissao)
        {
            var permissaoReturn = Mapper.Map <PermissaoViewModel>(_permissaoServices
                                                                  .Atualizar(Mapper.Map <Permissao>(permissao)));

            Commit();
            return(permissaoReturn);
        }
Ejemplo n.º 5
0
 public ActionResult Editar(PermissaoViewModel permissaoViewModel)
 {
     if (ModelState.IsValid)
     {
         var permissaoRetorno = _permissaoAppServices.Atualizar(permissaoViewModel);
         return(RedirectToAction("Index"));
     }
     return(View(permissaoViewModel));
 }
Ejemplo n.º 6
0
        //[Authorize(Policy = "CanWritePermissao")]
        public IActionResult PermissaoEdit(PermissaoViewModel model)
        {
            if (!ModelState.IsValid)
            {
                NotificarErroModelInvalida();
                return(Response(model));
            }

            _permissaoService.Editar(_mapper.Map <PermissaoModel>(model));

            return(Response());
        }
Ejemplo n.º 7
0
        public PermissaoViewModel Adicionar(PermissaoViewModel permissao)
        {
            var permissaoReturn = Mapper.Map <PermissaoViewModel>(_permissaoServices
                                                                  .Adicionar(Mapper.Map <Permissao>(permissao)));

            if (permissaoReturn.ValidationResult.IsValid)
            {
                Commit();
            }

            return(permissaoReturn);
        }
Ejemplo n.º 8
0
        public static dynamic RemoverPermissao(PermissaoViewModel viewModel)
        {
            try
            {
                //#region Connection
                //Connection connection = Connection.Instance;
                //connection.ConnectionString = VisualWebPart1._connectionString;
                //connection.User = VisualWebPart1._username;
                //connection.Password = VisualWebPart1._password;
                //#endregion

                IApplicationFacade application = new ApplicationFacade();

                application.RemoverPermissaoSite(viewModel.site, viewModel.nome);
                //var list = new List<Site>();

                //SPSecurity.RunWithElevatedPrivileges(delegate()
                //{
                //    using (SPWeb web = new SPSite(SPContext.Current.Site.ID).OpenWeb(String.Concat(@"/", viewModel.site)))
                //    {
                //        var anterior = web.AllowUnsafeUpdates;
                //        web.AllowUnsafeUpdates = true;

                //        try
                //        {
                //            web.RoleAssignments.Remove(web.SiteGroups[viewModel.nome]);
                //        }
                //        catch (Exception)
                //        {
                //            web.RoleAssignments.Remove(web.EnsureUser(viewModel.nome));
                //        }

                //        web.Update();
                //        web.AllowUnsafeUpdates = !anterior;
                //    }
                //});


                return(JsonConvert.SerializeObject(
                           viewModel, new JsonSerializerSettings
                {
                    ContractResolver = new CamelCasePropertyNamesContractResolver()
                }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 9
0
        public ActionResult Create(PermissaoViewModel model)
        {
            try
            {
                UserManager.RemoveFromRolesAsync(model.IdUsuario, Constants.SystemRoles);

                UserManager.AddToRoleAsync(model.IdUsuario, model.Role);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 10
0
 public ActionResult Novo(PermissaoViewModel permissaoViewModel)
 {
     if (ModelState.IsValid)
     {
         var permissaoRetorno = _permissaoAppServices.Adicionar(permissaoViewModel);
         if (!permissaoRetorno.ValidationResult.IsValid)
         {
             foreach (var erro in permissaoRetorno.ValidationResult.Erros)
             {
                 ModelState.AddModelError(string.Empty, erro.Message);
             }
             return(View(permissaoViewModel));
         }
         return(RedirectToAction("Index"));
     }
     return(View(permissaoViewModel));
 }
Ejemplo n.º 11
0
        public ActionResult Edit(PermissaoViewModel permissao)
        {
            try
            {
                // Retira todas as funções associadas.
                UserManager.RemoveFromRolesAsync(permissao.IdUsuario, Constants.SystemRoles);

                // Adiciona a função selecionada na alteração.
                UserManager.AddToRoleAsync(permissao.IdUsuario, permissao.Role);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 12
0
        public ActionResult Cadastrar([Bind(Include = "CargoId, Menus")] PermissaoViewModel viewModel)
        {
            var cargo = _cargoRepositorio.ObterCargoPorId(viewModel.CargoId);

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

            PermissaoAcesso permissaoAcesso = new PermissaoAcesso();

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

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

            if (Validar(permissaoAcesso))
            {
                _controleAcessoRepositorio.AplicarPermissoes(viewModel.CargoId, permissaoAcesso.PermissoesAcesso);

                GravarLogAuditoria(TipoLogAuditoria.INSERT, permissaoAcesso);

                TempData["Sucesso"] = true;
            }

            PopularCargos(viewModel);
            PopularPermissoes(viewModel);

            return(View(viewModel));
        }
Ejemplo n.º 13
0
        public ActionResult Cadastro(string id)
        {
            var model = new PermissaoViewModel();

            if (!string.IsNullOrEmpty(id))
            {
                var callResult = ServiceApi.Call(_configuration, HttpContext, _permissaoPath + id, ServiceType.GET, id, true);

                if (!callResult.Success)
                {
                    ViewBag.Result = new ValidationMessage(callResult);
                    return(View("~/Views/Gerencial/Permissao/Index.cshtml"));
                }

                model = JsonConvert.DeserializeObject <PermissaoViewModel>(Convert.ToString(callResult.Data));
            }

            ViewBag.SLTipoPermissao = LoadTipoPermissaoSL(model.TipoId);
            return(View("~/Views/Gerencial/Permissao/Cadastro.cshtml", model));
        }
Ejemplo n.º 14
0
        public ActionResult Save(PermissaoViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("~/Views/Gerencial/Permissao/Cadastro.cshtml", model));
            }

            bool   flEditar = (model.Id != null && model.Id != Guid.NewGuid()) ? true : false;
            string url      = flEditar ? _permissaoPath + "editar" : _permissaoPath + "adicionar";

            var callResult = ServiceApi.Call(_configuration, HttpContext, url, flEditar ? ServiceType.PUT : ServiceType.POST, model, flEditar);
            var resultApi  = new ValidationMessage(callResult, flEditar ? "Permissão editada com sucesso!!" : "Permissão adicionada com sucesso!!");

            ViewBag.Result = resultApi;

            if (resultApi.MsgType == 1)
            {
                return(RedirectToAction("Index", resultApi));
            }
            else
            {
                return(View("~/Views/Gerencial/Permissao/Cadastro.cshtml", model));
            }
        }
Ejemplo n.º 15
0
 private void PopularPermissoes(PermissaoViewModel permissaoViewModel)
 {
     permissaoViewModel.Menus = _controleAcessoRepositorio
                                .ObterPermissoes(permissaoViewModel.CargoId)
                                .ToList();
 }
Ejemplo n.º 16
0
 private void PopularCargos(PermissaoViewModel permissaoViewModel)
 {
     permissaoViewModel.Cargos = _cargoRepositorio
                                 .ObterCargos()
                                 .ToList();
 }
Ejemplo n.º 17
0
 public ConfigurationProfile()
 {
     PerfilViewModel.Mapping(this);
     PermissaoViewModel.Mapping(this);
 }
Ejemplo n.º 18
0
        public static string AddPermissao(PermissaoViewModel viewModel)
        {
            try
            {
                //#region Connection
                //Connection connection = Connection.Instance;
                //connection.ConnectionString = VisualWebPart1._connectionString;
                //connection.User = VisualWebPart1._username;
                //connection.Password = VisualWebPart1._password;
                //#endregion

                IApplicationFacade application = new ApplicationFacade();
                application.AdicionarPermissaoSite(viewModel.site, viewModel.nome, viewModel.nivelPermissao);
                //var list = new List<Site>();

                //SPSecurity.RunWithElevatedPrivileges(delegate()
                //{
                //    using (SPWeb web = new SPSite(SPContext.Current.Site.ID).OpenWeb(String.Concat(@"/", viewModel.site)))
                //    {
                //        var anterior = web.AllowUnsafeUpdates;
                //        web.AllowUnsafeUpdates = true;

                //        //Criar grupo:
                //        SPGroup group = null;
                //        try
                //        {
                //            group = web.SiteGroups[viewModel.nome];
                //        }
                //        catch (Exception)
                //        {
                //            if (group == null)
                //            {
                //                web.SiteGroups.Add(viewModel.nome, SPContext.Current.Web.CurrentUser, web.Author, "Your Group Description");
                //                group = web.SiteGroups[viewModel.nome];
                //            }
                //        }


                //        // Adicionar permissão:
                //        SPRoleType type = SPRoleType.None;
                //        switch (viewModel.nivelPermissao)
                //        {
                //            case "Contribuição": type = SPRoleType.Contributor; break;
                //            case "Controle Total": type = SPRoleType.Administrator; break;
                //            case "Leitura": type = SPRoleType.Reader; break;
                //            case "Edição": type = SPRoleType.Editor; break;
                //            case "Designer": type = SPRoleType.WebDesigner; break;
                //        }
                //        SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(type);

                //        SPRoleAssignment roleAssignment = new SPRoleAssignment(group);
                //        roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
                //        web.RoleAssignments.Add(roleAssignment);
                //        web.Update();
                //        web.AllowUnsafeUpdates = !anterior;
                //    }
                //});


                return(JsonConvert.SerializeObject(
                           viewModel, new JsonSerializerSettings
                {
                    ContractResolver = new CamelCasePropertyNamesContractResolver()
                }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }