public async Task <ActionResult <ResponseStatusViewModel> > DeleteUser(UserViewModel model, string id) { ResponseStatusViewModel res = new ResponseStatusViewModel(); Regex emailRegex = new Regex(@"^\S+@\S+\.\S+$"); var emailMatch = emailRegex.Match(model.Email); if (!CheckResult(model.Id, model.Name, model.UserName, model.Email) && emailMatch.Success && id.Equals(model.Id.Trim())) { res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); } var user = await userManager.FindByIdAsync(model.Id); if (user != null) { var result = await userManager.DeleteAsync(user); if (result.Succeeded) { res.Result = true; res.Message = Succeeded; return(new OkObjectResult(res)); } } res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); }
public async Task <ActionResult <ResponseStatusViewModel> > Put(RegisterViewModel model) { ResponseStatusViewModel responseModel = new ResponseStatusViewModel(); responseModel.Result = true; if (string.IsNullOrWhiteSpace(model.FirstName)) { responseModel.Result = false; responseModel.Messages.Add("First name cannot be blank!"); } if (string.IsNullOrWhiteSpace(model.LastName)) { responseModel.Result = false; responseModel.Messages.Add("Last name cannot be blank!"); } if (string.IsNullOrWhiteSpace(model.Email)) { responseModel.Result = false; responseModel.Messages.Add("Email cannot be blank!"); } if (string.IsNullOrWhiteSpace(model.Password)) { responseModel.Result = false; responseModel.Messages.Add("Password cannot be blank!"); } if (!responseModel.Result) { return(new BadRequestObjectResult(responseModel)); } ApplicationUser appUser = new ApplicationUser() { Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, TwoFactorEnabled = true, EmailConfirmed = true }; IdentityResult result = await _userManager.CreateAsync(appUser, model.Password); if (result.Succeeded) { IdentityRole userRole = _roleManager.Roles.FirstOrDefault(r => r.Name == "User"); if (userRole == null) { await _roleManager.CreateAsync(new IdentityRole("User")); } await _userManager.AddToRoleAsync(appUser, userRole.Name); responseModel.Result = true; responseModel.Messages.Add("Thank you for registering your account."); return(new OkObjectResult(responseModel)); } else { responseModel.Result = false; responseModel.Messages.Add("Unable to create your user account."); return(new BadRequestObjectResult(responseModel)); } }
public new ActionResult User(string id) { if (id.Equals("1")) { return(Ok("hi")); } ResponseStatusViewModel res = new ResponseStatusViewModel(); res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); }
public async Task <ActionResult <ResponseStatusViewModel> > SaveChanges(UserViewModel model, string id) { ResponseStatusViewModel res = new ResponseStatusViewModel(); Regex emailRegex = new Regex(@"^\S+@\S+\.\S+$"); var emailMatch = emailRegex.Match(model.Email); if (!CheckResult(model.Id, model.Name, model.UserName, model.Email) && emailMatch.Success && id.Equals(model.Id.Trim())) { res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); } var user = await userManager.FindByIdAsync(model.Id); if (user != null) { user.Name = model.Name.Trim(); user.UserName = model.UserName; user.Email = model.Email; IList <string> currentRoles = await userManager.GetRolesAsync(user); var res1 = await userManager.RemoveFromRolesAsync(user, currentRoles); var res2 = await userManager.AddToRolesAsync(user, model.Roles); var res3 = await userManager.UpdateAsync(user); if (res1.Succeeded && res2.Succeeded && res3.Succeeded) { res.Result = true; res.Message = Succeeded; return(new OkObjectResult(res)); } } res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); }
public async Task <ActionResult <ResponseStatusViewModel> > CreateUser(UserViewModel model, string id) { ResponseStatusViewModel res = new ResponseStatusViewModel(); Regex emailRegex = new Regex(@"^\S+@\S+\.\S+$"); var emailMatch = emailRegex.Match(model.Email); if (!CheckResult(model.Id, model.Name, model.UserName, model.Email) && emailMatch.Success) { res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); } var user = new ApplicationUser() { Name = model.Name, UserName = model.UserName, Email = model.Email }; var result = await userManager.CreateAsync(user); if (result.Succeeded) { var result2 = await userManager.AddPasswordAsync(user, model.Id.Trim()); if (result2.Succeeded) { res.Result = true; res.Message = Succeeded; return(new OkObjectResult(res)); } } res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); }
public async Task <ActionResult <ResponseStatusViewModel> > Put(RegisterRequestViewModel model) { ResponseStatusViewModel res = new ResponseStatusViewModel(); if (!CheckResult(model.Name, model.Username, model.Email, model.Password)) { res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); } ApplicationUser user = new ApplicationUser() { Name = model.Name, Email = model.Email, UserName = model.Username, TwoFactorEnabled = true }; var result = await userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { res.Result = false; res.Message = Failed; return(new BadRequestObjectResult(res)); } await userManager.AddToRoleAsync(user, AuthorizationRoles.User); res.Result = true; res.Message = Succeeded; return(new OkObjectResult(res)); }
public async Task <ActionResult <ResponseStatusViewModel> > Put(RegisterRequestViewModel model) { ResponseStatusViewModel responseModel = new ResponseStatusViewModel(); responseModel.Result = true; if (string.IsNullOrWhiteSpace(model.FirstName)) { responseModel.Result = false; responseModel.Messages.Add("First name cannot be blank."); } if (string.IsNullOrWhiteSpace(model.LastName)) { responseModel.Result = false; responseModel.Messages.Add("Last name cannot be blank."); } if (string.IsNullOrWhiteSpace(model.Username)) { responseModel.Result = false; responseModel.Messages.Add("Username cannot be blank."); } if (string.IsNullOrWhiteSpace(model.Password)) { responseModel.Result = false; responseModel.Messages.Add("Password cannot be blank."); } if (!responseModel.Result) { return(new BadRequestObjectResult(responseModel)); } MemberModel member = new MemberModel() { Email = model.Email, UserName = model.Username, FirstName = model.FirstName, LastName = model.LastName, TwoFactorEnabled = true }; IdentityResult result = await _userManager.CreateAsync(member, model.Password); if (result.Succeeded) { IdentityRole memberRole = _roleManager.Roles.FirstOrDefault(r => r.Name == "Member"); IdentityRole adminRole = _roleManager.Roles.FirstOrDefault(r => r.Name == "Admin"); if (memberRole == null) { await _userManager.AddToRoleAsync(member, "Member"); } await _userManager.AddToRoleAsync(member, memberRole.Name); if (model.Username == "Admin") { if (adminRole == null) { await _userManager.AddToRoleAsync(member, "Admin"); } await _userManager.AddToRoleAsync(member, adminRole.Name); } responseModel.Result = true; responseModel.Messages.Add("Thank you for registering your account."); return(new OkObjectResult(responseModel)); } else { responseModel.Result = false; responseModel.Messages.Add("Unable to create your user account."); return(new BadRequestObjectResult(responseModel)); } }
public async Task <ActionResult <ResponseStatusViewModel> > Put(RegisterViewModel model) { ResponseStatusViewModel responseModel = new ResponseStatusViewModel(); responseModel.Result = true; if (string.IsNullOrWhiteSpace(model.FirstName)) { responseModel.Result = false; responseModel.Messages.Add("First Name cannot be blank!"); } if (string.IsNullOrWhiteSpace(model.LastName)) { responseModel.Result = false; responseModel.Messages.Add("Last Name cannot be blank!"); } if (string.IsNullOrWhiteSpace(model.Email)) { responseModel.Result = false; responseModel.Messages.Add("Email cannot be blank!"); } if (string.IsNullOrWhiteSpace(model.Password)) { responseModel.Result = false; responseModel.Messages.Add("Password cannot be blank!"); } if (string.IsNullOrWhiteSpace(model.ConfirmPassword)) { responseModel.Result = false; responseModel.Messages.Add("Password cannot be blank!"); } if (!responseModel.Result) { return(new BadRequestObjectResult(responseModel)); } ApplicationUser user = new ApplicationUser() { Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, TwoFactorEnabled = true, EmailConfirmed = true }; /* * var user = _mapper.Map<AppUser>(model); * * var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); * * var confirmationLink = Url.Action(nameof(Project_2.Controllers.HomeController.ConfirmEmail), "Home", new { token, email = user.Email }, Request.Scheme); * * var message = new MessageService(new string[] { user.Email }, "Confirmation email link", confirmationLink, null); */ IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { //await _mailSender.SendEmailAsync(message); IdentityRole userRole = _roleManager.Roles.FirstOrDefault(r => r.Name == "Admin"); if (userRole == null) { await _roleManager.CreateAsync(new IdentityRole("Admin")); } await _userManager.AddToRoleAsync(user, userRole.Name); responseModel.Result = true; responseModel.Messages.Add("Thank you for registering your account."); return(new OkObjectResult(responseModel)); } else { responseModel.Result = false; responseModel.Messages.Add("Unable to create your user account."); return(new BadRequestObjectResult(responseModel)); } }