Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="number"></param>
        /// <param name="network"></param>
        /// <returns></returns>
        public static Subscriber Create(string number, SubscriberNetwork network)
        {
            if (string.IsNullOrEmpty(number))
            {
                throw new NullReferenceException("number");
            }

            return(new Subscriber(number, network));
        }
Beispiel #2
0
        /// <inheritdoc />
        public Subscriber(string number, SubscriberNetwork network)
        {
            this.network = SubscriberNetwork.Mobile;
            this.number  = null;
            this.display = null;

            Number  = number;
            Network = network;
        }
Beispiel #3
0
        protected override void unpack(BinaryBitReader reader)
        {
            Flags flags = (Flags)reader.ReadByte();

            if (flags.HasFlag(Flags.HasSubscriber))
            {
                string            number  = Read(reader);
                SubscriberNetwork network = (SubscriberNetwork)reader.ReadUInt(5);

                this.Subscriber = new Subscriber(number, network);
            }
            if (flags.HasFlag(Flags.HasId))
            {
                this.Id = reader.ReadUInt16();
            }
            if (flags.HasFlag(Flags.HasConversation))
            {
                this.Conversation = new ushort?(reader.ReadUInt16());
            }
            if (flags.HasFlag(Flags.HasSubject))
            {
                this.Subject = Read(reader);
            }
            if (flags.HasFlag(Flags.HasText))
            {
                base.Text = Read(reader);
            }
            if (flags.HasFlag(Flags.HasLocation))
            {
                ReadLocation(reader);
            }
            if (flags.HasFlag(Flags.HasByskyToken))
            {
                base.ByskyToken = new ShortGuid(reader.ReadBytes(16));
            }
            if (flags.HasFlag(Flags.HasFile))
            {
                base.FileExtension = (FileExtension)reader.ReadUInt(4);

                if (base.FileExtension.Value.IsImage())
                {
                    base.ImageQuality = (ImageQuality)reader.ReadUInt(2);
                }

                base.File = ReadBytes(reader);
            }
        }