예제 #1
0
        public Uri GetFullUri()
        {
            var parameters = new List <string>();

            if (!FilterParameter.IsNullOrWhiteSpace())
            {
                parameters.Add(BuildParameter(StringConstants.FilterParameter, HttpUtility.UrlEncode(FilterParameter)));
            }

            if (!SelectParameter.IsNullOrWhiteSpace())
            {
                parameters.Add(BuildParameter(StringConstants.SelectParameter, SelectParameter));
            }

            if (!SkipParameter.IsNullOrWhiteSpace())
            {
                parameters.Add(BuildParameter(StringConstants.SkipParameter, SkipParameter));
            }

            if (!TakeParameter.IsNullOrWhiteSpace())
            {
                parameters.Add(BuildParameter(StringConstants.TopParameter, TakeParameter));
            }

            if (OrderByParameter.Any())
            {
                parameters.Add(BuildParameter(StringConstants.OrderByParameter, OrderByParameter.Join(",")));
            }

            if (!ExpandParameter.IsNullOrWhiteSpace())
            {
                parameters.Add(BuildParameter(StringConstants.ExpandParameter, ExpandParameter));
            }

            var builder = new UriBuilder(m_serviceBase);

            builder.Query = (string.IsNullOrEmpty(builder.Query) ? string.Empty : "&") + parameters.Join("&");

            var resultUri = builder.Uri;

            return(resultUri);
        }