private void ExecuteCalendarVDirTests(TestCasConnectivity.TestCasConnectivityRunInstance instance, CasTransactionOutcome outcome) { string text = string.Format("{0}/Calendar/calendar.html", instance.exchangePrincipal.MailboxInfo.PrimarySmtpAddress.ToString()); string text2 = string.Format("{0}/Calendar/calendar.ics", instance.exchangePrincipal.MailboxInfo.PrimarySmtpAddress.ToString()); ADSessionSettings adsessionSettings = instance.exchangePrincipal.MailboxInfo.OrganizationId.ToADSessionSettings(); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, true, ConsistencyMode.IgnoreInvalid, null, adsessionSettings, 293, "ExecuteCalendarVDirTests", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Monitoring\\Tasks\\TestCalendarConnectivity.cs"); using (MailboxCalendarFolderDataProvider mailboxCalendarFolderDataProvider = new MailboxCalendarFolderDataProvider(adsessionSettings, DirectoryHelper.ReadADRecipient(instance.exchangePrincipal.MailboxInfo.MailboxGuid, instance.exchangePrincipal.MailboxInfo.IsArchive, tenantOrRootOrgRecipientSession) as ADUser, "Test-CalendarConnectivity")) { StoreObjectId defaultFolderId = mailboxCalendarFolderDataProvider.MailboxSession.GetDefaultFolderId(DefaultFolderType.Calendar); Microsoft.Exchange.Data.Storage.Management.MailboxFolderId identity = new Microsoft.Exchange.Data.Storage.Management.MailboxFolderId(instance.exchangePrincipal.ObjectId, defaultFolderId, null); MailboxCalendarFolder mailboxCalendarFolder = (MailboxCalendarFolder)mailboxCalendarFolderDataProvider.Read <MailboxCalendarFolder>(identity); if (!mailboxCalendarFolder.PublishEnabled) { mailboxCalendarFolder.SearchableUrlEnabled = true; mailboxCalendarFolder.PublishEnabled = true; mailboxCalendarFolder.PublishedCalendarUrl = new Uri(instance.baseUri, text).ToString(); mailboxCalendarFolder.PublishedICalUrl = new Uri(instance.baseUri, text2).ToString(); try { mailboxCalendarFolderDataProvider.Save(mailboxCalendarFolder); } catch (NotAllowedPublishingByPolicyException ex) { instance.Outcomes.Enqueue(new Warning(ex.LocalizedString)); return; } } } ADOwaVirtualDirectory adowaVirtualDirectory = instance.VirtualDirectory as ADOwaVirtualDirectory; if (adowaVirtualDirectory != null && !(adowaVirtualDirectory.AnonymousFeaturesEnabled != true)) { base.WriteMonitoringEvent(1104, this.MonitoringEventSource, EventTypeEnumeration.Success, Strings.CasHealthCalendarVDirSuccess); TimeSpan latency; if (!this.TestCalendarUrlResponse(text2, instance, TestCalendarConnectivity.CalendarContext.ICalContext, out latency)) { outcome.Update(CasTransactionResultEnum.Failure); } else { outcome.UpdateLatency(latency); } if (!this.TestCalendarUrlResponse(text, instance, TestCalendarConnectivity.CalendarContext.ViewCalendarContext, out latency)) { outcome.Update(CasTransactionResultEnum.Failure); } return; } instance.Outcomes.Enqueue(new Warning(Strings.CasHealthCalendarVDirWarning(instance.VirtualDirectoryName, instance.CasFqdn))); outcome.Update(CasTransactionResultEnum.Skipped); base.WriteMonitoringEvent(1105, this.MonitoringEventSource, EventTypeEnumeration.Warning, Strings.CasHealthCalendarVDirWarning(instance.VirtualDirectoryName, instance.CasFqdn)); }
public MailboxCalendarFolderRow(MailboxCalendarFolder calendarFolder) : base(new Identity(calendarFolder.Identity.ToString(), calendarFolder.Identity.ToString()), calendarFolder) { this.MailboxCalendarFolder = calendarFolder; }