private static string GetShemaUri(ParamterTypes type) { switch (type) { case ParamterTypes.email: return("http://axschema.org/contact/email"); case ParamterTypes.country: return("http://axschema.org/contact/country/home"); case ParamterTypes.language: return("http://axschema.org/contact/pref/language"); case ParamterTypes.firstname: return("http://axschema.org/namePerson/first"); case ParamterTypes.lastname: return("http://axschema.org/namePerson/last"); case ParamterTypes.fullname: return("http://axschema.org/namePerson"); default: return(null); } }
private static void AddParameters(NameValueCollection query, ParamterTypes parameters, string type) { if (parameters.Contains(ParamterTypes.fullname)) { parameters = parameters.SetFlag(ParamterTypes.firstname, true).SetFlag(ParamterTypes.lastname, true); } query["openid.sreg." + type] = EnumToCommaDelimited(parameters); var paramsWSchema = GetValues(parameters).Select(x => Tuple.Create(x, GetShemaUri(x))).Where(x => !x.Item2.IsNullOrEmpty()).ToArray(); if (paramsWSchema.IsNullOrEmpty()) { return; } query["openid.ax.mode"] = "fetch_request"; for (var i = 0; i < paramsWSchema.Length; i++) { query["openid.ax.type." + paramsWSchema[i].Item1.ToString()] = paramsWSchema[i].Item2; } query["openid.ax." + type] = paramsWSchema.Select(x => x.Item1.ToString()).Join(","); }
public string this[ParamterTypes parameter] { get { return(GetValue(".value." + parameter.ToString()) ?? GetValue(".sreg." + parameter.ToString())); } }