/// <summary>
        /// Gets the user personal information.
        /// </summary>
        /// <param name="data">The data.</param>
        /// <returns></returns>
        private PayPalUserPersonalInfo GetUserPersonalInfo(PersonalDataList data)
        {
            var personalData = data.personalData.Where(o => o.personalDataKey.HasValue)
                               .ToDictionary(o => o.personalDataKey.Value, o => o.personalDataValue);

            Func <PersonalAttribute, string> getAttributeValue = attr => {
                string res = null;
                personalData.TryGetValue(attr, out res);
                return(res);
            };

            PayPalUserPersonalInfo personalInfo = new PayPalUserPersonalInfo {
                FirstName    = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGNAMEPERSONFIRST),
                LastName     = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGNAMEPERSONLAST),
                FullName     = getAttributeValue(PersonalAttribute.HTTPSCHEMAOPENIDNETCONTACTFULLNAME),
                Phone        = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGCONTACTPHONEDEFAULT),
                BusinessName = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGCOMPANYNAME),
                EMail        = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGCONTACTEMAIL),
                State        = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGCONTACTSTATEHOME),
                City         = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGCONTACTCITYHOME),
                Country      = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGCONTACTCOUNTRYHOME),
                Street1      = getAttributeValue(PersonalAttribute.HTTPSCHEMAOPENIDNETCONTACTSTREET1),
                Street2      = getAttributeValue(PersonalAttribute.HTTPSCHEMAOPENIDNETCONTACTSTREET),
                Postcode     = getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGCONTACTPOSTALCODEHOME),
                DateOfBirth  = ConvertBirthdayStringToDateTime(getAttributeValue(PersonalAttribute.HTTPAXSCHEMAORGBIRTHDATE)),
                PlayerId     = getAttributeValue(PersonalAttribute.HTTPSWWWPAYPALCOMWEBAPPSAUTHSCHEMAPAYERID2),
                Created      = DateTime.UtcNow
            };

            return(personalInfo);
        }
Пример #2
0
 /// <summary>
 /// Saves the personal information.
 /// </summary>
 /// <param name="personalInfo">The personal information.</param>
 /// <returns></returns>
 public Optional <int> SavePersonalInfo(PayPalUserPersonalInfo personalInfo)
 {
     using (var connection = GetOpenedSqlConnection2()) {
         var cmd = GetInsertCommand(connection, connection.SqlConnection(), "MP_PayPalPersonalInfo", "Id", SkipColumns("Id"));
         if (!cmd.HasValue)
         {
             return(-1);
         }
         using (var sqlCommand = cmd.GetValue()) {
             return(ExecuteScalarAndLog <int>(sqlCommand));
         }
     }
 }