Example #1
0
        /// <summary>
        /// 级联删除
        /// </summary>
        /// <param name="parent">被删除的实体</param>
        public void CascadeDelete(params Schema.Domain.Entity[] parent)
        {
            if (parent.IsEmpty())
            {
                return;
            }
            var entityIds = parent.Select(x => x.EntityId).ToArray();
            var deleteds  = _filterRuleRepository.Query(x => x.EntityId.In(entityIds));

            if (deleteds.NotEmpty())
            {
                DeleteCore(deleteds.ToArray());
            }
        }
Example #2
0
        public bool UpdateState(IEnumerable <Guid> ids, bool isEnabled)
        {
            var context = UpdateContextBuilder.Build <FilterRule>();

            context.Set(f => f.StateCode, isEnabled ? RecordState.Enabled : RecordState.Disabled);
            context.Where(f => f.FilterRuleId.In(ids));
            var result = false;

            using (UnitOfWork.Build(_filterRuleRepository.DbContext))
            {
                result = _filterRuleRepository.Update(context);
                var items = _filterRuleRepository.Query(x => x.FilterRuleId.In(ids));
                foreach (var item in items)
                {
                    _cacheService.SetListItem(item);
                }
            }
            return(result);
        }
Example #3
0
        public List <FilterRule> Query(Func <QueryDescriptor <FilterRule>, QueryDescriptor <FilterRule> > container)
        {
            QueryDescriptor <FilterRule> q = container(QueryDescriptorBuilder.Build <FilterRule>());

            return(_filterRuleRepository.Query(q)?.ToList());
        }