internal static object SKUCapabilityStatusGetter(IPropertyBag propertyBag) { AssignedCapabilityStatus?assignedCapabilityStatus = null; AssignedPlanValue effectiveRootServicePlan = SyncUser.GetEffectiveRootServicePlan(propertyBag); if (effectiveRootServicePlan != null) { assignedCapabilityStatus = new AssignedCapabilityStatus?(effectiveRootServicePlan.CapabilityStatus); } return(assignedCapabilityStatus); }
internal static object SKUCapabilityGetter(IPropertyBag propertyBag) { Capability capability = Capability.None; AssignedPlanValue effectiveRootServicePlan = SyncUser.GetEffectiveRootServicePlan(propertyBag); if (effectiveRootServicePlan != null) { capability = SyncUser.GetExchangeCapability(effectiveRootServicePlan.Capability); } return(capability); }
private static AssignedPlanValue GetEffectiveRootServicePlan(IPropertyBag propertyBag) { AssignedPlanValue assignedPlanValue = null; MultiValuedProperty <AssignedPlanValue> multiValuedProperty = (MultiValuedProperty <AssignedPlanValue>)propertyBag[SyncUserSchema.AssignedPlan]; if (multiValuedProperty != null && multiValuedProperty.Count != 0) { IOrderedEnumerable <AssignedPlanValue> source = from ap in multiValuedProperty orderby ap.AssignedTimestamp descending select ap; foreach (AssignedPlanValue assignedPlanValue2 in from ap in source where ap.CapabilityStatus != AssignedCapabilityStatus.Deleted select ap) { if (CapabilityHelper.IsRootSKUCapability(SyncUser.GetExchangeCapability(assignedPlanValue2.Capability))) { assignedPlanValue = assignedPlanValue2; break; } } if (assignedPlanValue == null) { foreach (AssignedPlanValue assignedPlanValue3 in from ap in source where ap.CapabilityStatus == AssignedCapabilityStatus.Deleted select ap) { if (CapabilityHelper.IsRootSKUCapability(SyncUser.GetExchangeCapability(assignedPlanValue3.Capability))) { assignedPlanValue = assignedPlanValue3; break; } } } } return(assignedPlanValue); }