Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        /// <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);
        }