private readonly IEnumerable m_source; // The wrapped enumerable object. //----------------------------------------------------------------------------------- // Instantiates a new wrapper object. // internal ParallelEnumerableWrapper(Collections.IEnumerable source) : base(QuerySettings.Empty) { Contract.Assert(source != null); m_source = source; }
/// <summary> /// Get PropertyUsageAttributes for all properties in entity /// </summary> /// <param name="apiContext"></param> /// <param name="entityType"></param> /// <param name="propertiesUsageAttributes"></param> /// <returns></returns> public static Helpers.ActionResult GetPropertiesUsageAttributes(Helpers.ApiContext apiContext, Type entityType, out Collections.IEnumerable <Helpers.PropertyUsageAttributes> propertiesUsageAttributes) { // API doesn't allow null parameters. This method requires at least 1 item in the collection. if (apiContext == null) { throw new System.ArgumentNullException("apiContext"); } if (entityType == null) { throw new System.ArgumentNullException("entityType"); } Helpers.ActionResult result = Helpers.ActionResult.Factory(true); try { using (Model.OrmsContext contexte = (Model.OrmsContext)apiContext.CurrentContext) { System.Data.Metadata.Edm.EntityType edmEntityType = (from item in contexte.MetadataWorkspace.GetItems(System.Data.Metadata.Edm.DataSpace.CSpace) where item.BuiltInTypeKind == System.Data.Metadata.Edm.BuiltInTypeKind.EntityType && (item as System.Data.Metadata.Edm.EntityType).Name == entityType.Name select item as System.Data.Metadata.Edm.EntityType).First(); propertiesUsageAttributes = from p in edmEntityType.Properties //where p.Name.ToLower() == fieldName select SetPropertyUsageAttributes(p); //select new Helpers.PropertyUsageAttributes //{ // Name = p.Name, // MaxLength = p.TypeUsage.EdmType.Name.ToLower() == "string" ? System.Convert.ToInt32(p.TypeUsage.Facets["MaxLength"].Value) : (-1), // Required = !System.Convert.ToBoolean(p.TypeUsage.Facets["Nullable"].Value), // Type = p.TypeUsage.EdmType.Name //}; if (propertiesUsageAttributes == null) { propertiesUsageAttributes = new Collections.List <Helpers.PropertyUsageAttributes>(); } } } catch (System.Exception ex) { object forDebugging = ex; throw; } return(result); }