public RecurrencePattern(string value) :
     this()
 {
     if (value != null)
     {
         DDay.iCal.Serialization.iCalendar.RecurrencePatternSerializer serializer = new DDay.iCal.Serialization.iCalendar.RecurrencePatternSerializer();
         CopyFrom(serializer.Deserialize(new StringReader(value)) as ICopyable);
     }
 }
 public static string SerializeRecurrencePattern(DDay.iCal.IRecurrencePattern recurrencePattern)
 {
     try
     {
         var serializer = new DDay.iCal.Serialization.iCalendar.RecurrencePatternSerializer();
         return(serializer.SerializeToString(recurrencePattern));
     }
     catch (Exception ex)
     {
         log4net.LogManager.GetLogger("ASC.Calendar").Error(ex);
         return(null);
     }
 }
 public static DDay.iCal.IRecurrencePattern DeserializeRecurrencePattern(TextReader stringReader)
 {
     try
     {
         var serializer = new DDay.iCal.Serialization.iCalendar.RecurrencePatternSerializer();
         return((DDay.iCal.RecurrencePattern)serializer.Deserialize(stringReader));
     }
     catch (Exception ex)
     {
         log4net.LogManager.GetLogger("ASC.Calendar").Error(ex);
         return(null);
     }
 }
        public static DDay.iCal.IRecurrencePattern DeserializeRecurrencePattern(string iCalRecurrencePatternString)
        {
            if (string.IsNullOrEmpty(iCalRecurrencePatternString))
            {
                return(null);
            }

            try
            {
                using (var stringReader = new StringReader(iCalRecurrencePatternString))
                {
                    var serializer = new DDay.iCal.Serialization.iCalendar.RecurrencePatternSerializer();
                    return((DDay.iCal.RecurrencePattern)serializer.Deserialize(stringReader));
                }
            }
            catch (Exception ex)
            {
                log4net.LogManager.GetLogger("ASC.Calendar").Error(ex);
                return(null);
            }
        }