using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; namespace Com.Piwigo.Lib.Proxy.Helper { public static class PwgProxyReponseHelper { public static void buildQueryFromArray(List values, String paramName, ref Boolean firstOcc, StringBuilder queryStringBuilder) { String FormatString = String.Empty; if (values != null) { if (values.Count == 1) { FormatString = "{0}={1}"; } else { FormatString = "{0}[]={1}"; } if (firstOcc != true) { FormatString = String.Format("&{0}", FormatString); } foreach (T occurance in values) { queryStringBuilder.AppendFormat(FormatString, paramName, HttpUtility.UrlEncode(occurance.ToString().ToLower())); firstOcc = false; } } } public static void buildQueryFromValue(Nullable nullableValue, String paramName, ref Boolean firstOcc, StringBuilder queryStringBuilder) where T: struct { if (nullableValue.HasValue) { buildQueryFromValue(nullableValue.Value, paramName, ref firstOcc, queryStringBuilder); } } public static void buildQueryFromValue(T value, String paramName, ref Boolean firstOcc, StringBuilder queryStringBuilder) { String FormatString = String.Empty; if (value != null) { FormatString = "{0}={1}"; if (firstOcc != true) { FormatString = String.Format("&{0}", FormatString); } queryStringBuilder.AppendFormat(FormatString, paramName, HttpUtility.UrlEncode(value.ToString().ToLower())); firstOcc = false; } } } }