public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { string returnUrl = ""; await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); var _user = new ClassEntityUsers { Name = model.Name, Tel = model.PhoneNumber, EntityRoles = repositoryRoles.FindBy(field => field.Name == model.SelectedRole).FirstOrDefault(), IdLogin = user.Id }; repositoryUsers.Add(_user); // if (model.Email == "*****@*****.**") returnUrl = "~/Home/Admin"; // else // { // if (_user.Roles.name == "customer") returnUrl = "~/Home/Index"; // else returnUrl = "~/Products/Index"; // } 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(RedirectToLocal(returnUrl)); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
private Task FistRun() { var repositoryBrands = new Repository <ClassEntityBrands>(NHibernateHelper.OpenSession()); var repositoryCategories = new Repository <ClassEntityCategories>(NHibernateHelper.OpenSession()); var repositoryRoles = new Repository <ClassEntityRoles>(NHibernateHelper.OpenSession()); var repositorySizes = new Repository <ClassEntitySizes>(NHibernateHelper.OpenSession()); return(Task.Run(async() => { var model = new RegisterViewModel { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******", Name = "Web Administrator", PhoneNumber = "000-000-0000", SelectedRole = "admin" }; var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); repositoryBrands.Add(new List <ClassEntityBrands>() { new ClassEntityBrands() { Name = "abercrombie" }, new ClassEntityBrands() { Name = "asos" }, new ClassEntityBrands() { Name = "bershka" }, new ClassEntityBrands() { Name = "missguided" }, new ClassEntityBrands() { Name = "zara" } }); repositoryCategories.Add(new List <ClassEntityCategories>() { new ClassEntityCategories() { Name = "woman" }, new ClassEntityCategories() { Name = "midi dresses" }, new ClassEntityCategories() { Name = "maxi dresses" }, new ClassEntityCategories() { Name = "prom dresses" }, new ClassEntityCategories() { Name = "little black dresses" }, new ClassEntityCategories() { Name = "mini dresses" }, new ClassEntityCategories() { Name = "man" }, new ClassEntityCategories() { Name = "children" }, new ClassEntityCategories() { Name = "bags & purses" }, new ClassEntityCategories() { Name = "eyewear" }, new ClassEntityCategories() { Name = "footwear" }, new ClassEntityCategories() { Name = "jumpsuits" }, new ClassEntityCategories() { Name = "lingerie" }, new ClassEntityCategories() { Name = "jeans" }, new ClassEntityCategories() { Name = "dresses" }, new ClassEntityCategories() { Name = "coats" }, new ClassEntityCategories() { Name = "jumpers" }, new ClassEntityCategories() { Name = "leggins" } }); repositoryRoles.Add(new List <ClassEntityRoles>() { new ClassEntityRoles() { Name = "admin" }, new ClassEntityRoles() { Name = "customer" }, new ClassEntityRoles() { Name = "seller" } }); repositorySizes.Add(new List <ClassEntitySizes>() { new ClassEntitySizes() { Name = "XS" }, new ClassEntitySizes() { Name = "S" }, new ClassEntitySizes() { Name = "M" }, new ClassEntitySizes() { Name = "L" }, new ClassEntitySizes() { Name = "XL" }, new ClassEntitySizes() { Name = "XXL" }, }); var _user = new ClassEntityUsers() { Name = model.Name, Tel = model.PhoneNumber, EntityRoles = repositoryRoles.FindBy(1), IdLogin = user.Id }; repositoryUsers.Add(_user); model = new RegisterViewModel { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******", Name = "Web Customer", PhoneNumber = "000-000-0000", SelectedRole = "customer" }; user = new ApplicationUser { UserName = model.Email, Email = model.Email }; result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { _user = new ClassEntityUsers() { Name = model.Name, Tel = model.PhoneNumber, EntityRoles = repositoryRoles.FindBy(2), IdLogin = user.Id }; repositoryUsers.Add(_user); model = new RegisterViewModel { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******", Name = "Web Seller", PhoneNumber = "000-000-0000", SelectedRole = "seller" }; user = new ApplicationUser { UserName = model.Email, Email = model.Email }; result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { _user = new ClassEntityUsers() { Name = model.Name, Tel = model.PhoneNumber, EntityRoles = repositoryRoles.FindBy(3), IdLogin = user.Id }; repositoryUsers.Add(_user); } } } })); }