private void deleteUser_BTN_Click(object sender, RoutedEventArgs e) { if (dbMethods.CheckDatabaseConnection()) { if (MessageBox.Show("Are you sure you want to delete this user?", "Confirm Delete!", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { using (PubsDataContext db = new PubsDataContext()) { Application_User expROW = users_DataGrid.SelectedItem as Application_User; var completionList = new List <Application_User>(from s in db.Application_Users where s.Username == expROW.Username select s); if (expROW != null && completionList.Any()) { var completion = completionList.First(); db.Application_Users.DeleteOnSubmit(completion); db.SubmitChanges(); LoadUsers(users_DataGrid); } else { LoadUsers(users_DataGrid); } } } } }
public async Task <IActionResult> ChangePassword(UserPasswordChangeModel model) { Application_User appUser = _userManager.FindByNameAsync(model.UserName).Result; await _userManager.ChangePasswordAsync(appUser, model.OldPassword, model.NewPassword); return(Ok(new Response { Status = "Password Changed", Message = "Password changed successfully." })); }
private void saveUser_BTN_Click(object sender, RoutedEventArgs e) { Application_User userROW = users_DataGrid.SelectedItem as Application_User; if (userROW != null) { if (dbMethods.CheckDatabaseConnection()) { using (PubsDataContext db = new PubsDataContext()) { var completionList = new List <Application_User>(from s in db.Application_Users where s.Username == userROW.Username select s); if (completionList.Count > 0) { var completion = completionList.First(); completion.Username = userROW.Username; completion.Password = userROW.Password; completion.LastName = userROW.LastName; completion.IsAdmin = userROW.IsAdmin; completion.FirstName = userROW.FirstName; completion.Birthdate = userROW.Birthdate; // Fixes the issue with saving birthdates db.SubmitChanges(); LoadUsers(users_DataGrid); } else { Application_User exp = new Application_User(); exp.Username = userROW.Username; exp.Password = userROW.Password; exp.LastName = userROW.LastName; exp.IsAdmin = userROW.IsAdmin; exp.FirstName = userROW.FirstName; exp.Birthdate = userROW.Birthdate; // Fixes the issue with saving birthdates db.Application_Users.InsertOnSubmit(exp); db.SubmitChanges(); LoadUsers(users_DataGrid); } } } } }
public async Task <IActionResult> RegisterAdmin([FromBody] Registration_VE model) { var userExists = await _userManager.FindByNameAsync(model.Username); if (userExists != null) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE { Status = "Error", Message = "User already exists!" })); } Application_User user = new Application_User() { Email = model.Email, SecurityStamp = Guid.NewGuid().ToString(), UserName = model.Username }; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE { Status = "Error", Message = "User creation failed! Please check user details and try again." })); } if (!await _roleManager.RoleExistsAsync(User_Roles.Admin)) { await _roleManager.CreateAsync(new IdentityRole(User_Roles.Admin)); } if (!await _roleManager.RoleExistsAsync(User_Roles.User)) { await _roleManager.CreateAsync(new IdentityRole(User_Roles.User)); } if (await _roleManager.RoleExistsAsync(User_Roles.Admin)) { await _userManager.AddToRoleAsync(user, User_Roles.Admin); } return(Ok(new Response_VE { Status = "Success", Message = "User created successfully!" })); }
public async Task <IActionResult> Register([FromBody] Registration_VE model) { try { var userExists = await _userManager.FindByNameAsync(model.Username); if (userExists != null) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE { Status = "Error", Message = "User already exists!" })); } Application_User user = new Application_User() { Email = model.Email, SecurityStamp = Guid.NewGuid().ToString(), UserName = model.Username }; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE { Status = "Error", Message = "User creation failed! Please check user details and try again." })); } else { var roleresult = await _userManager.AddToRoleAsync(user, "Customer"); } return(Ok(new Response_VE { Status = "Success", Message = "User created successfully!" })); } catch (Exception Exc) { throw Exc; } }
public async Task <IActionResult> CreateUserRoles([Required] string UserName, [Required] string RoleName) { var RoleManager = _serviceProvider.GetRequiredService <RoleManager <IdentityRole> >(); var UserManager = _serviceProvider.GetRequiredService <UserManager <Application_User> >(); //Adding Admin Role var roleCheck = await RoleManager.RoleExistsAsync(RoleName); if (!roleCheck) { //create the roles and seed them to the database return(StatusCode(StatusCodes.Status500InternalServerError, new Response { Status = "Error", Message = "Role does not exists!" })); } //Assign Admin role to the main User here we have given our newly registered //login id for Admin management Application_User user = await UserManager.FindByNameAsync(UserName); // Add User To Role var userInRole = await _userManager.IsInRoleAsync(user, RoleName); if (!userInRole) { await UserManager.AddToRoleAsync(user, RoleName); return(Ok(new Response { Status = "Success", Message = "Role assigned successfully!" })); } else { return(Ok(new Response { Status = "Not added", Message = "Same role already assigned for this user." })); } }