public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser() { UserName = model.UserName, Region = model.Region }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var request = new UserRequest() { UserName = user.UserName }; var message = MessagingService.CreateSaveUserMessage(request, user.Region); var messagingService = new MessagingService(); messagingService.Send(message); await SignInAsync(user, isPersistent : false); return(RedirectToAction("Index", "Home")); } else { AddErrors(result); } } // If we got this far, something failed, redisplay form return(View(model)); }