示例#1
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.UserName, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    // await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
                    await this.UserManager.AddToRoleAsync(user.Id, model.Roles);

                    dbmetier = new market_appEntities();

                    if (model.Roles == "prestataire")
                    {
                        prestataire pres = new prestataire();
                        pres.libelle             = model.libelle;
                        pres.raison_social       = model.Raison_social;
                        pres.id_prestataire_user = user.Id;
                        pres.id_prestataire      = user.Id;
                        dbmetier.prestataires.Add(pres);
                        dbmetier.SaveChanges();
                    }
                    if (model.Roles == "responsable_marche")
                    {
                        Responsable_marché res = new Responsable_marché();
                        res.nom    = model.Nom;
                        res.prenom = model.Prenom;
                        res.id_responsable_user = user.Id;
                        res.id_responsable      = user.Id;
                        dbmetier.Responsable_marché.Add(res);
                        dbmetier.SaveChanges();
                    }
                    return(RedirectToAction("Register", "Account"));
                }
                ViewBag.Roles = new SelectList(db.Roles.ToList(), "Name", "Name");
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }