public async Task<ActionResult> Register(RegisterViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.UserName, Email = model.Email, TrafficRemaining = 0, RealName = model.RealName }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await UserManager.AddToRoleAsync(user.Id, "Users"); RechargeRequest request = new RechargeRequest() { CreationTime = DateTime.Now, RequestID = Guid.NewGuid(), User = user, Amount = 512 * 1024 * 1024, }; DbContext.RechargeRequests.Add(request); await DbContext.SaveChangesAsync(); await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false); // 有关如何启用帐户确认和密码重置的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=320771 // 发送包含此链接的电子邮件 // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "确认你的帐户", "请通过单击 <a href=\"" + callbackUrl + "\">這裏</a>来确认你的帐户"); return RedirectToLocal(returnUrl); } AddErrors(result); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return View(model); }
public ActionResult Recharge(RechargeViewModel model) { RechargeRequest request = new RechargeRequest() { CreationTime = DateTime.Now, RequestID = Guid.NewGuid(), User = DbContext.Users.Single(u => u.UserName == User.Identity.Name), }; switch(model.ValueUnit) { case RechargeValueUnit.GB: request.Amount = model.RechargeValue * 1024 * 1024 * 1024; break; case RechargeValueUnit.MB: request.Amount = model.RechargeValue * 1024 * 1024; break; } DbContext.RechargeRequests.Add(request); DbContext.SaveChanges(); return RedirectToAction("Index", new { Message = ManageMessageId.RechargeSuccess }); }