Exemple #1
0
        public async Task <ActionResult> RegisterChauffeur(RegisterViewModelChauffeur 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)
                {
                    //   bd.Trajets.Where(x => x.Id == 0).FirstOrDefault().Chauffeur.Voiture.Where(x => x.VoitureID == 1).FirstOrDefault().nbPlace;
                    //  bd.Trajets.Where(x => x.Id == 0).FirstOrDefault().Client.Count();
                    var currentUser = UserManager.Users.Where(x => x.Email == model.Email).FirstOrDefault();

                    Chauffeur chauffeur = new Chauffeur {
                        Email = model.Email, Prenom = model.Prenom, Nom = model.Nom, DateEmbauche = model.DateEmbauche, DatePermis = model.DatePermis, NumeroPermis = model.NumeroPermis, NumeroTelephone = model.NumeroTelephone, Ville = model.Ville, Voiture = new List <Voiture>(), Public = model.Public
                    };
                    chauffeur.Voiture.Add(new Voiture {
                        nbPlace = model.NbPlace, ModeleVoiture = model.VehiculeModel, dateMiseRoute = model.DateEnRoute
                    });
                    bd.Chauffeur.Add(chauffeur);

                    bd.SaveChanges();
                    var roleManager = new RoleManager <IdentityRole>(new
                                                                     RoleStore <IdentityRole>(new ApplicationDbContext()));
                    if (!roleManager.RoleExists("Chauffeur"))
                    {
                        var role = new IdentityRole();
                        role.Name = "Chauffeur";
                        roleManager.Create(role);
                    }
                    // Attribution du rôle
                    var addRole = await UserManager.AddToRoleAsync(user.Id, "Chauffeur");

                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // Pour plus d'informations sur l'activation de la confirmation de compte et de la réinitialisation de mot de passe, visitez https://go.microsoft.com/fwlink/?LinkID=320771
                    // Envoyer un message électronique avec ce lien
                    // 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, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire
            return(View(model));
        }
Exemple #2
0
        public async Task <ActionResult> RegisterChauffeur(RegisterViewModelChauffeur model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName  = model.Email,
                    Email     = model.Email,
                    Age       = model.Age,
                    Nom       = model.Nom,
                    Telephone = model.Telephone,
                    Prenom    = model.Prenom,
                    Ville     = model.ville
                };

                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    //La creation du role se fait dans le startup
                    //attribution du role
                    UserManager.AddToRole(user.Id, "Chauffeur");

                    Chauffeur chauffeur = new Chauffeur
                    {
                        Id           = user.Id,
                        DateEmbauche = DateTime.Now,
                        DatePermis   = model.DatePermis,
                        Vehicule     = new Vehicule {
                            Id = user.Id, Modele = model.Modele, DateMiseEnRoute = model.DateMiseEnRoute, NombrePlace = model.NombrePlace
                        },
                        Trajets = new List <Trajet>()
                    };

                    _serviceChauffeur.CreateVehicule(chauffeur.Vehicule);
                    _serviceChauffeur.CreateChauffeur(chauffeur);

                    // TODO rediriger vers les detail du chauffeur id cree dans le controleur chauffeur
                    return(RedirectToAction("Details", "Chauffeurs", chauffeur));
                }
                AddErrors(result);
            }

            // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire
            return(View(model));
        }