public async Task<ActionResult> GenerateTestData() { #if DEBUG var userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); var users = new List<User>(); // add users for (var i = 1; i <= 75; i++) { var email = string.Format("test.user.{0}@mail.com", i); var user = new User { UserName = email, Email = email, FirstName = "Test" + i, LastName = "User" }; var result = await userManager.CreateAsync(user, "Password01!"); if (result.Succeeded) { var currentUser = userManager.FindByEmail(user.Email); var roleresult = userManager.AddToRole(currentUser.Id, "User"); users.Add(currentUser); } } for (var week = 1; week <= 3; week++) { // get week schedules var schedules = ScheduleViewModel.GetList(week); var rnd = new Random(); // add the picks for each user for week 1 foreach (var user in users) { foreach (var schedule in schedules) { var pick = new PickViewModel { User = UserListViewModel.FromUser(user), Schedule = schedule, PickHomeTeam = (rnd.Next(0, 100) > 50), CombinedScore = (schedule.RequireScore ? rnd.Next(3, 50) : 0) }; pick.Save(); } } } #endif return null; }
public async Task<ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { // get default gravatar image url var imageUrl = string.Format("http://www.gravatar.com/avatar/{0}?r=pg", GetEmailHash(model.Email.Trim().ToLower())); var user = new User { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, ImageUrl = imageUrl }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var currentUser = UserManager.FindByEmail(user.Email); var roleresult = UserManager.AddToRole(currentUser.Id, "Guest"); await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // 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, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return RedirectToAction("Index", "Home"); } AddErrors(result); } // If we got this far, something failed, redisplay form return View(model); }
public static UserListViewModel FromUser(User user, IDbSet<IdentityRole> roles = null) { var role = string.Empty; if (roles != null) { // find the role names foreach (var userRole in user.Roles) { if (role.Length > 0) role += ","; role += roles.First(r => r.Id == userRole.RoleId).Name; } } return new UserListViewModel() { Id = user.Id, Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, ImageUrl = user.ImageUrl, Role = role }; }