コード例 #1
0
ファイル: DuplicateRuleDeleter.cs プロジェクト: xixiky/xms
        /// <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  = _duplicateRuleRepository.Query(x => x.EntityId.In(entityIds));

            if (deleteds.NotEmpty())
            {
                DeleteCore(deleteds.ToArray());
            }
        }
コード例 #2
0
        public List <DuplicateRule> Query(Func <QueryDescriptor <DuplicateRule>, QueryDescriptor <DuplicateRule> > container)
        {
            QueryDescriptor <DuplicateRule> q = container(QueryDescriptorBuilder.Build <DuplicateRule>());
            var datas = _duplicateRuleRepository.Query(q)?.ToList();

            WrapLocalizedLabel(datas);
            return(datas);
        }
コード例 #3
0
ファイル: DuplicateRuleUpdater.cs プロジェクト: xixiky/xms
        public bool UpdateState(IEnumerable <Guid> ids, bool isEnabled)
        {
            var context = UpdateContextBuilder.Build <DuplicateRule>();

            context.Set(f => f.StateCode, isEnabled ? RecordState.Enabled : RecordState.Disabled);
            context.Where(f => f.DuplicateRuleId.In(ids));
            var flag = _duplicateRuleRepository.Update(context);

            if (flag)
            {
                var updated = _duplicateRuleRepository.Query(x => x.DuplicateRuleId.In(ids));
                foreach (var item in updated)
                {
                    //set to cache
                    _cacheService.SetEntity(item);
                }
            }
            return(flag);
        }