internal static object NotificationPhoneNumberVerifiedGetter(IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];
            IList <PossibleRecipient>           effectivePossibleRecipients        = textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.EffectivePossibleRecipients;

            return(effectivePossibleRecipients.Count != 0 && effectivePossibleRecipients[0].Acknowledged);
        }
        internal static void MobileOperatorIdSetter(object value, IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 settings = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];
            string carrier = (-1 == (int)value) ? null : ((int)value).ToString("00000");

            TextMessagingAccount.GetWritablePossibleRecipient(settings).Carrier = carrier;
        }
        internal static void NotificationPhoneNumberSetter(object value, IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];

            if (value == null)
            {
                PossibleRecipient.MarkEffective(textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.PossibleRecipients, false);
                return;
            }
            bool flag = false;
            PossibleRecipient writablePossibleRecipient = TextMessagingAccount.GetWritablePossibleRecipient(textMessagingSettingsVersion1Point, out flag);

            if (flag)
            {
                writablePossibleRecipient.PhoneNumber = (E164Number)value;
            }
            else
            {
                PossibleRecipient mathed = PossibleRecipient.GetMathed(textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.PossibleRecipients, (E164Number)value, false);
                PossibleRecipient.MarkEffective(textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.PossibleRecipients, false);
                if (mathed == null)
                {
                    textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.PossibleRecipients.Add(new PossibleRecipient(true, DateTime.UtcNow, writablePossibleRecipient.Region, writablePossibleRecipient.Carrier, (E164Number)value, false, null, null, null));
                }
                else
                {
                    mathed.Region  = writablePossibleRecipient.Region;
                    mathed.Carrier = writablePossibleRecipient.Carrier;
                    mathed.MarkEffective(true);
                }
            }
            PossibleRecipient.PurgeNonEffectiveBefore(textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.PossibleRecipients, DateTime.UtcNow - TimeSpan.FromDays(7.0), 10);
        }
        internal static void CountryRegionIdSetter(object value, IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 settings = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];
            string region = (value == null) ? null : ((RegionInfo)value).TwoLetterISORegionName;

            TextMessagingAccount.GetWritablePossibleRecipient(settings).Region = region;
        }
        internal static object NotificationPhoneNumberGetter(IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];
            IList <PossibleRecipient>           effectivePossibleRecipients        = textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.EffectivePossibleRecipients;

            if (effectivePossibleRecipients.Count == 0)
            {
                return(null);
            }
            return(effectivePossibleRecipients[0].PhoneNumber);
        }
        private static PossibleRecipient GetWritablePossibleRecipient(TextMessagingSettingsVersion1Point0 settings, out bool created)
        {
            created = false;
            IList <PossibleRecipient> list = settings.MachineToPersonMessagingPolicies.EffectivePossibleRecipients;

            if (list.Count == 0)
            {
                list = settings.MachineToPersonMessagingPolicies.PossibleRecipients;
            }
            if (list.Count == 0)
            {
                list.Add(new PossibleRecipient(true, DateTime.UtcNow, null, null, null, false, null, null, null));
                created = true;
            }
            return(list[0]);
        }
        internal static object MobileOperatorIdGetter(IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];
            IList <PossibleRecipient>           effectivePossibleRecipients        = textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.EffectivePossibleRecipients;

            if (effectivePossibleRecipients.Count == 0)
            {
                return(-1);
            }
            int num = -1;

            if (!int.TryParse(effectivePossibleRecipients[0].Carrier, out num))
            {
                num = -1;
            }
            return(num);
        }
        internal static object CountryRegionIdGetter(IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];
            IList <PossibleRecipient>           effectivePossibleRecipients        = textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies.EffectivePossibleRecipients;

            if (effectivePossibleRecipients.Count == 0)
            {
                return(null);
            }
            string region = effectivePossibleRecipients[0].Region;

            if (!string.IsNullOrEmpty(region))
            {
                return(new RegionInfo(region));
            }
            return(null);
        }
        private void Write8_Item(string n, string ns, TextMessagingSettingsVersion1Point0 o, bool isNullable, bool needType)
        {
            if (o == null)
            {
                if (isNullable)
                {
                    base.WriteNullTagLiteral(n, ns);
                }
                return;
            }
            if (!needType)
            {
                Type type = o.GetType();
                if (!(type == typeof(TextMessagingSettingsVersion1Point0)))
                {
                    throw base.CreateUnknownTypeException(o);
                }
            }
            base.WriteStartElement(n, ns, o, false, null);
            if (needType)
            {
                base.WriteXsiType("TextMessagingSettingsVersion1Point0", "");
            }
            base.WriteAttribute("Version", "", o.Version);
            this.Write5_Item("MachineToPersonMessagingPolicies", "", o.MachineToPersonMessagingPolicies, false, false);
            List <DeliveryPoint> deliveryPoints = o.DeliveryPoints;

            if (deliveryPoints != null)
            {
                for (int i = 0; i < ((ICollection)deliveryPoints).Count; i++)
                {
                    this.Write7_DeliveryPoint("DeliveryPoint", "", deliveryPoints[i], false, false);
                }
            }
            base.WriteEndElement(o);
        }
