/// <summary> /// Get a list of tags defined by the request parameters /// </summary> /// <param name="requestParameters"></param> /// <returns></returns> public List<Domain.Tag> GetList(TagListParameters requestParameters) { // Build request URL List<string> requestUrlParameters = new List<string>(); if (requestParameters.Search != null) requestUrlParameters.Add("search=" + HttpUtility.UrlEncode(requestParameters.Search)); requestUrlParameters.Add("reformat_tags_p=" + (requestParameters.ReformatTags ? 1 : 0)); requestUrlParameters.Add("exclude_machine_tags_p=" + (requestParameters.ExcludeMachineTags ? 1 : 0)); if (requestParameters.OrderBy != TagListSort.Tag) requestUrlParameters.Add("orderby=" + RequestValues.Get(requestParameters.OrderBy)); if (requestParameters.Order != GenericSort.Descending) requestUrlParameters.Add("order=" + RequestValues.Get(requestParameters.Order)); if (requestParameters.PageOffset != null) requestUrlParameters.Add("p=" + requestParameters.PageOffset); if (requestParameters.Size != null) requestUrlParameters.Add("size=" + requestParameters.Size); // Do the request MessageReceivingEndpoint requestMessage = new MessageReceivingEndpoint(_provider.GetRequestUrl("/api/tag/list", requestUrlParameters), HttpDeliveryMethods.GetRequest); XPathNavigator responseMessage = _provider.DoRequest(requestMessage); if (responseMessage == null) return null; // List all the videos XPathNodeIterator tags = responseMessage.Select("/response/tag"); List<Domain.Tag> result = new List<Domain.Tag>(); while (tags.MoveNext()) { if (tags.Current == null) return null; // Create the domain Tag Domain.Tag tagModel = new Domain.Tag { Name = tags.Current.GetAttribute("tag", ""), URL = tags.Current.GetAttribute("url", ""), Count = Helpers.ConvertStringToInteger(tags.Current.GetAttribute("count", "")) }; result.Add(tagModel); } return result; }
/// <summary> /// Get a list of tags defined by the request parameters /// </summary> /// <param name="requestParameters"></param> /// <returns></returns> public List <Domain.Tag> GetList(TagListParameters requestParameters) { // Build request URL List <string> requestUrlParameters = new List <string>(); if (requestParameters.Search != null) { requestUrlParameters.Add("search=" + HttpUtility.UrlEncode(requestParameters.Search)); } requestUrlParameters.Add("reformat_tags_p=" + (requestParameters.ReformatTags ? 1 : 0)); requestUrlParameters.Add("exclude_machine_tags_p=" + (requestParameters.ExcludeMachineTags ? 1 : 0)); if (requestParameters.OrderBy != TagListSort.Tag) { requestUrlParameters.Add("orderby=" + RequestValues.Get(requestParameters.OrderBy)); } if (requestParameters.Order != GenericSort.Descending) { requestUrlParameters.Add("order=" + RequestValues.Get(requestParameters.Order)); } if (requestParameters.PageOffset != null) { requestUrlParameters.Add("p=" + requestParameters.PageOffset); } if (requestParameters.Size != null) { requestUrlParameters.Add("size=" + requestParameters.Size); } // Do the request MessageReceivingEndpoint requestMessage = new MessageReceivingEndpoint(_provider.GetRequestUrl("/api/tag/list", requestUrlParameters), HttpDeliveryMethods.GetRequest); XPathNavigator responseMessage = _provider.DoRequest(requestMessage); if (responseMessage == null) { return(null); } // List all the videos XPathNodeIterator tags = responseMessage.Select("/response/tag"); List <Domain.Tag> result = new List <Domain.Tag>(); while (tags.MoveNext()) { if (tags.Current == null) { return(null); } // Create the domain Tag Domain.Tag tagModel = new Domain.Tag { Name = tags.Current.GetAttribute("tag", ""), URL = tags.Current.GetAttribute("url", ""), Count = Helpers.ConvertStringToInteger(tags.Current.GetAttribute("count", "")) }; result.Add(tagModel); } return(result); }