public async Task <AppUserViewModelinUserService> ExcecuteAsync(string id) { var user = await _userManager.FindByIdAsync(id); var roles = await _userManager.GetRolesAsync(user); AppUserViewModelinUserService userVm = new AppUserViewModelinUserService(); userVm.Id = user.Id; userVm.Avatar = user.Avatar; userVm.DateCreated = user.DateCreated; userVm.Email = user.Email; userVm.FullName = user.FullName; userVm.UserName = user.UserName; userVm.Token = user.Token; userVm.Roles = roles.ToList(); return(userVm); }
public async Task <AppUserViewModelinUserService> ExcecuteAsync() { var userId = _httpContextAccessor.HttpContext.User.Identity.Name; var findUser = await _userManager.FindByIdAsync(userId); var roles = await _userManager.GetRolesAsync(findUser); AppUserViewModelinUserService userVm = new AppUserViewModelinUserService(); userVm.Id = findUser.Id; userVm.Avatar = findUser.Avatar; userVm.DateCreated = findUser.DateCreated; userVm.Email = findUser.Email; userVm.FullName = findUser.FullName; userVm.UserName = findUser.UserName; userVm.Token = findUser.Token; userVm.Roles = roles.ToList(); return(userVm); }
public async Task <CommandResult <AppUserViewModelinUserService> > ExecuteAsync(AppUserViewModelinUserService userVm) { var userId = _httpContextAccessor.HttpContext.User.Identity.Name; var userName = _userManager.FindByIdAsync(userId).Result.UserName; try { if (await _checkUserIsAdminQuery.ExecuteAsync(userId) || await _getPermissionActionQuery.ExecuteAsync(userId, ConstantFunctions.USER, ActionSetting.CanCreate)) { var user = new AppUser() { UserName = userVm.UserName, Avatar = userVm.Avatar, Email = userVm.Email, FullName = userVm.FullName, DateCreated = DateTime.Now, PhoneNumber = userVm.PhoneNumber, Status = Model.Enums.Status.Active }; //Check email and username has been available var findUserName = await _userManager.FindByNameAsync(userVm.UserName); if (findUserName != null) { return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = "User has been available" }); } //Check email hase been available var findEmail = await _userManager.FindByEmailAsync(userVm.Email); if (findEmail != null) { return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = "Email has been available" }); } //Add user var result = await _userManager.CreateAsync(user, userVm.Password); if (result.Succeeded && userVm.Roles.Count > 0) { var appUser = await _userManager.FindByNameAsync(user.UserName); if (appUser != null) { await _userManager.AddToRolesAsync(appUser, userVm.Roles); } } await Logging <AddUserAsyncCommand> .InformationAsync(ActionCommand.COMMAND_ADD, userName, JsonConvert.SerializeObject(userVm)); return(new CommandResult <AppUserViewModelinUserService> { isValid = true, myModel = new AppUserViewModelinUserService { UserName = userVm.UserName, Avatar = userVm.Avatar, Email = userVm.Email, FullName = userVm.FullName, DateCreated = DateTime.Now, PhoneNumber = userVm.PhoneNumber, Id = user.Id, Status = Model.Enums.Status.Active, Roles = _userManager.GetRolesAsync(user).Result.ToList() } }); } else { await Logging <AddUserAsyncCommand> .WarningAsync(ActionCommand.COMMAND_ADD, userName, ErrorMessageConstant.ERROR_ADD_PERMISSION); return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = ErrorMessageConstant.ERROR_ADD_PERMISSION }); } } catch (System.Exception ex) { await Logging <AddUserAsyncCommand> .ErrorAsync(ex, ActionCommand.COMMAND_ADD, userName, "Has error"); return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = ex.InnerException.ToString() }); } }
public async Task <CommandResult <AppUserViewModelinUserService> > ExecuteAsync(AppUserViewModelinUserService userVm) { try { var user = await _userManager.FindByNameAsync(userVm.UserName); if (user != null) { return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = "Username has existed" }); } //Check exist email var email = await _userManager.FindByEmailAsync(userVm.Email); if (email != null) { return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = "Email has existed" }); } if (user == null && email == null) { await _userManager.CreateAsync(new AppUser() { UserName = userVm.UserName, FullName = userVm.FullName, Email = userVm.Email, DateCreated = DateTime.Now, DateModified = DateTime.Now, Status = Status.Active }, userVm.Password); var newUser = await _userManager.FindByNameAsync(userVm.UserName); await _userManager.AddToRoleAsync(newUser, ConstantRoles.Customer); await Logging <AddCustomerAsyncCommand> . InformationAsync(ActionCommand.COMMAND_ADD, userVm.UserName, "New Account:" + userVm.UserName); return(new CommandResult <AppUserViewModelinUserService> { isValid = true, myModel = new AppUserViewModelinUserService { UserName = userVm.UserName, FullName = userVm.FullName, Email = userVm.Email, DateCreated = DateTime.Now, Status = Status.Active } }); } return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = "Cannot create your new account" }); } catch (System.Exception ex) { await Logging <AddCustomerAsyncCommand> . ErrorAsync(ex, ActionCommand.COMMAND_ADD, userVm.UserName, "Has error"); return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = ex.InnerException.ToString() }); } }
public async Task <CommandResult <AppUserViewModelinUserService> > ExecuteAsync(AppUserViewModelinUserService userVm) { var userId = _httpContextAccessor.HttpContext.User.Identity.Name; var userName = _userManager.FindByIdAsync(userId).Result.UserName; try { if (await _checkUserIsAdminQuery.ExecuteAsync(userId) || await _getPermissionActionQuery.ExecuteAsync(userId, ConstantFunctions.USER, ActionSetting.CanUpdate)) { var user = await _userManager.FindByIdAsync(userVm.Id.ToString()); user.FullName = userVm.FullName; user.Status = userVm.Status; user.Email = userVm.Email; user.PhoneNumber = userVm.PhoneNumber; user.Avatar = userVm.Avatar; user.UserName = userVm.UserName; var userRoles = _userManager.GetRolesAsync(user); List <Guid> roleId = new List <Guid>(); foreach (var item in userRoles.Result.ToList()) { var getId = _roleRepository.FindByNameAsync(item).Result.Id; roleId.Add(getId); } foreach (var item in roleId) { _userRoleRepository.DeleteUserRole(user.Id, item); } var selectedRole = userVm.NewRoles.ToArray(); selectedRole = selectedRole ?? new string[] { }; await _userManager.AddToRolesAsync(user, selectedRole.Except(userRoles.Result).ToArray()); //var userRoles1 = await _userManager.GetRolesAsync(user); await _userManager.UpdateAsync(user); await Logging <UpdateUserAsyncCommand> .InformationAsync(ActionCommand.COMMAND_UPDATE, userName, JsonConvert.SerializeObject(user)); return(new CommandResult <AppUserViewModelinUserService> { isValid = true, myModel = new AppUserViewModelinUserService { FullName = userVm.FullName, Email = userVm.Email, PhoneNumber = userVm.PhoneNumber, Id = userVm.Id, Avatar = userVm.Avatar, DateCreated = user.DateCreated, UserName = user.UserName, Roles = userVm.Roles.ToList() } }); } else { await Logging <UpdateUserAsyncCommand> . WarningAsync(ActionCommand.COMMAND_UPDATE, userName, ErrorMessageConstant.ERROR_UPDATE_PERMISSION); return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = ErrorMessageConstant.ERROR_UPDATE_PERMISSION }); } } catch (Exception ex) { await Logging <UpdateUserAsyncCommand> . ErrorAsync(ex, ActionCommand.COMMAND_UPDATE, userName, "Has error"); return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = ex.InnerException.ToString() }); } }
public async Task <CommandResult <AppUserViewModelinUserService> > ExecuteAsync(AppUserViewModelinUserService socialUserViewModel) { try { var getExistEmail = await _userManager.Users.Where(x => x.Email == socialUserViewModel.Email).FirstOrDefaultAsync(); if (getExistEmail == null) { var user = new AppUser { Email = socialUserViewModel.Email, Avatar = socialUserViewModel.Avatar, UserName = _removeSupport.RemoveUnicode(socialUserViewModel.UserName).Replace(" ", "_"), FullName = socialUserViewModel.UserName, DateCreated = DateTime.Now }; var newPassword = _randomSupport.RandomString(12); var result = await _userManager.CreateAsync(user, newPassword); if (result.Succeeded) { var appUser = await _userManager.FindByNameAsync(user.UserName); if (appUser != null) { await _userManager.AddToRoleAsync(appUser, ConstantRoles.Customer); } //Set content for email var getAllEmail = await _getAllEmailServiceQuery.ExecuteAsync(); var getFirstEmail = getAllEmail.Where(x => x.Name == EmailName.Reject_News).FirstOrDefault(); getFirstEmail.Message = getFirstEmail.Message.Replace(EmailKey.UserNameKey, user.UserName). Replace(EmailKey.PasswordKey, newPassword); ContentEmail(_configEmail.Value.SendGridKey, getFirstEmail.Subject, getFirstEmail.Message, socialUserViewModel.Email).Wait(); } var getNewEmail = await _userManager.Users.Where(x => x.Email == socialUserViewModel.Email).FirstOrDefaultAsync(); var getToken = SetToken(getNewEmail); return(new CommandResult <AppUserViewModelinUserService> { isValid = true, myModel = new AppUserViewModelinUserService { Email = getNewEmail.Email, Avatar = getNewEmail.Avatar, UserName = getNewEmail.UserName, FullName = getNewEmail.FullName, Token = getToken.Token } }); } var getExistToken = SetToken(getExistEmail); return(new CommandResult <AppUserViewModelinUserService> { isValid = true, myModel = new AppUserViewModelinUserService { Email = getExistEmail.Email, Avatar = getExistEmail.Avatar, UserName = getExistEmail.UserName, FullName = getExistEmail.FullName, Token = getExistToken.Token } }); } catch (System.Exception ex) { return(new CommandResult <AppUserViewModelinUserService> { isValid = false, errorMessage = ex.InnerException.ToString() }); } }
public async Task <IActionResult> UpdateUser([FromBody] AppUserViewModelinUserService userVm) { var model = await _updateUserService.ExecuteAsync(userVm); return(new ObjectResult(model)); }
public async Task <IActionResult> LoginExternal([FromBody] AppUserViewModelinUserService userViewModel) { var model = await _addExternalService.ExecuteAsync(userViewModel); return(new ObjectResult(model)); }