예제 #10
0
        private static PossibleRecipient GetWritablePossibleRecipient(TextMessagingSettingsVersion1Point0 settings)
        {
            bool flag = false;

            return(TextMessagingAccount.GetWritablePossibleRecipient(settings, out flag));
        }
예제 #11
0
        internal static object EasDeviceFriendlyNameGetter(IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];

            return(textMessagingSettingsVersion1Point.DeliveryPoints[0].DeviceFriendlyName);
        }
예제 #12
0
        internal static object EasPhoneNumberGetter(IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];

            return(textMessagingSettingsVersion1Point.DeliveryPoints[0].PhoneNumber);
        }
예제 #13
0
        internal static object EasEnabledGetter(IPropertyBag propertyBag)
        {
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = (TextMessagingSettingsVersion1Point0)propertyBag[TextMessagingAccountSchema.TextMessagingSettings];

            return(textMessagingSettingsVersion1Point.DeliveryPoints[0].Ready && (-1 != textMessagingSettingsVersion1Point.DeliveryPoints[0].P2pMessagingPriority || -1 != textMessagingSettingsVersion1Point.DeliveryPoints[0].M2pMessagingPriority));
        }
예제 #14
0
        private TextMessagingSettingsVersion1Point0 Read8_Item(bool isNullable, bool checkType)
        {
            XmlQualifiedName xmlQualifiedName = checkType ? base.GetXsiType() : null;
            bool             flag             = false;

            if (isNullable)
            {
                flag = base.ReadNull();
            }
            if (checkType && !(xmlQualifiedName == null) && (xmlQualifiedName.Name != this.id3_Item || xmlQualifiedName.Namespace != this.id2_Item))
            {
                throw base.CreateUnknownTypeException(xmlQualifiedName);
            }
            if (flag)
            {
                return(null);
            }
            TextMessagingSettingsVersion1Point0 textMessagingSettingsVersion1Point = new TextMessagingSettingsVersion1Point0();

            if (textMessagingSettingsVersion1Point.DeliveryPoints == null)
            {
                textMessagingSettingsVersion1Point.DeliveryPoints = new List <DeliveryPoint>();
            }
            List <DeliveryPoint> deliveryPoints = textMessagingSettingsVersion1Point.DeliveryPoints;

            bool[] array = new bool[3];
            while (base.Reader.MoveToNextAttribute())
            {
                if (!array[0] && base.Reader.LocalName == this.id4_Version && base.Reader.NamespaceURI == this.id2_Item)
                {
                    textMessagingSettingsVersion1Point.Version = base.Reader.Value;
                    array[0] = true;
                }
                else if (!base.IsXmlnsAttribute(base.Reader.Name))
                {
                    base.UnknownNode(textMessagingSettingsVersion1Point, ":Version");
                }
            }
            base.Reader.MoveToElement();
            if (base.Reader.IsEmptyElement)
            {
                base.Reader.Skip();
                return(textMessagingSettingsVersion1Point);
            }
            base.Reader.ReadStartElement();
            base.Reader.MoveToContent();
            int num         = 0;
            int readerCount = base.ReaderCount;

            while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
            {
                if (base.Reader.NodeType == XmlNodeType.Element)
                {
                    if (!array[1] && base.Reader.LocalName == this.id5_Item && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        textMessagingSettingsVersion1Point.MachineToPersonMessagingPolicies = this.Read5_Item(false, true);
                        array[1] = true;
                    }
                    else if (base.Reader.LocalName == this.id6_DeliveryPoint && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        if (deliveryPoints == null)
                        {
                            base.Reader.Skip();
                        }
                        else
                        {
                            deliveryPoints.Add(this.Read7_DeliveryPoint(false, true));
                        }
                    }
                    else
                    {
                        base.UnknownNode(textMessagingSettingsVersion1Point, ":MachineToPersonMessagingPolicies, :DeliveryPoint");
                    }
                }
                else
                {
                    base.UnknownNode(textMessagingSettingsVersion1Point, ":MachineToPersonMessagingPolicies, :DeliveryPoint");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref num, ref readerCount);
            }
            base.ReadEndElement();
            return(textMessagingSettingsVersion1Point);
        }