public static DayOfWeek GetDayOfWeekByBit(eBitDayOfWeek bitDayOfWeek) { switch (bitDayOfWeek) { case eBitDayOfWeek.Monday: return(DayOfWeek.Monday); case eBitDayOfWeek.Tuesday: return(DayOfWeek.Tuesday); case eBitDayOfWeek.Wednesday: return(DayOfWeek.Wednesday); case eBitDayOfWeek.Thursday: return(DayOfWeek.Thursday); case eBitDayOfWeek.Friday: return(DayOfWeek.Friday); case eBitDayOfWeek.Saturday: return(DayOfWeek.Saturday); case eBitDayOfWeek.Sunday: return(DayOfWeek.Sunday); } throw new Exception("Illegal day of week."); }
/// <summary> /// Serializes this instance. /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public EntityObjectHierarchy Serialize <T>() { CalendarEventRecurrenceEntity recurrenceEntity = new CalendarEventRecurrenceEntity(); recurrenceEntity.DayOfMonth = RPattern.ByMonthDay.Count != 0 ? RPattern.ByMonthDay[0] : 0; eBitDayOfWeek dayOfWeekMask = eBitDayOfWeek.Unknown; eInstanceType instance = eInstanceType.InstanceFirst; //Primary key McRecurrencePattern mcRecurrencePattern = RPattern as McRecurrencePattern; if (mcRecurrencePattern != null) { recurrenceEntity.PrimaryKeyId = mcRecurrencePattern.MetaObjectId; } //Copy RPATTERN Parameters to entity property foreach (string paramName in RPattern.Parameters.Keys) { iCal2EntityMapping.MappingResult mapRes = iCal2EntityMapping.iCalProp2EntityProp <T>(paramName); if (mapRes != null && RPattern.Parameters.ContainsKey(paramName)) { foreach (string paramValue in ((Parameter)RPattern.Parameters[paramName]).Values) { recurrenceEntity[mapRes.Name] = EntityPropConverter.ToEntityProperty(mapRes.ValueType, paramValue); } } } foreach (DaySpecifier daySpec in RPattern.ByDay) { if (daySpec.Num != int.MinValue) { instance = (eInstanceType)daySpec.Num; } switch (daySpec.DayOfWeek) { case DayOfWeek.Sunday: dayOfWeekMask |= eBitDayOfWeek.Sunday; break; case DayOfWeek.Friday: dayOfWeekMask |= eBitDayOfWeek.Friday; break; case DayOfWeek.Monday: dayOfWeekMask |= eBitDayOfWeek.Monday; break; case DayOfWeek.Saturday: dayOfWeekMask |= eBitDayOfWeek.Saturday; break; case DayOfWeek.Thursday: dayOfWeekMask |= eBitDayOfWeek.Thursday; break; case DayOfWeek.Tuesday: dayOfWeekMask |= eBitDayOfWeek.Tuesday; break; case DayOfWeek.Wednesday: dayOfWeekMask |= eBitDayOfWeek.Wednesday; break; } } recurrenceEntity.DayOfWeekMask = (int)dayOfWeekMask; recurrenceEntity.Instance = (int)instance; recurrenceEntity.Interval = RPattern.Interval; eRecurrenceType recType = eRecurrenceType.RecursDaily; if (RPattern.Frequency == FrequencyType.Daily) { recType = eRecurrenceType.RecursDaily; } else if (RPattern.Frequency == FrequencyType.Weekly) { recType = eRecurrenceType.RecursWeekly; } else if (RPattern.Frequency == FrequencyType.Yearly) { recType = eRecurrenceType.RecursYearly; } //TODO: MOTH YEAR NTLR recurrenceEntity.RecurrenceType = (int)recType; recurrenceEntity.MonthOfYear = RPattern.ByMonth.Count != 0 ? RPattern.ByMonth[0] : 0; if (RPattern.Until != null) { recurrenceEntity.PatternEndDate = DateTime.SpecifyKind(RPattern.Until.Value, DateTimeKind.Local); } recurrenceEntity.Occurrences = RPattern.Count == int.MinValue ? 0 : RPattern.Count; return(new EntityObjectHierarchy(recurrenceEntity)); }
public static DayOfWeek GetDayOfWeekByBit(eBitDayOfWeek bitDayOfWeek) { switch (bitDayOfWeek) { case eBitDayOfWeek.Monday: return DayOfWeek.Monday; case eBitDayOfWeek.Tuesday: return DayOfWeek.Tuesday; case eBitDayOfWeek.Wednesday: return DayOfWeek.Wednesday; case eBitDayOfWeek.Thursday: return DayOfWeek.Thursday; case eBitDayOfWeek.Friday: return DayOfWeek.Friday; case eBitDayOfWeek.Saturday: return DayOfWeek.Saturday; case eBitDayOfWeek.Sunday: return DayOfWeek.Sunday; } throw new Exception("Illegal day of week."); }
/// <summary> /// Transfers the property2 outlook property. /// </summary> /// <param name="propertyName">Name of the property.</param> /// <param name="data">The data.</param> private void TransferProperty2OutlookProperty(string propertyName, SyncTransferData data) { object propValue = data.Properties[propertyName]; if (propValue == null) { return; } if (propertyName == RecurrencePatternTransferData.FieldRecurrenceType) { eRecurrenceType recType = (eRecurrenceType)(int)propValue; switch (recType) { case eRecurrenceType.RecursDaily: RPattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursDaily; break; case eRecurrenceType.RecursMonthly: RPattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursMonthly; break; case eRecurrenceType.RecursMonthNth: RPattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursMonthNth; break; case eRecurrenceType.RecursWeekly: RPattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursWeekly; break; case eRecurrenceType.RecursYearly: RPattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursYearly; break; case eRecurrenceType.RecursYearNth: RPattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursYearNth; break; } } else if (propertyName == RecurrencePatternTransferData.FieldDayOfWeekMask) { eBitDayOfWeek dayOfWeekMask = (eBitDayOfWeek)(int)propValue; RPattern.DayOfWeekMask = (Outlook.OlDaysOfWeek)(int) dayOfWeekMask; } else if (propertyName == RecurrencePatternTransferData.FieldPatternEndDate) { RPattern.PatternEndDate = (DateTime)propValue; } else if (propertyName == RecurrencePatternTransferData.FieldDayOfMonth) { RPattern.DayOfMonth = (int)propValue; } else if (propertyName == RecurrencePatternTransferData.FieldInstance) { RPattern.Instance = (int)propValue; } else if (propertyName == RecurrencePatternTransferData.FieldInterval) { RPattern.Interval = (int)propValue; } else if (propertyName == RecurrencePatternTransferData.FieldMonthOfYear) { RPattern.MonthOfYear = (int)propValue; } else if (propertyName == RecurrencePatternTransferData.FieldOccurrences) { RPattern.Occurrences = (int)propValue; } }