public async Task <ActionResult> CreateParticular(ViewModelParticular model) { if (ModelState.IsValid) { var dados = new Particular { Nome = model.Nome, Bi = model.Bi, Morada = model.Morada, DataNascimento = model.DataNascimento, Cconducao = model.Cconducao, Email = model.Cconducao, Tel = model.Tel }; db.Particulares.Add(dados); db.SaveChanges(); var user = new ApplicationUser { UserName = model.Email, Email = model.Email, Perfil = "Particular", ParticularId = dados.ParticularId }; var adminresult = await UserManager.CreateAsync(user, model.Password); //Add User ao Role if (adminresult.Succeeded) { var result = await UserManager.AddToRoleAsync(user.Id, "Particular"); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.First()); return(View()); } } else { ModelState.AddModelError("", adminresult.Errors.First()); return(View()); } return(RedirectToAction("Index")); } return(View()); }
public async Task <ActionResult> RegisterParticular(ViewModelParticular model) { if (ModelState.IsValid) { var dados = new Particular { Nome = model.Nome, Bi = model.Bi, Morada = model.Morada, DataNascimento = model.DataNascimento, Cconducao = model.Cconducao, Email = model.Cconducao, Tel = model.Tel }; db.Particulares.Add(dados); db.SaveChanges(); var user = new ApplicationUser { UserName = model.Email, Email = model.Email, Perfil = "Particular", ParticularId = dados.ParticularId }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var 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 this link: <a href=\"" + callbackUrl + "\">link</a>"); await this.UserManager.AddToRoleAsync(user.Id, "Geral"); return(RedirectToAction("Login")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }