示例#1
0
 // Token: 0x0600075D RID: 1885 RVA: 0x00028EA2 File Offset: 0x000270A2
 internal void WritePropertyValue(string value, CalendarValueSeparators separator)
 {
     if (value == null)
     {
         throw new ArgumentNullException("value");
     }
     this.PrepareStartPropertyValue((ContentLineParser.Separators)separator);
     if (CalendarValueType.Text == this.valueType)
     {
         value = CalendarWriter.GetEscapedText(value);
     }
     this.writer.WriteToStream(value);
 }
示例#2
0
        // Token: 0x06000769 RID: 1897 RVA: 0x000292F8 File Offset: 0x000274F8
        private void WritePropertyValue(DateTime value, CalendarValueType valueType, CalendarValueSeparators separator)
        {
            string value2;

            if (CalendarValueType.DateTime == valueType || CalendarValueType.Text == valueType)
            {
                value2 = CalendarCommon.FormatDateTime(value);
            }
            else
            {
                if (CalendarValueType.Date != valueType)
                {
                    throw new ArgumentOutOfRangeException("valueType");
                }
                value2 = CalendarCommon.FormatDate(value);
            }
            this.WritePropertyValue(value2, separator);
        }
示例#3
0
        // Token: 0x06000757 RID: 1879 RVA: 0x00028DAC File Offset: 0x00026FAC
        public void WriteProperty(CalendarPropertyReader reader)
        {
            CalendarParameterReader parameterReader = reader.ParameterReader;

            this.StartProperty(reader.Name);
            while (parameterReader.ReadNextParameter())
            {
                this.WriteParameter(parameterReader);
            }
            CalendarValueSeparators separator = CalendarValueSeparators.None;

            while (reader.ReadNextValue())
            {
                this.WritePropertyValue(reader.ReadValue(CalendarValueSeparators.Comma | CalendarValueSeparators.Semicolon), separator);
                separator = reader.LastValueSeparator;
            }
            this.EndProperty();
        }
示例#4
0
        // Token: 0x0600076A RID: 1898 RVA: 0x0002933C File Offset: 0x0002753C
        private void WritePropertyValue(TimeSpan value, CalendarValueType valueType, CalendarValueSeparators separator)
        {
            string value2;

            if (CalendarValueType.Duration == valueType)
            {
                value2 = CalendarCommon.FormatDuration(value);
            }
            else
            {
                if (CalendarValueType.UtcOffset != valueType)
                {
                    throw new ArgumentOutOfRangeException("valueType");
                }
                if (value.Days > 0 && this.validate)
                {
                    throw new ArgumentException(CalendarStrings.UtcOffsetTimespanCannotContainDays, "value");
                }
                value2 = CalendarCommon.FormatUtcOffset(value);
            }
            this.WritePropertyValue(value2, separator);
        }
