public void FromPropertyValues(IDictionary <Microsoft.Exchange.Data.PropertyDefinition, int> propertyIndices, IList values, IEvent right) { SeriesIdTranslationRule.FromLeftToRight(right, delegate(out string value) { int index; object obj; if (propertyIndices.TryGetValue(SeriesIdTranslationRule.CalendarItemTypeProperty, out index) && (obj = values[index]) is CalendarItemType) { if ((CalendarItemType)obj == CalendarItemType.Single) { if (propertyIndices.TryGetValue(SeriesIdTranslationRule.NprSeriesId, out index) && values[index] is string) { value = (string)values[index]; return(true); } } else if (propertyIndices.TryGetValue(SeriesIdTranslationRule.CleanGlobalObjectId, out index) && values[index] is byte[]) { value = new GlobalObjectId((byte[])values[index]).ToString(); return(true); } } value = null; return(false); }); }
public void FromLeftToRightType(ICalendarItemBase left, IEvent right) { SeriesIdTranslationRule.FromLeftToRight(right, delegate(out string value) { return(this.TryGetValue(left, out value)); }); }