예제 #1
0
        /// <summary>
        /// To the parameter map.
        /// </summary>
        /// <param name="version">The version.</param>
        /// <returns>Dictionary&lt;System.String, System.String&gt;.</returns>
        public Dictionary <string, string> ToParameterMap(TCAPIVersion version)
        {
            var result = new Dictionary <string, string>();

            if (Agent != null)
            {
                result.Add("agent", Agent.ToJSON(version));
            }
            if (VerbId != null)
            {
                result.Add("verb", VerbId.ToString());
            }
            if (ActivityId != null)
            {
                result.Add("activity", ActivityId);
            }
            if (Registration != null)
            {
                result.Add("registration", Registration.Value.ToString());
            }
            if (RelatedActivities != null)
            {
                result.Add("related_activities", RelatedActivities.Value.ToString());
            }
            if (RelatedAgents != null)
            {
                result.Add("related_agents", RelatedAgents.Value.ToString());
            }
            if (Since != null)
            {
                result.Add("since", Since.Value.ToString(ISO_DATE_TIME_FORMAT));
            }
            if (Until != null)
            {
                result.Add("until", Until.Value.ToString(ISO_DATE_TIME_FORMAT));
            }
            if (Limit != null)
            {
                result.Add("limit", Limit.ToString());
            }
            if (Format != null)
            {
                result.Add("format", Format.ToString());
            }
            if (Ascending != null)
            {
                result.Add("ascending", Ascending.Value.ToString());
            }

            return(result);
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        internal string ToQueryString()
        {
            var dictionary = new Dictionary <string, string>();

            if (Agent != null)
            {
                dictionary.Add("agent", Agent.ToJson());
            }

            if (VerbId != null)
            {
                dictionary.Add("verb", VerbId.ToString());
            }

            if (ActivityId != null)
            {
                dictionary.Add("activity", ActivityId.ToString());
            }

            if (Registration.HasValue)
            {
                dictionary.Add("registration", Registration.Value.ToString());
            }

            if (RelatedActivities.HasValue)
            {
                dictionary.Add("related_activities", RelatedActivities.Value ? "true" : "false");
            }

            if (RelatedAgents.HasValue)
            {
                dictionary.Add("related_agents", RelatedAgents.Value ? "true" : "false");
            }

            if (Since.HasValue)
            {
                dictionary.Add("since", Since.Value.ToString("o"));
            }

            if (Until.HasValue)
            {
                dictionary.Add("until", Until.Value.ToString("o"));
            }

            if (Limit.HasValue)
            {
                dictionary.Add("limit", Limit.Value.ToString());
            }

            if (Format.HasValue)
            {
                dictionary.Add("format", Format.ToString().ToLower());
            }

            if (Attachments.HasValue)
            {
                dictionary.Add("attachments", Attachments.Value ? "true" : "false");
            }

            if (Ascending.HasValue)
            {
                dictionary.Add("ascending", Ascending.Value ? "true" : "false");
            }

            if (!dictionary.Any())
            {
                return(string.Empty);
            }

            return(string.Concat("?", string.Join("&", dictionary.Select(x => $"{WebUtility.UrlEncode(x.Key)}={WebUtility.UrlEncode(x.Value)}"))));
        }