internal MailboxSearchObject(SearchObject searchObject, SearchStatus searchStatus) { if (searchObject == null) { throw new ArgumentNullException("searchObject"); } if (searchStatus == null) { throw new ArgumentException("searchStatus"); } this.searchObject = searchObject; this.searchStatus = searchStatus; }
public void AddSearchStatus(SearchStatus status) { if (status == null) { throw new ArgumentNullException("status"); } this.AddProperty(SearchStatusSchema.Status.Name, status.Status); this.AddProperty(SearchStatusSchema.LastStartTime.Name, status.LastStartTime); this.AddProperty(SearchStatusSchema.LastEndTime.Name, status.LastEndTime); this.AddProperty(SearchStatusSchema.NumberMailboxesToSearch.Name, status.NumberMailboxesToSearch); this.AddProperty(SearchStatusSchema.PercentComplete.Name, status.PercentComplete); this.AddProperty(SearchStatusSchema.ResultNumber.Name, status.ResultNumber); this.AddProperty(SearchStatusSchema.ResultSize.Name, status.ResultSize); this.AddProperty(SearchStatusSchema.ResultSizeEstimate.Name, status.ResultSizeEstimate); this.AddProperty(SearchStatusSchema.ResultSizeCopied.Name, status.ResultSizeCopied); this.AddProperty(SearchStatusSchema.Errors.Name, status.Errors); this.AddProperty(SearchStatusSchema.KeywordHits.Name, status.KeywordHits); this.AddProperty(SearchStatusSchema.CompletedMailboxes.Name, status.CompletedMailboxes); }
private void LogSaveEvent(SearchObjectBase obj) { SearchEventLogger.PropertyLogData propertyLogData = new SearchEventLogger.PropertyLogData(); if (base.ADUser.OrganizationId != null && base.ADUser.OrganizationId.ConfigurationUnit != null) { propertyLogData.AddOrganization(base.ADUser.OrganizationId.ConfigurationUnit.ToString()); } switch (obj.ObjectType) { case ObjectType.SearchObject: break; case ObjectType.SearchStatus: { SearchStatus searchStatus = (SearchStatus)obj; propertyLogData.AddSearchStatus(searchStatus); SearchEventLogger.Instance.LogSearchStatusSavedEvent(propertyLogData); if (searchStatus.Errors == null) { return; } using (MultiValuedProperty <string> .Enumerator enumerator = searchStatus.Errors.GetEnumerator()) { while (enumerator.MoveNext()) { string errorMsg = enumerator.Current; SearchEventLogger.Instance.LogSearchErrorEvent(obj.Id.ToString(), errorMsg); } return; } break; } default: return; } propertyLogData.AddSearchObject((SearchObject)obj); SearchEventLogger.Instance.LogSearchObjectSavedEvent(propertyLogData); }