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); }
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); }