本文整理汇总了C#中UserModel.UpdateSubscriptionId方法的典型用法代码示例。如果您正苦于以下问题:C# UserModel.UpdateSubscriptionId方法的具体用法?C# UserModel.UpdateSubscriptionId怎么用?C# UserModel.UpdateSubscriptionId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UserModel
的用法示例。
在下文中一共展示了UserModel.UpdateSubscriptionId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Signup
public ActionResult Signup(UserModel.User user, System.Web.Mvc.FormCollection collection)
{
if (ModelState.IsValid)
{
var PlanId = String.Empty;
NewSubscription UserData = new NewSubscription();
UserData.Email = user.BillingEmail;
UserData.Username = user.BillingName;
UserData.Password = user.BillingPassword;
UserData.Plan = "Premium";
PlanId = "d5jb";
UserData.Company = user.Company;
UserData.TOSCheck = Convert.ToInt32(user.TOSCheck);
var regexItem = new Regex(@"\d");
string email = user.BillingEmail;
Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
Match match = regex.Match(email);
if (!match.Success)
{
//Bad Email
ModelState.AddModelError("BillingEmail", "Invalid Email");
}
else if (user.IsEmailValid(email))
{
//Email Taken
ModelState.AddModelError("BillingEmail", "Email already in use");
}
if (user.BillingName.Length < 5)
{
//Bad Username
ModelState.AddModelError("BillingName", "Username must be a least 5 characters in length");
}
else if (user.DoesUsernameExist(user.BillingName))
{
//Username already exists
ModelState.AddModelError("BillingName", "Username is already in use");
}
if (user.BillingPassword != user.BillingPasswordTwo)
{
//Passwords Don't Match
ModelState.AddModelError("BillingPassword", "Passwords do not match");
}
else if (user.BillingPassword.Length < 6)
{
//Passwords Too Short
ModelState.AddModelError("BillingPassword", "Password must be at least 6 characters in length");
}
else if (!regexItem.IsMatch(user.BillingPassword))
{
//Passwords do not contain number
ModelState.AddModelError("BillingPassword", "Password must contain at least one number");
}
if (user.Company.Length < 1)
{
//Invalid Company
ModelState.AddModelError("Company", "Invalid Company Name");
}
if (!user.TOSCheck)
{
//Terms of Service not checked
ModelState.AddModelError("General", "You must agree to terms of service");
}
//Write to DB if all is good
if (ModelState.IsValid)
{
CustomerRequest request = new CustomerRequest
{
CreditCard = new CreditCardRequest
{
CardholderName = collection["name"],
Number = collection["number"],
ExpirationMonth = collection["month"],
ExpirationYear = collection["year"],
CVV = collection["cvv"]
}
};
Result<Customer> result = Gateway.BrainTreeGateway.Customer.Create(request);
if (result.IsSuccess())
{
//Successful add to Braintree
UserData.BillingID = result.Target.Id;
if (user.SaveNewUser(UserData))
{
//Successful write to DB
try
{
Customer customer = Gateway.BrainTreeGateway.Customer.Find(UserData.BillingID);
string paymentMethodToken = customer.CreditCards[0].Token;
SubscriptionRequest subscriptionRequest = new SubscriptionRequest
{
PaymentMethodToken = paymentMethodToken,
PlanId = PlanId
};
Result<Subscription> subscriptionResult = Gateway.BrainTreeGateway.Subscription.Create(subscriptionRequest);
user.UpdateSubscriptionId(user.BillingName, subscriptionResult.Target.Id);
return RedirectToAction("Index", "Home");
}
catch (Braintree.Exceptions.NotFoundException)
{
//.........这里部分代码省略.........