本文整理汇总了C#中ExchangeService.TraceMessage方法的典型用法代码示例。如果您正苦于以下问题:C# ExchangeService.TraceMessage方法的具体用法?C# ExchangeService.TraceMessage怎么用?C# ExchangeService.TraceMessage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExchangeService
的用法示例。
在下文中一共展示了ExchangeService.TraceMessage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ToTimeZoneInfo
/// <summary>
/// Converts this time zone definition into a TimeZoneInfo structure.
/// </summary>
/// <param name="service">The service.</param>
/// <returns>A TimeZoneInfo representing the same time zone as this definition.</returns>
internal TimeZoneInfo ToTimeZoneInfo(ExchangeService service)
{
this.Validate();
TimeZoneInfo result;
// Retrieve the base offset to UTC, standard and daylight display names from
// the last transition group, which is the one that currently applies given that
// transitions are ordered chronologically.
TimeZoneTransitionGroup.CustomTimeZoneCreateParams creationParams =
this.transitions[this.transitions.Count - 1].TargetGroup.GetCustomTimeZoneCreationParams();
List<TimeZoneInfo.AdjustmentRule> adjustmentRules = new List<TimeZoneInfo.AdjustmentRule>();
DateTime startDate = DateTime.MinValue;
DateTime endDate;
DateTime effectiveEndDate;
for (int i = 0; i < this.transitions.Count; i++)
{
if (i < this.transitions.Count - 1)
{
endDate = (this.transitions[i + 1] as AbsoluteDateTransition).DateTime;
effectiveEndDate = endDate.AddDays(-1);
}
else
{
endDate = DateTime.MaxValue;
effectiveEndDate = endDate;
}
// OM:1648848 Due to bad timezone data from clients the
// startDate may not always come before the effectiveEndDate
if (startDate < effectiveEndDate)
{
TimeZoneInfo.AdjustmentRule adjustmentRule = this.transitions[i].TargetGroup.CreateAdjustmentRule(startDate, effectiveEndDate);
if (adjustmentRule != null)
{
adjustmentRules.Add(adjustmentRule);
}
startDate = endDate;
}
else
{
service.TraceMessage(
TraceFlags.EwsTimeZones,
string.Format(
"The startDate '{0}' is not before the effectiveEndDate '{1}'. Will skip creating adjustment rule.",
startDate,
effectiveEndDate));
}
}
if (adjustmentRules.Count == 0)
{
// If there are no adjustment rule, the time zone does not support Daylight
// saving time.
result = TimeZoneInfo.CreateCustomTimeZone(
this.Id,
creationParams.BaseOffsetToUtc,
this.Name,
creationParams.StandardDisplayName);
}
else
{
result = TimeZoneInfo.CreateCustomTimeZone(
this.Id,
creationParams.BaseOffsetToUtc,
this.Name,
creationParams.StandardDisplayName,
creationParams.DaylightDisplayName,
adjustmentRules.ToArray());
}
return result;
}