public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.FName, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); if (model.roles == "Customer") { DB22Entities3 db1 = new DB22Entities3(); Customer cus = new Customer(); cus.Address = model.address; cus.Id = user.Id; cus.Name = model.FName; db1.Customers.Add(cus); db1.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Customer"); db1.SaveChanges(); return(RedirectToAction("Welcome", "Customers", new { id = user.Id })); } else if (model.roles == "Chef") { DB22Entities3 db1 = new DB22Entities3(); Chef che = new Chef(); che.Id = user.Id; che.Name = model.FName; db1.Chefs.Add(che); db1.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Chef"); //db1.SaveChanges(); return(RedirectToAction("Welcome", "Chefs", new { id = user.Id })); } else if (model.roles == "Supplier") { DB22Entities3 db1 = new DB22Entities3(); Supplier che = new Supplier(); che.Id = user.Id; che.Name = model.FName; db1.Suppliers.Add(che); db1.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Supplier"); //db1.SaveChanges(); return(RedirectToAction("Welcome", "Suppliers")); } else if (model.roles == "Delivery") { DB22Entities3 db1 = new DB22Entities3(); DeliveryTeam che = new DeliveryTeam(); che.Id = user.Id; che.Name = model.FName; db1.DeliveryTeams.Add(che); db1.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Delivery"); //db1.SaveChanges(); return(RedirectToAction("Welcome", "DeliveryTeam", new { id = user.Id })); } else { return(View(model)); } } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.FName, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); if (model.roles == "Customer") { DB22Entities3 db1 = new DB22Entities3(); Customer cus = new Customer(); cus.Address = model.address; cus.Id = user.Id; cus.Name = model.FName; db1.Customers.Add(cus); db1.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Customer"); db1.SaveChanges(); return(RedirectToAction("Index", "Home")); } else if (model.roles == "Chef") { DB22Entities3 db1 = new DB22Entities3(); Chef che = new Chef(); che.Id = user.Id; che.Name = model.FName; db1.Chefs.Add(che); try { db1.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { System.Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } await UserManager.AddToRoleAsync(user.Id, "Chef"); //db1.SaveChanges(); return(RedirectToAction("Index", "Home")); } else if (model.roles == "Supplier") { DB22Entities3 db1 = new DB22Entities3(); Supplier che = new Supplier(); che.Id = user.Id; che.Name = model.FName; db1.Suppliers.Add(che); db1.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Supplier"); return(RedirectToAction("Welcome", "Suppliers", new { id = user.Id })); } else if (model.roles == "Delivery") { DB22Entities3 db1 = new DB22Entities3(); DeliveryTeam che = new DeliveryTeam(); che.Id = user.Id; che.Name = model.FName; db1.DeliveryTeams.Add(che); db1.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Delivery"); //db1.SaveChanges(); return(RedirectToAction("Index", "Home")); } else { return(View(model)); } } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }