Exemple #1
0
 public ActionResult CreatePermission(NewAppPermissionViewModel model)
 {
     using (var context = new AppSecurityContext())
     {
         var actionRepository     = new ActionRepository(context);
         var resourceRepository   = new ResourceRepository(context);
         var permissionRepository = new PermissionRepository(context);
         try
         {
             var resource = resourceRepository.Find(model.SelectedResource);
             var actions  = actionRepository.Query(x => model.SelectedActions.Contains(x.Key));
             foreach (var action in actions)
             {
                 var permission = new AppPermission();
                 permission.Action   = action;
                 permission.Resource = resource;
                 permissionRepository.Add(permission);
             }
             context.SaveChanges();
             return(RedirectToAction("Permissions"));
         }
         catch (Exception ex)
         {
             ViewBag.Error = ex.Message;
             var actions = actionRepository.GetAll().OrderBy(x => x.Name);
             model.AvailableActions = mapper.Map <ICollection <AppActionViewModel> >(actions);
             model.ResourcesList    = PopulateResourcesForNewPermission(model.SelectedResource);
             return(View(model));
         }
     }
 }
Exemple #2
0
        public bool AddPermission(PermissionDTO model)
        {
            var permission = model.Map <Permission>();

            _eventPublisher.EntityInserted(permission);//清缓存
            return(_permissionRepository.Add(permission));
        }
Exemple #3
0
        public void Deveria_Adicionar_Uma_Permissao()
        {
            PermissionRepository.Add(ObjectBuilder.CreatePermission());
            Uow.Commit();

            var list = PermissionRepository.GetAll();

            Assert.AreEqual(9, list.Count);
        }
Exemple #4
0
        public ActionResult EditPermission(string id, EditAppPermissionViewModel model)
        { //Clave del resource
            using (var context = new AppSecurityContext())
            {
                var actionRepository     = new ActionRepository(context);
                var resourceRepository   = new ResourceRepository(context);
                var permissionRepository = new PermissionRepository(context);
                try
                {
                    var actions     = actionRepository.GetAll();
                    var resource    = resourceRepository.Find(id);
                    var permissions = permissionRepository.GetAll().Where(x => x.ResourceKey == resource.Key);
                    var actionKeys  = permissions.Select(x => x.ActionKey).ToArray();
                    model.AvailableActions = mapper.Map <ICollection <AppActionViewModel> >(actions);

                    //Se eliminan los permisos anteriores
                    foreach (var perm in permissions)
                    {
                        permissionRepository.Delete(perm);
                    }

                    if (model.SelectedActions != null)
                    {
                        //Se agregan los nuevos
                        var actionsForInsert = actionRepository.Query(x => model.SelectedActions.Contains(x.Key));
                        foreach (var action in actionsForInsert)
                        {
                            var permission = new AppPermission();
                            permission.Action   = action;
                            permission.Resource = resource;
                            permissionRepository.Add(permission);
                        }
                        model.SelectedActions = actionKeys;
                        model.ResourceKey     = resource.Key;
                        model.ResourceName    = resource.Name;
                    }
                    context.SaveChanges();
                    return(RedirectToAction("Permissions"));
                }
                catch (Exception ex)
                {
                    ViewBag.Error = ex.Message;
                    if (ex.InnerException != null)
                    {
                        ViewBag.Error += ex.InnerException.Message;
                    }
                    return(View(model));
                }
            }
        }
Exemple #5
0
        public void Agregar(PermissionViewModel pPermissionViewModel)
        {
            permissions opermissions = new permissions
            {
                id_permission           = 0,
                name                    = pPermissionViewModel.name,
                title                   = pPermissionViewModel.title,
                is_only_for_super_admin = 0,
                date_created            = DateTime.Now,
                user_id_created         = pPermissionViewModel.user_id_created
            };

            oRepositorio.Add(opermissions);
            oUnitOfWork.SaveChanges();
        }
Exemple #6
0
        public void SubmitForm(RoleInputDto roleInputDto, string[] resourceIdsArray, string keyValue)
        {
            Role role = new Role();
            long id   = Convert.ToInt64(keyValue);

            if (!string.IsNullOrEmpty(keyValue))
            {
                role = roleRepository.Get(id);
                AutoMapper.Mapper.Map <RoleInputDto, Role>(roleInputDto, role);
                role.LastModificationTime = DateTime.Now;
                roleRepository.Update(role);
            }
            else
            {
                AutoMapper.Mapper.Map <RoleInputDto, Role>(roleInputDto, role);
                role.Id           = IdWorkerHelper.GenId64();
                role.CreationTime = DateTime.Now;
                roleRepository.Add(role);
            }
            permissionRepository.Delete(new Specification <Permission>(p => p.ObjectId.Equals(id)));
            List <Permission> permissionList = new List <Permission>();

            foreach (var resourceId in resourceIdsArray)
            {
                Permission permission = new Permission();
                permission.Id           = IdWorkerHelper.GenId64();
                permission.ResourceId   = Convert.ToInt64(resourceId);
                permission.ObjectId     = id;
                permission.ObjectType   = "RolePermission";
                permission.CreationTime = DateTime.Now;
                permission.DeletedMark  = false;
                permissionList.Add(permission);
                Debug.WriteLine(permission.Id);
            }
            permissionRepository.Add(permissionList);
        }
 public async Task <Permission> Create([FromBody] Permission model)
 {
     return(await _permissionRepository.Add(model));
 }