public static async Task CreateUserRoles(IServiceProvider serviceProvider) { var RoleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >(); var UserManager = serviceProvider.GetRequiredService <UserManager <FinalUser> >(); IdentityResult roleResult; //Add Admin Role var roleCheck = await RoleManager.RoleExistsAsync("Admin"); if (!roleCheck) { roleResult = await RoleManager.CreateAsync(new IdentityRole("Admin")); } FinalUser user = await UserManager.FindByEmailAsync("*****@*****.**"); if (user == null) { var User = new FinalUser(); User.Email = "*****@*****.**"; User.UserName = "******"; string userPWD = "Admin123"; IdentityResult chkUser = await UserManager.CreateAsync(User, userPWD); //Add default User to Role Admin if (chkUser.Succeeded) { var result1 = await UserManager.AddToRoleAsync(User, "Admin"); } } }
public string Register([FromForm] string json) { try { this.Request = new Request(json); FinalUser finalUser = new FinalUser { Name = this.Request.Get("name"), LastName = this.Request.Get("lastname"), BornDate = Convert.ToDateTime(this.Request.Get("borndate")), Email = new MailAddress(this.Request.Get("email")).Address, Password = this.Request.Get("password"), Gender = Convert.ToChar(this.Request.Get("gender")), //ImageSource = this.Request.Get("imageSource"), Nationality = new NationRepository().GetNation("ARG" /*this.Request.Get("nation")*/), Telephone = this.Request.Get("telephone"), Status = new StatusRepository().FindStatusByCode("A"), ParentUser = new FinalUserRepository().FindById(Convert.ToInt32(this.Request.GetOrNull("parentUserId"))), }; new FinalUserRepository().Add(finalUser); return(new Response(true, "Usuario creado exitosamente!").ToJson()); } catch (NullReferenceException) { return(new Response(false, "No se han enviado todos los parametros necesarios para crear al usuario.").ToJson()); } catch (Exception ex) { return(new Response(false, ex.Message).ToJson()); } }
public IHttpActionResult PutFinalUser(int id, FinalUser finalUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != finalUser.Id) { return(BadRequest()); } db.Entry(finalUser).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!FinalUserExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private object GetUserIdOrNull(FinalUser finalUser) { try { return(finalUser.Id); } catch { return("(NULL)"); } }
public IHttpActionResult GetFinalUser(int id) { FinalUser finalUser = db.FinalUsers.Find(id); if (finalUser == null) { return(NotFound()); } return(Ok(finalUser)); }
public IHttpActionResult PostFinalUser(FinalUser finalUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.FinalUsers.Add(finalUser); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = finalUser.Id }, finalUser)); }
private async Task LoadAsync(FinalUser user) { var userName = await _userManager.GetUserNameAsync(user); var phoneNumber = await _userManager.GetPhoneNumberAsync(user); Username = userName; Input = new InputModel { PhoneNumber = phoneNumber }; }
public IHttpActionResult DeleteFinalUser(int id) { FinalUser finalUser = db.FinalUsers.Find(id); if (finalUser == null) { return(NotFound()); } db.FinalUsers.Remove(finalUser); db.SaveChanges(); return(Ok(finalUser)); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl ??= Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new FinalUser { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
public void Add(FinalUser finalUser) { try { int lastID = this.Add((AbstractUser)finalUser); String QueryTemplate = "INSERT INTO {0} (Id, ImageSource, Telephone, ParentUser) " + "VALUES ({1}, '{2}', '{3}', {4})"; String Query = String.Format(QueryTemplate, this.Table, lastID, //finalUser.ImageSource, "", finalUser.Telephone, this.GetUserIdOrNull(finalUser.ParentUser)); this.ExecInsert(Query); EmailSender.UserAdd((AbstractUser)finalUser); } catch (SqlException ex) { throw new SqlParsedException(ex.Number, ex.Message); } catch (Exception ex) { throw ex; } finally { this.SqlConnection.Close(); } }