예제 #1
0
        /// <summary>
        ///   Initialize the url of the API.
        /// </summary>
        /// <param name="resources"> A list of API resources. </param>
        /// <param name="parameters"> A list of parameters. </param>
        /// <returns> A <see cref="UriBuilder" /> object representing the url. </returns>
        public static UriBuilder BuildApiUrl(Collection <Resource> resources, QueryStringParameters parameters)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(Constants.ApiBaseUrl);
            foreach (Resource resource in resources)
            {
                if (string.IsNullOrEmpty(resource.Name) == false)
                {
                    sb.Append("/");
                    sb.Append(resource.Name);
                    if (string.IsNullOrEmpty(resource.Identifier) == false)
                    {
                        sb.Append("/");
                        sb.Append(resource.Identifier);
                    }
                }
            }

            UriBuilder uri = new UriBuilder(sb.ToString());

            if (parameters != null)
            {
                return(parameters.AppendToUri(uri));
            }
            else
            {
                return(uri);
            }
        }