Пример #1
0
        public bool UpdateAuthorization(bool isAuthorization, params Guid[] id)
        {
            var context = UpdateContextBuilder.Build <Domain.Privilege>();

            context.Set(f => f.AuthorizationEnabled, isAuthorization);
            context.Where(f => f.PrivilegeId.In(id));
            var result = true;

            using (UnitOfWork.Build(_privilegeRepository.DbContext))
            {
                result = _privilegeRepository.Update(context);
                _eventPublisher.Publish(new AuthorizationStateChangedEvent
                {
                    ObjectId = id.ToList()
                    ,
                    State = isAuthorization
                    ,
                    ResourceName = SiteMapDefaults.ModuleName
                });
                //set to cache
                var items = _privilegeRepository.Query(f => f.PrivilegeId.In(id)).ToList();
                foreach (var item in items)
                {
                    _cacheService.SetEntity(item);
                }
            }
            return(result);
        }