コード例 #1
0
ファイル: IndexEngine.cs プロジェクト: ztcyun/CommunityServer
        public void RemoveContacts(List <int> ids, int tenant, Guid user)
        {
            try
            {
                if (ids == null || !ids.Any())
                {
                    throw new ArgumentNullException("ids");
                }

                if (!IsIndexAvailable())
                {
                    return;
                }

                FactoryIndexer <MailContactWrapper> .Delete(
                    r => new Selector <MailContactWrapper>()
                    .In(s => s.Id, ids.ToArray())
                    .Where(e => e.User, user)
                    .Where(e => e.TenantId, tenant));
            }
            catch (Exception ex)
            {
                Log.ErrorFormat("IndexEngine->RemoveContacts(count = {0}) error: {1}", ids == null ? 0 : ids.Count, ex.ToString());
            }
        }
コード例 #2
0
ファイル: IndexEngine.cs プロジェクト: ztcyun/CommunityServer
        public void Remove(MailBoxData mailBox)
        {
            try
            {
                if (mailBox == null)
                {
                    throw new ArgumentNullException("mailBox");
                }

                if (!IsIndexAvailable())
                {
                    return;
                }

                var selector = new Selector <MailWrapper>()
                               .Where(m => m.MailboxId, mailBox.MailBoxId)
                               .Where(e => e.UserId, new Guid(mailBox.UserId))
                               .Where(e => e.TenantId, mailBox.TenantId);

                FactoryIndexer <MailWrapper> .Delete(r => selector);
            }
            catch (Exception ex)
            {
                Log.ErrorFormat("IndexEngine->Remove(mailboxId = {0}) error: {1}", mailBox == null ? -1 : mailBox.MailBoxId, ex.ToString());
            }
        }
コード例 #3
0
ファイル: SearchTest.cs プロジェクト: julthep/CommunityServer
        public void ProjectDeleteByQuery()
        {
            var searchText = "QAZWSX";
            var proj       = CreateProject(searchText, "Description");

            List <int> result;
            var        tenant = CoreContext.TenantManager.GetCurrentTenant();

            FactoryIndexer <ProjectsWrapper> .Delete(r => r.Match(a => a.Title, searchText));

            CoreContext.TenantManager.SetCurrentTenant(tenant.TenantId);
            SecurityContext.CurrentUser = tenant.OwnerId;;

            FactoryIndexer <ProjectsWrapper> .TrySelectIds(s => s.MatchAll(searchText), out result);

            CollectionAssert.IsEmpty(result);

            Delete(proj);

            FactoryIndexer <ProjectsWrapper> .TrySelectIds(s => s.MatchAll("Another"), out result);

            CollectionAssert.IsNotEmpty(result);
        }
コード例 #4
0
ファイル: SearchTest.cs プロジェクト: julthep/CommunityServer
 private void DeleteProject(Project project)
 {
     Delete(project);
     FactoryIndexer <ProjectsWrapper> .Delete(project);
 }