public async Task <ActionResult> Register(RegisterViewModel 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) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); //ApplicationDbContext LoginContext = new ApplicationDbContext(); // Para obtener más información sobre cómo habilitar la confirmación de cuentas y el restablecimiento de contraseña, visite https://go.microsoft.com/fwlink/?LinkID=320771 // Enviar correo electrónico con este vínculo // 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, "Confirmar cuenta", "Para confirmar la cuenta, haga clic <a href=\"" + callbackUrl + "\">aquí</a>"); Usuario algo = new Usuario(); if (model.CodigoPostal == 987123) { algo.Rol = 99; } else { algo.Rol = 1; } algo.IdAccount = user.Id; algo.Nombre = model.Nombre; algo.Apellido = model.Apellido; algo.CodigoPostal = model.CodigoPostal; algo.Direccion = model.Direccion; algo.Dni = model.Dni; algo.Email = model.Email; algo.FechaNacimiento = model.FechaNacimiento; algo.Localidad = model.Localidad; algo.Provincia = model.Provincia; algo.Sexo = model.Sexo; MiBaseDatos miConn = new MiBaseDatos(); miConn.Usuarios.Add(algo); miConn.SaveChanges(); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return(View(model)); }
public static int GetUsuarioRol(this IIdentity identity) { var userEmail = identity.GetEmailAdress(); using (var context = new MiBaseDatos()) { var user = context.Usuarios.FirstOrDefault(u => u.Email == userEmail); if (user != null) { return(user.Rol); } return(1); } }