示例#1
0
        public void UpdatePermission(AjaxEditPermissionViewModel ajaxEditPermissionViewModel)
        {
            using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
            {
                try
                {
                    if (Request.IsAjaxRequest())
                    {
                        if (ajaxEditPermissionViewModel.Category == Guid.Empty)
                        {
                            // If category is empty guid then this is a global permission

                            var gpr = new GlobalPermissionForRole
                            {
                                MembershipRole =
                                    _roleService.GetRole(ajaxEditPermissionViewModel.MembershipRole),
                                Permission =
                                    _permissionService.Get(ajaxEditPermissionViewModel.Permission),
                                IsTicked = ajaxEditPermissionViewModel.HasPermission
                            };
                            _globalPermissionForRoleService.UpdateOrCreateNew(gpr);
                        }
                        else
                        {
                            // We have a category so it's a category permission

                            var mappedItem = new CategoryPermissionForRole
                            {
                                Category       = _categoryService.Get(ajaxEditPermissionViewModel.Category),
                                MembershipRole =
                                    _roleService.GetRole(ajaxEditPermissionViewModel.MembershipRole),
                                Permission =
                                    _permissionService.Get(ajaxEditPermissionViewModel.Permission),
                                IsTicked = ajaxEditPermissionViewModel.HasPermission
                            };
                            _categoryPermissionForRoleService.UpdateOrCreateNew(mappedItem);
                        }
                    }
                    unitOfWork.Commit();
                }
                catch (Exception ex)
                {
                    unitOfWork.Rollback();
                    LoggingService.Error(ex);
                    throw;
                }
            }
        }
示例#2
0
        public void UpdatePermission(AjaxEditPermissionViewModel ajaxEditPermissionViewModel)
        {
            try
            {
                if (Request.IsAjaxRequest())
                {
                    if (ajaxEditPermissionViewModel.Group == Guid.Empty)
                    {
                        // If Group is empty guid then this is a global permission

                        var gpr = new GlobalPermissionForRole
                        {
                            MembershipRole =
                                _roleService.GetRole(ajaxEditPermissionViewModel.MembershipRole),
                            Permission =
                                _permissionService.Get(ajaxEditPermissionViewModel.Permission),
                            IsTicked = ajaxEditPermissionViewModel.HasPermission
                        };
                        _globalPermissionForRoleService.UpdateOrCreateNew(gpr);
                    }
                    else
                    {
                        // We have a Group so it's a Group permission

                        var mappedItem = new GroupPermissionForRole
                        {
                            Group          = _groupService.Get(ajaxEditPermissionViewModel.Group),
                            MembershipRole =
                                _roleService.GetRole(ajaxEditPermissionViewModel.MembershipRole),
                            Permission =
                                _permissionService.Get(ajaxEditPermissionViewModel.Permission),
                            IsTicked = ajaxEditPermissionViewModel.HasPermission
                        };
                        _groupPermissionForRoleService.UpdateOrCreateNew(mappedItem);
                    }
                }
                Context.SaveChanges();
            }
            catch (Exception ex)
            {
                Context.RollBack();
                LoggingService.Error(ex);
                throw;
            }
        }