internal static HybridFeatureFlags HybridFeaturePropertyValueToHybridFeatureFlags(MultiValuedProperty <HybridFeature> hybridFeatures) { HybridFeatureFlags hybridFeatureFlags = HybridFeatureFlags.None; if (hybridFeatures != null) { foreach (HybridFeature hybridFeature in hybridFeatures) { if (hybridFeature == HybridFeature.FreeBusy) { hybridFeatureFlags |= HybridFeatureFlags.FreeBusy; } else if (hybridFeature == HybridFeature.MoveMailbox) { hybridFeatureFlags |= HybridFeatureFlags.MoveMailbox; } else if (hybridFeature == HybridFeature.Mailtips) { hybridFeatureFlags |= HybridFeatureFlags.Mailtips; } else if (hybridFeature == HybridFeature.MessageTracking) { hybridFeatureFlags |= HybridFeatureFlags.MessageTracking; } else if (hybridFeature == HybridFeature.OwaRedirection) { hybridFeatureFlags |= HybridFeatureFlags.OwaRedirection; } else if (hybridFeature == HybridFeature.OnlineArchive) { hybridFeatureFlags |= HybridFeatureFlags.OnlineArchive; } else if (hybridFeature == HybridFeature.SecureMail) { hybridFeatureFlags |= HybridFeatureFlags.SecureMail; } else if (hybridFeature == HybridFeature.CentralizedTransport) { hybridFeatureFlags |= HybridFeatureFlags.CentralizedTransportOnPrem; } else { if (hybridFeature != HybridFeature.Photos) { throw new ArgumentOutOfRangeException("value"); } hybridFeatureFlags |= HybridFeatureFlags.Photos; } } } return(hybridFeatureFlags); }
internal static MultiValuedProperty <HybridFeature> HybridFeaturesFlagsToHybridFeaturesPropertyValue(HybridFeatureFlags hybridFeaturesFlags) { List <HybridFeature> list = new List <HybridFeature>(9); if ((hybridFeaturesFlags & HybridFeatureFlags.FreeBusy) == HybridFeatureFlags.FreeBusy) { list.Add(HybridFeature.FreeBusy); } if ((hybridFeaturesFlags & HybridFeatureFlags.MoveMailbox) == HybridFeatureFlags.MoveMailbox) { list.Add(HybridFeature.MoveMailbox); } if ((hybridFeaturesFlags & HybridFeatureFlags.Mailtips) == HybridFeatureFlags.Mailtips) { list.Add(HybridFeature.Mailtips); } if ((hybridFeaturesFlags & HybridFeatureFlags.MessageTracking) == HybridFeatureFlags.MessageTracking) { list.Add(HybridFeature.MessageTracking); } if ((hybridFeaturesFlags & HybridFeatureFlags.OwaRedirection) == HybridFeatureFlags.OwaRedirection) { list.Add(HybridFeature.OwaRedirection); } if ((hybridFeaturesFlags & HybridFeatureFlags.OnlineArchive) == HybridFeatureFlags.OnlineArchive) { list.Add(HybridFeature.OnlineArchive); } if ((hybridFeaturesFlags & HybridFeatureFlags.SecureMail) == HybridFeatureFlags.SecureMail) { list.Add(HybridFeature.SecureMail); } if ((hybridFeaturesFlags & HybridFeatureFlags.CentralizedTransportOnPrem) == HybridFeatureFlags.CentralizedTransportOnPrem) { list.Add(HybridFeature.CentralizedTransport); } if ((hybridFeaturesFlags & HybridFeatureFlags.Photos) == HybridFeatureFlags.Photos) { list.Add(HybridFeature.Photos); } return(new MultiValuedProperty <HybridFeature>(list)); }
internal static void FeaturesSetter(object value, IPropertyBag propertyBag) { HybridFeatureFlags hybridFeatureFlags = HybridConfiguration.HybridFeaturePropertyValueToHybridFeatureFlags((MultiValuedProperty <HybridFeature>)value); propertyBag[HybridConfigurationSchema.Flags] = (int)hybridFeatureFlags; }
internal static object FeaturesGetter(IPropertyBag propertyBag) { HybridFeatureFlags hybridFeaturesFlags = (HybridFeatureFlags)propertyBag[HybridConfigurationSchema.Flags]; return(HybridConfiguration.HybridFeaturesFlagsToHybridFeaturesPropertyValue(hybridFeaturesFlags)); }