public async Task <IHttpActionResult> Register(RegisterViewModell model) { User user; if (model.Cv.Equals("Resource")) { user = new Resource { UserName = model.Email, Email = model.Email, firstname = model.firstname, lastname = model.lastname, address = model.address, PhoneNumber = model.phoneNumber, motDePasse = model.Password }; // UserManager.AddToRoleAsync(user.Id,model) } else { user = new Customer { UserName = model.Email, Email = model.Email, firstname = model.firstname, lastname = model.lastname, address = model.address, PhoneNumber = model.phoneNumber, motDePasse = model.Password }; } var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { result = await UserManager.AddToRoleAsync(user.Id, model.Cv); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // 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(Ok(model)); // return RedirectToAction("ConfEmail", "Account"); } return(Ok("Echec")); }
public async Task <ActionResult> Register(RegisterViewModell model) { if (ModelState.IsValid) { var user = new ApplicationUser { NameExtension = model.NameExtension, UserName = model.Email, Email = model.Email, PhoneNumber = model.PhoneNumber, FirstName = model.FirstName, LastName = model.LastName, CountryId = model.CountryId, IsInterestedInLawyer = model.IsInterestedInLawyer, DateRegistered = DateTime.UtcNow, Career = "General", DisableRP = false }; var result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { AddErrors(result); } await UserManager.SetTwoFactorEnabledAsync(user.Id, false); if (result.Succeeded) { return(await GenerateEmailConfirmation(user)); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <IHttpActionResult> Register(RegisterViewModell model) { // return Ok(model.AccountType); switch (model.AccountType) { case EAccountType.Patient: { Patient v = new Patient { UserName = (model.UserName), Email = model.Email, Address = model.Address, FirstName = model.FirstName, LastName = model.LastName, BirthDate = model.BirthDate, ImageName = model.ImageName, PhoneNumber = model.PhoneNumber, Gender = model.Gender, }; var results = await UserManager.CreateAsync(v, model.PasswordHash); if (results.Succeeded) { //result = await UserManager.AddToRoleAsync(user.Id, model.Cv); await SignInManager.SignInAsync(v, isPersistent : false, rememberBrowser : false); return(Ok("Patient added !")); } } break; case EAccountType.Doctor: { Doctor res = new Doctor { UserName = model.UserName, Email = model.Email, Address = model.Address, FirstName = model.FirstName, LastName = model.LastName, BirthDate = model.BirthDate, ImageName = model.ImageName, PhoneNumber = model.PhoneNumber, Gender = model.Gender, Speciality = model.Speciality }; if (res.ImageName == null) { res.ImageName = "default-user-image.png"; } var results = await UserManager.CreateAsync(res, model.PasswordHash); if (results.Succeeded) { //result = await UserManager.AddToRoleAsync(user.Id, model.Cv); await SignInManager.SignInAsync(res, isPersistent : false, rememberBrowser : false); return(Ok("Docteur added !")); } } break; } return(Ok("Fail !")); }