示例#5
0
 // Token: 0x06000722 RID: 1826 RVA: 0x00028501 File Offset: 0x00026701
 internal double ReadValueAsDouble(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsDouble(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#6
0
 // Token: 0x0600071F RID: 1823 RVA: 0x00028475 File Offset: 0x00026675
 internal float ReadValueAsFloat(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsFloat(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#7
0
 // Token: 0x0600071C RID: 1820 RVA: 0x000283E7 File Offset: 0x000265E7
 internal bool ReadValueAsBoolean(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsBoolean(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#8
0
 // Token: 0x06000719 RID: 1817 RVA: 0x00028365 File Offset: 0x00026565
 internal TimeSpan ReadValueAsTimeSpan(CalendarValueType valueType, CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsTimeSpan(valueType, new CalendarValueSeparators?(expectedSeparators)));
 }
示例#9
0
 // Token: 0x06000713 RID: 1811 RVA: 0x00028233 File Offset: 0x00026433
 internal DateTime ReadValueAsDateTime(CalendarValueType valueType, CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsDateTime(valueType, new CalendarValueSeparators?(expectedSeparators)));
 }
示例#10
0
 // Token: 0x0600072B RID: 1835 RVA: 0x00028667 File Offset: 0x00026867
 internal Recurrence ReadValueAsRecurrence(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsRecurrence(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#11
0
 // Token: 0x06000765 RID: 1893 RVA: 0x000291E7 File Offset: 0x000273E7
 internal void WritePropertyValue(TimeSpan value, CalendarValueSeparators separator)
 {
     this.WritePropertyValue(value, this.valueType, separator);
 }
示例#12
0
 // Token: 0x06000764 RID: 1892 RVA: 0x000291D1 File Offset: 0x000273D1
 internal void WritePropertyValue(CalendarTime value, CalendarValueSeparators separator)
 {
     this.WritePropertyValue(value.ToString(), separator);
 }
示例#13
0
 // Token: 0x06000762 RID: 1890 RVA: 0x000291A9 File Offset: 0x000273A9
 internal void WritePropertyValue(bool value, CalendarValueSeparators separator)
 {
     this.WritePropertyValue(value ? "TRUE" : "FALSE", separator);
 }
示例#14
0
 // Token: 0x06000761 RID: 1889 RVA: 0x00029194 File Offset: 0x00027394
 internal void WritePropertyValue(float value, CalendarValueSeparators separator)
 {
     this.WritePropertyValue(value.ToString(NumberFormatInfo.InvariantInfo), separator);
 }
示例#15
0
        // Token: 0x0600075E RID: 1886 RVA: 0x00028EDC File Offset: 0x000270DC
        internal void WritePropertyValue(object value, CalendarValueSeparators separator)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            CalendarValueType calendarValueType = this.valueType;

            if (calendarValueType <= CalendarValueType.Float)
            {
                if (calendarValueType <= CalendarValueType.Date)
                {
                    switch (calendarValueType)
                    {
                    case CalendarValueType.Unknown:
                        break;

                    case CalendarValueType.Binary:
                    {
                        byte[] array = value as byte[];
                        if (array == null)
                        {
                            throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                        }
                        this.PrepareStartPropertyValue(ContentLineParser.Separators.None);
                        this.writer.WriteToStream(array);
                        this.EndProperty();
                        return;
                    }

                    case CalendarValueType.Unknown | CalendarValueType.Binary:
                        goto IL_276;

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

                    default:
                        if (calendarValueType != CalendarValueType.CalAddress)
                        {
                            if (calendarValueType != CalendarValueType.Date)
                            {
                                goto IL_276;
                            }
                            if (!(value is DateTime))
                            {
                                throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                            }
                            this.WritePropertyValue((DateTime)value, CalendarValueType.Date, separator);
                            return;
                        }
                        break;
                    }
                }
                else if (calendarValueType != CalendarValueType.DateTime)
                {
                    if (calendarValueType != CalendarValueType.Duration)
                    {
                        if (calendarValueType != CalendarValueType.Float)
                        {
                            goto IL_276;
                        }
                        if (!(value is float))
                        {
                            throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                        }
                        this.WritePropertyValue((float)value, separator);
                        return;
                    }
                    else
                    {
                        if (!(value is TimeSpan))
                        {
                            throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                        }
                        this.WritePropertyValue((TimeSpan)value, CalendarValueType.Duration, separator);
                        return;
                    }
                }
                else
                {
                    if (!(value is DateTime))
                    {
                        throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                    }
                    this.WritePropertyValue((DateTime)value, separator);
                    return;
                }
            }
            else if (calendarValueType <= CalendarValueType.Recurrence)
            {
                if (calendarValueType != CalendarValueType.Integer)
                {
                    if (calendarValueType != CalendarValueType.Period)
                    {
                        if (calendarValueType != CalendarValueType.Recurrence)
                        {
                            goto IL_276;
                        }
                        Recurrence recurrence = value as Recurrence;
                        if (recurrence == null)
                        {
                            throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                        }
                        this.WritePropertyValue(recurrence);
                        return;
                    }
                    else
                    {
                        if (!(value is CalendarPeriod))
                        {
                            throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                        }
                        this.WritePropertyValue((CalendarPeriod)value, separator);
                        return;
                    }
                }
                else
                {
                    if (!(value is int))
                    {
                        throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                    }
                    this.WritePropertyValue((int)value, separator);
                    return;
                }
            }
            else if (calendarValueType <= CalendarValueType.Time)
            {
                if (calendarValueType != CalendarValueType.Text)
                {
                    if (calendarValueType != CalendarValueType.Time)
                    {
                        goto IL_276;
                    }
                    if (!(value is CalendarTime))
                    {
                        throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                    }
                    this.WritePropertyValue((CalendarTime)value, separator);
                    return;
                }
            }
            else if (calendarValueType != CalendarValueType.Uri)
            {
                if (calendarValueType != CalendarValueType.UtcOffset)
                {
                    goto IL_276;
                }
                if (!(value is TimeSpan))
                {
                    throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
                }
                this.WritePropertyValue((TimeSpan)value, CalendarValueType.UtcOffset, separator);
                return;
            }
            string text = value as string;

            if (text == null)
            {
                throw new ArgumentException(CalendarStrings.InvalidValueTypeForProperty);
            }
            this.WritePropertyValue(text, separator);
            return;

IL_276:
            throw new InvalidDataException(CalendarStrings.InvalidValueTypeForProperty);
        }
示例#16
0
 // Token: 0x06000725 RID: 1829 RVA: 0x00028589 File Offset: 0x00026789
 internal int ReadValueAsInt32(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsInt32(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#17
0
 // Token: 0x06000728 RID: 1832 RVA: 0x000285F7 File Offset: 0x000267F7
 internal CalendarPeriod ReadValueAsCalendarPeriod(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsCalendarPeriod(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#18
0
 // Token: 0x0600070A RID: 1802 RVA: 0x00028097 File Offset: 0x00026297
 internal string ReadValueAsString(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsString(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#19
0
 // Token: 0x06000705 RID: 1797 RVA: 0x00027E41 File Offset: 0x00026041
 internal object ReadValue(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValue(new CalendarValueSeparators?(expectedSeparators)));
 }
示例#20
0
 // Token: 0x0600070D RID: 1805 RVA: 0x00028107 File Offset: 0x00026307
 internal CalendarTime ReadValueAsCalendarTime(CalendarValueSeparators expectedSeparators)
 {
     return(this.ReadValueAsCalendarTime(new CalendarValueSeparators?(expectedSeparators)));
 }