Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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(",");
        }
Beispiel #3
0
 public string this[ParamterTypes parameter] {
     get {
         return(GetValue(".value." + parameter.ToString())
                ?? GetValue(".sreg." + parameter.ToString()));
     }
 }