public async Task <ActionResult> Register(IndexViewModel model) { if (ModelState.IsValid) { try { var user = new ApplicationUser { DisplayName = model.Register.DisplayName, Email = model.Register.Email, UserName = model.Register.Email, CurrentExp = 100, // set user exp default by 100 }; // Create user var result = await m_userManager.CreateUserAsync(user, model.Register.Password); // Check if successfull if (result == IdentityResult.Success) { // Login into system await SignInAsync(user, false); //Add registed Successfully exp reward for user await m_expService.AddExpForRegisterAsync(user.Id); //Init currency amount await m_currencyUserService.CreateAsync(EntityFactory.CreateCurrency_UserObject(user.Id, Constraint.CurrencySystem.DIAMOND)); await m_currencyUserService.CreateAsync(EntityFactory.CreateCurrency_UserObject(user.Id, Constraint.CurrencySystem.STARFISH)); await m_currencyUserService.CreateAsync(EntityFactory.CreateCurrency_UserObject(user.Id, Constraint.CurrencySystem.HEART)); // redirect to galaxy-gate return(RedirectToAction("Index", "Home", new { area = "galaxygate" })); } else // If failure {////[RequireHttps] TempData["RegisterMessage"] = result.Errors.First(); return(RedirectToAction("Index", "Home")); } } catch (Exception ex) { ViewBag.ErrorMessage = ex.Message; ViewBag.Exception = ex.ToString(); return(View("Error")); } } // If we got this far, something failed, redisplay form return(RedirectToAction("Index", "Home")); }