Beispiel #1
0
        private List <DynamicQueryable.DynamicProperty> GetColumnsProperties(List <string> columnsNames)
        {
            List <DynamicQueryable.DynamicProperty> columnsList = new List <DynamicQueryable.DynamicProperty>();

            string uri = string.Format("{0}EntityMetadata(PartitionKey='{1}', RowKey='{1}Item')", _Account.TableEndpoint.AbsoluteUri, EntitySet);

            WebRequest request = HttpWebRequest.Create(uri);

            // Sign request for Azure authentication
            _Account.Credentials.SignRequestLite((HttpWebRequest)request);

            try
            {
                WebResponse response = request.GetResponse();
                XElement    feed     = XElement.Load(response.GetResponseStream());

                foreach (var e in feed.Elements(_contentXName).Elements(_propertiesXName))
                {
                    if (e != null)
                    {
                        foreach (string currentName in columnsNames)
                        {
                            string columnType  = e.Element(_nsd + currentName.ToLower()).Value;
                            Type   currentType = Type.GetType(columnType);
                            DynamicQueryable.DynamicProperty currentColumn = new DynamicQueryable.DynamicProperty(currentName, currentType);
                            columnsList.Add(currentColumn);
                        }
                    }
                }
            }
            catch (WebException ex)
            {
                HttpWebResponse response = ex.Response as HttpWebResponse;
                _HttpContext.Response.StatusCode = (int)response.StatusCode;
                _HttpContext.Response.End();
            }

            return(columnsList);
        }
        private List<DynamicQueryable.DynamicProperty> GetColumnsProperties(List<string> columnsNames)
        {
            List<DynamicQueryable.DynamicProperty> columnsList = new List<DynamicQueryable.DynamicProperty>();

            string uri = string.Format("{0}EntityMetadata(PartitionKey='{1}', RowKey='{1}Item')", _Account.TableEndpoint.AbsoluteUri, EntitySet);

            WebRequest request = HttpWebRequest.Create(uri);

            // Sign request for Azure authentication
            _Account.Credentials.SignRequestLite((HttpWebRequest)request);

            try
            {
                WebResponse response = request.GetResponse();
                XElement feed = XElement.Load(response.GetResponseStream());

                foreach (var e in feed.Elements(_contentXName).Elements(_propertiesXName))
                {
                    if (e != null)
                    {
                        foreach (string currentName in columnsNames)
                        {
                            string columnType = e.Element(_nsd + currentName.ToLower()).Value;
                            Type currentType = Type.GetType(columnType);
                            DynamicQueryable.DynamicProperty currentColumn = new DynamicQueryable.DynamicProperty(currentName, currentType);
                            columnsList.Add(currentColumn);
                        }
                    }
                }
            }
            catch (WebException ex)
            {
                HttpWebResponse response = ex.Response as HttpWebResponse;
                _HttpContext.Response.StatusCode = (int)response.StatusCode;
                _HttpContext.Response.End();
            }

            return columnsList;
        }