Esempio n. 1
0
 public void WritePropertyValue(string value, ContactValueSeparators separator)
 {
     if (value == null)
     {
         throw new ArgumentNullException("value");
     }
     this.PrepareStartPropertyValue((ContentLineParser.Separators)separator);
     if (this.valueType == ContactValueType.Text || this.valueType == ContactValueType.PhoneNumber || this.valueType == ContactValueType.VCard)
     {
         value = ContactWriter.GetEscapedText(value);
     }
     this.writer.WriteToStream(value);
 }
Esempio n. 2
0
        private void WritePropertyValue(TimeSpan value, ContactValueSeparators separator)
        {
            if (ContactValueType.UtcOffset != this.valueType)
            {
                throw new ArgumentOutOfRangeException("valueType");
            }
            if (value.Days > 0 && this.validate)
            {
                throw new ArgumentException(CalendarStrings.UtcOffsetTimespanCannotContainDays, "value");
            }
            string value2 = ContactCommon.FormatUtcOffset(value);

            this.WritePropertyValue(value2, separator);
        }
Esempio n. 3
0
        public void WriteProperty(ContactPropertyReader reader)
        {
            this.StartProperty(reader.Name);
            ContactParameterReader parameterReader = reader.ParameterReader;

            while (parameterReader.ReadNextParameter())
            {
                this.WriteParameter(parameterReader);
            }
            ContactValueSeparators separator          = ContactValueSeparators.None;
            ContactValueSeparators expectedSeparators = ContactValueSeparators.Comma | ContactValueSeparators.Semicolon;
            ContactValueType       contactValueType   = reader.ValueType;

            switch (contactValueType)
            {
            case ContactValueType.Binary:
                expectedSeparators = ContactValueSeparators.None;
                break;

            case ContactValueType.Boolean:
                break;

            case ContactValueType.Date:
            case ContactValueType.DateTime:
                goto IL_55;

            default:
                if (contactValueType == ContactValueType.Time)
                {
                    goto IL_55;
                }
                break;
            }
IL_70:
            while (reader.ReadNextValue())
            {
                this.WritePropertyValue(reader.ReadValue(expectedSeparators), separator);
                separator = reader.LastValueSeparator;
            }
            this.EndProperty();
            return;

IL_55:
            expectedSeparators = ContactValueSeparators.Semicolon;
            goto IL_70;
        }
Esempio n. 4
0
        private void WritePropertyValue(DateTime value, ContactValueType valueType, ContactValueSeparators separator)
        {
            string value2;

            if (ContactValueType.DateTime == valueType || ContactValueType.Text == valueType)
            {
                value2 = ContactCommon.FormatDateTime(value);
            }
            else if (ContactValueType.Date == valueType)
            {
                value2 = ContactCommon.FormatDate(value);
            }
            else
            {
                if (ContactValueType.Time != valueType)
                {
                    throw new ArgumentOutOfRangeException("valueType");
                }
                value2 = ContactCommon.FormatTime(value);
            }
            this.WritePropertyValue(value2, separator);
        }
 // Token: 0x060007A4 RID: 1956 RVA: 0x0002A325 File Offset: 0x00028525
 public object ReadValue(ContactValueSeparators expectedSeparators)
 {
     return(this.ReadValue(new ContactValueSeparators?(expectedSeparators)));
 }
 // Token: 0x060007B8 RID: 1976 RVA: 0x0002A78D File Offset: 0x0002898D
 public int ReadValueAsInt32(ContactValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsInt32(new ContactValueSeparators?(expectedSeparators)));
 }
 // Token: 0x060007B5 RID: 1973 RVA: 0x0002A709 File Offset: 0x00028909
 public double ReadValueAsDouble(ContactValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsDouble(new ContactValueSeparators?(expectedSeparators)));
 }
 // Token: 0x060007B2 RID: 1970 RVA: 0x0002A67F File Offset: 0x0002887F
 public bool ReadValueAsBoolean(ContactValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsBoolean(new ContactValueSeparators?(expectedSeparators)));
 }
 // Token: 0x060007AF RID: 1967 RVA: 0x0002A600 File Offset: 0x00028800
 public TimeSpan ReadValueAsTimeSpan(ContactValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsTimeSpan(new ContactValueSeparators?(expectedSeparators)));
 }
 // Token: 0x060007AC RID: 1964 RVA: 0x0002A58F File Offset: 0x0002878F
 public DateTime ReadValueAsDateTime(ContactValueType type, ContactValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsDateTime(type, new ContactValueSeparators?(expectedSeparators)));
 }
 // Token: 0x060007A9 RID: 1961 RVA: 0x0002A4F7 File Offset: 0x000286F7
 public string ReadValueAsString(ContactValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsString(new ContactValueSeparators?(expectedSeparators)));
 }
Esempio n. 12
0
 public void WritePropertyValue(DateTime value, ContactValueSeparators separator)
 {
     this.WritePropertyValue(value, this.valueType, separator);
 }
Esempio n. 13
0
 public void WritePropertyValue(bool value, ContactValueSeparators separator)
 {
     this.WritePropertyValue(value ? "TRUE" : "FALSE", separator);
 }
Esempio n. 14
0
 public void WritePropertyValue(double value, ContactValueSeparators separator)
 {
     this.WritePropertyValue(value.ToString(NumberFormatInfo.InvariantInfo), separator);
 }
Esempio n. 15
0
        public void WritePropertyValue(object value, ContactValueSeparators separator)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            switch (this.valueType)
            {
            case ContactValueType.Unknown:
            case ContactValueType.Text:
            case ContactValueType.Uri:
            case ContactValueType.VCard:
            case ContactValueType.PhoneNumber:
            {
                string text = value as string;
                if (text == null)
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue(text, separator);
                return;
            }

            case ContactValueType.Binary:
            {
                byte[] array = value as byte[];
                if (array == null)
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue(array);
                return;
            }

            case ContactValueType.Boolean:
                if (!(value is bool))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((bool)value, separator);
                return;

            case ContactValueType.Date:
                if (!(value is DateTime))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((DateTime)value, ContactValueType.Date, separator);
                return;

            case ContactValueType.DateTime:
                if (!(value is DateTime))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((DateTime)value, separator);
                return;

            case ContactValueType.Float:
                if (!(value is double))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((double)value, separator);
                return;

            case ContactValueType.Integer:
                if (!(value is int))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((int)value, separator);
                return;

            case ContactValueType.Time:
                if (!(value is DateTime))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((DateTime)value, ContactValueType.Time, separator);
                return;

            case ContactValueType.UtcOffset:
                if (!(value is TimeSpan))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((TimeSpan)value, separator);
                return;

            default:
                throw new InvalidDataException(CalendarStrings.InvalidValueTypeForProperty);
            }
        }