Пример #1
0
        public static KeyMapping Parse(string keyMappingValue)
        {
            if (string.IsNullOrEmpty(keyMappingValue))
            {
                throw new FormatException(DataStrings.InvalidKeyMappingFormat);
            }
            string[] array = keyMappingValue.Split(new char[]
            {
                ','
            });
            if (array == null || array.Length != 9)
            {
                throw new FormatException(DataStrings.InvalidKeyMappingFormat);
            }
            KeyMappingType keyMappingType = (KeyMappingType)CallerIdItem.ValidateEnumValue(array[0], "KeyMappingType", 1, 5);

            if (string.IsNullOrEmpty(array[1]))
            {
                throw new FormatException(DataStrings.InvalidKeyMappingKey);
            }
            int key = int.Parse(array[1]);
            int findMeFirstNumberDuration = 0;

            if (!string.IsNullOrEmpty(array[4]))
            {
                findMeFirstNumberDuration = int.Parse(array[4]);
            }
            int findMeSecondNumberDuration = 0;

            if (!string.IsNullOrEmpty(array[6]))
            {
                findMeSecondNumberDuration = int.Parse(array[6]);
            }
            return(new KeyMapping(keyMappingType, key, array[2], array[3], findMeFirstNumberDuration, array[5], findMeSecondNumberDuration, array[7], array[8]));
        }
Пример #2
0
        public static CallerIdItem Parse(string callerIdItem)
        {
            if (string.IsNullOrEmpty(callerIdItem))
            {
                throw new FormatException(DataStrings.InvalidCallerIdItemFormat);
            }
            string[] array = callerIdItem.Split(new char[]
            {
                ','
            });
            if (array == null || array.Length != 5)
            {
                throw new FormatException(DataStrings.InvalidCallerIdItemFormat);
            }
            int callerIdType = CallerIdItem.ValidateEnumValue(array[0], "CallerIdItemType", 1, 5);

            return(new CallerIdItem((CallerIdItemType)callerIdType, array[1], array[2], array[3], array[4], null));
        }
Пример #3
0
        public static TimeOfDay Parse(string timeOfDay)
        {
            if (string.IsNullOrEmpty(timeOfDay))
            {
                throw new FormatException(DataStrings.InvalidTimeOfDayFormat);
            }
            string[] array = timeOfDay.Split(new char[]
            {
                ','
            });
            if (array == null || array.Length != 4)
            {
                throw new FormatException(DataStrings.InvalidTimeOfDayFormat);
            }
            TimeOfDayType timeOfDayType = (TimeOfDayType)CallerIdItem.ValidateEnumValue(array[0], "TimeOfDayType", 1, 3);
            DaysOfWeek    daysOfWeek    = (DaysOfWeek)CallerIdItem.ValidateEnumValue(array[1], "DaysOfWeek", 0, 127);

            switch (timeOfDayType)
            {
            case TimeOfDayType.WorkingHours:
            case TimeOfDayType.NonWorkingHours:
                if (daysOfWeek != DaysOfWeek.None || !string.IsNullOrEmpty(array[2]) || !string.IsNullOrEmpty(array[3]))
                {
                    throw new FormatException(DataStrings.InvalidTimeOfDayFormatWorkingHours);
                }
                return(new TimeOfDay(timeOfDayType, daysOfWeek, null, null));

            case TimeOfDayType.CustomPeriod:
                if (string.IsNullOrEmpty(array[2]) || string.IsNullOrEmpty(array[3]))
                {
                    throw new FormatException(DataStrings.InvalidTimeOfDayFormatCustomWorkingHours);
                }
                return(new TimeOfDay(timeOfDayType, daysOfWeek, new TimeSpan?(TimeSpan.Parse(array[2])), new TimeSpan?(TimeSpan.Parse(array[3]))));

            default:
                throw new Exception("Unknown enum type.");
            }
        }