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));
        }