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()); } }
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()); } }
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); }
private void DeleteProject(Project project) { Delete(project); FactoryIndexer <ProjectsWrapper> .Delete(project); }