/// <summary> /// Deserialize to object instance from Properties /// </summary> /// <typeparam name="T">The generic type parameter</typeparam> /// <param name="properties">The Properties data which contains new added information</param> /// <returns>The object instance</returns> public static T DeserializeFromFetchProperties <T>(Response.Properties properties) { T obj = Activator.CreateInstance <T>(); if (properties.ItemsElementName.Length > 0) { for (int itemIndex = 0; itemIndex < properties.ItemsElementName.Length; itemIndex++) { switch (properties.ItemsElementName[itemIndex]) { case Response.ItemsChoiceType3.Categories1: case Response.ItemsChoiceType3.Categories2: //case Response.ItemsChoiceType3.Categories3: case Response.ItemsChoiceType3.Categories4: case Response.ItemsChoiceType3.Recurrence1: case Response.ItemsChoiceType3.Sensitivity1: case Response.ItemsChoiceType3.Subject1: //case Response.ItemsChoiceType3.Subject2: case Response.ItemsChoiceType3.Subject3: break; default: SetCalendarPropertyValue(obj, properties.ItemsElementName[itemIndex].ToString(), properties.Items[itemIndex]); break; } } } return(obj); }
/// <summary> /// Deserialize to object instance from ItemOperations Properties. /// </summary> /// <typeparam name="T">The generic type parameter.</typeparam> /// <param name="fetchProperties">The Properties data which contains new added information.</param> /// <returns>The object instance.</returns> public static T DeserializeFromFetchProperties <T>(Response.Properties fetchProperties) { T obj = Activator.CreateInstance <T>(); if (fetchProperties.ItemsElementName.Length > 0) { for (int itemIndex = 0; itemIndex < fetchProperties.ItemsElementName.Length; itemIndex++) { switch (fetchProperties.ItemsElementName[itemIndex]) { case Response.ItemsChoiceType3.Categories: case Response.ItemsChoiceType3.Categories2: case Response.ItemsChoiceType3.Categories3: case Response.ItemsChoiceType3.Categories4: break; case Response.ItemsChoiceType3.Categories1: Common.SetSpecifiedPropertyValueByName(obj, "Categories", fetchProperties.Items[itemIndex]); break; default: Common.SetSpecifiedPropertyValueByName(obj, fetchProperties.ItemsElementName[itemIndex].ToString(), fetchProperties.Items[itemIndex]); break; } } } return(obj); }
/// <summary> /// Deserialize to object instance from Properties /// </summary> /// <typeparam name="T">The generic type parameter</typeparam> /// <param name="properties">The Properties data which contains new added information</param> /// <returns>The object instance</returns> public static T DeserializeFromFetchProperties <T>(Response.Properties properties) { T obj = Activator.CreateInstance <T>(); if (properties.ItemsElementName.Length > 0) { for (int itemIndex = 0; itemIndex < properties.ItemsElementName.Length; itemIndex++) { switch (properties.ItemsElementName[itemIndex]) { case Response.ItemsChoiceType3.Categories: case Response.ItemsChoiceType3.Categories1: case Response.ItemsChoiceType3.Categories2: case Response.ItemsChoiceType3.Categories4: case Response.ItemsChoiceType3.LastModifiedDate: case Response.ItemsChoiceType3.Subject: case Response.ItemsChoiceType3.Subject1: case Response.ItemsChoiceType3.Subject3: case Response.ItemsChoiceType3.MessageClass: break; case Response.ItemsChoiceType3.Categories3: Common.SetSpecifiedPropertyValueByName(obj, "Categories", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.Body: Common.SetSpecifiedPropertyValueByName(obj, "Body", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.LastModifiedDate1: string lastModifiedDateString = properties.Items[itemIndex].ToString(); if (!string.IsNullOrEmpty(lastModifiedDateString)) { Common.SetSpecifiedPropertyValueByName(obj, "IsLastModifiedDateSpecified", true); Common.SetSpecifiedPropertyValueByName(obj, "LastModifiedDate", Common.GetNoSeparatorDateTime(lastModifiedDateString)); Common.SetSpecifiedPropertyValueByName(obj, "LastModifiedDateString", lastModifiedDateString); } break; case Response.ItemsChoiceType3.Subject2: Common.SetSpecifiedPropertyValueByName(obj, "Subject", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.MessageClass1: Common.SetSpecifiedPropertyValueByName(obj, "MessageClass", properties.Items[itemIndex]); break; default: Common.SetSpecifiedPropertyValueByName(obj, properties.ItemsElementName[itemIndex].ToString(), properties.Items[itemIndex]); break; } } } return(obj); }
/// <summary> /// Deserialize to Email instance from Response.Properties. /// </summary> /// <typeparam name="T">The generic type parameter</typeparam> /// <param name="properties">The application data which contains Properties element from the ItemOperations command response.</param> /// <returns>The returned instance.</returns> public static T DeserializeFromFetchProperties <T>(Response.Properties properties) { T obj = Activator.CreateInstance <T>(); if (properties != null && properties.ItemsElementName.Length > 0) { for (int itemIndex = 0; itemIndex < properties.ItemsElementName.Length; itemIndex++) { switch (properties.ItemsElementName[itemIndex]) { case Response.ItemsChoiceType3.Categories: case Response.ItemsChoiceType3.Categories1: //case Response.ItemsChoiceType3.Categories3: case Response.ItemsChoiceType3.Categories4: case Response.ItemsChoiceType3.Importance1: //case Response.ItemsChoiceType3.MessageClass1: case Response.ItemsChoiceType3.Subject: //case Response.ItemsChoiceType3.Subject2: case Response.ItemsChoiceType3.Subject3: break; case Response.ItemsChoiceType3.Read: Common.SetSpecifiedPropertyValueByName(obj, "ReadIsInclude", true); Common.SetSpecifiedPropertyValueByName(obj, "Read", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.Flag: Common.SetSpecifiedPropertyValueByName(obj, "FlagIsInclude", true); Common.SetSpecifiedPropertyValueByName(obj, "Flag", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.Categories2: Common.SetSpecifiedPropertyValueByName(obj, "Categories", properties.Items[itemIndex]); Common.SetSpecifiedPropertyValueByName(obj, "CategoriesIsInclude", true); break; case Response.ItemsChoiceType3.Subject1: Common.SetSpecifiedPropertyValueByName(obj, "Subject", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.Bcc: Common.SetSpecifiedPropertyValueByName(obj, "Bcc", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.IsDraft: Common.SetSpecifiedPropertyValueByName(obj, "IsDraft", properties.Items[itemIndex]); break; case Response.ItemsChoiceType3.Cc: Common.SetSpecifiedPropertyValueByName(obj, "CC", properties.Items[itemIndex]); break; default: Common.SetSpecifiedPropertyValueByName(obj, properties.ItemsElementName[itemIndex].ToString(), properties.Items[itemIndex]); break; } } } return(obj); }