Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }