Example #1
0
        private static bool SerializePeriodObject(PCalender.Period period, StringBuilder builder)
        {
            builder.Append("{");

            // Serialize the Year
            SerializeString(Utilities.StateManager.PCalState.StartYear.ToString(), builder);
            builder.Append(":");
            if (!SerializeNumber(period.StartDate.Year, builder))
            {
                return(false);
            }

            builder.Append(", ");

            // Serialize the Month
            SerializeString(Utilities.StateManager.PCalState.StartMonth.ToString(), builder);
            builder.Append(":");
            if (!SerializeNumber(period.StartDate.Month, builder))
            {
                return(false);
            }

            builder.Append(", ");

            // Serialize the Day
            SerializeString(Utilities.StateManager.PCalState.StartDay.ToString(), builder);
            builder.Append(":");
            if (!SerializeNumber(period.StartDate.Day, builder))
            {
                return(false);
            }

            builder.Append(", ");

            // Serialize the Duration
            SerializeString(Utilities.StateManager.PCalState.Duration.ToString(), builder);
            builder.Append(":");
            if (!SerializeNumber(period.Duration, builder))
            {
                return(false);
            }

            builder.Append(", ");

            // Serialize the CycleLength
            SerializeString(Utilities.StateManager.PCalState.CycleLength.ToString(), builder);
            builder.Append(":");
            if (!SerializeNumber(period.CycleLength, builder))
            {
                return(false);
            }

            builder.Append("}");
            return(true);
        }
Example #2
0
        private static object ConvertToPCal(object obj, ref bool success)
        {
            success = false;

            List <PCalender.Period> returnList = new List <PCalender.Period>();

            try
            {
                List <object> firstList = obj as List <object>;

                foreach (object val in firstList)
                {
                    Dictionary <string, object> dict = val as Dictionary <string, object>;

                    // get the datetime object
                    int year  = int.Parse(dict[PCalState.StartYear.ToString()].ToString());
                    int month = int.Parse(dict[PCalState.StartMonth.ToString()].ToString());
                    int day   = int.Parse(dict[PCalState.StartDay.ToString()].ToString());

                    DateTime startDate = new DateTime(year, month, day);

                    // get the duration and cycle length
                    int duration    = int.Parse(dict[PCalState.Duration.ToString()].ToString());
                    int cycleLength = int.Parse(dict[PCalState.CycleLength.ToString()].ToString());

                    PCalender.Period period = new PCalender.Period(startDate, duration, cycleLength);

                    returnList.Add(period);
                }

                success = true;
            }
            catch { return(null); }

            return(returnList);
        }