public ConsoleErrorResultModel ValidateUser(int?userId, PortalSettings portalSettings, UserInfo currentUserInfo, out UserInfo userInfo) { userInfo = null; if (!userId.HasValue) { return(new ConsoleErrorResultModel(Localization.GetString("Prompt_NoUserId", Constants.LocalResourcesFile))); } KeyValuePair <HttpStatusCode, string> response; userInfo = _userControllerWrapper.GetUser(userId.Value, portalSettings, currentUserInfo, out response); if (userInfo == null) { var portals = _portalController.GetPortals(); foreach (var portal in portals) { var portalInfo = portal as PortalInfo; userInfo = _userControllerWrapper.GetUserById(portalInfo.PortalID, userId.Value); if (userInfo != null) { break; } } if (userInfo != null && !_contentVerifier.IsContentExistsForRequestedPortal( userInfo.PortalID, portalSettings, true ) ) { userInfo = null; } } return(userInfo == null ? new ConsoleErrorResultModel(response.Value) : null); }
public override ConsoleResultModel Run() { ConsoleErrorResultModel errorResultModel; UserInfo userInfo; if ((errorResultModel = _userValidator.ValidateUser(UserId, PortalSettings, User, out userInfo)) != null) { return(errorResultModel); } var userModels = new List <UserModel> { new UserModel(userInfo) }; if (userInfo.IsDeleted) { return(new ConsoleErrorResultModel(LocalizeString("Prompt_UserAlreadyDeleted"))); } var validPortalId = userInfo.PortalID; if (!_userControllerWrapper.DeleteUserAndClearCache(ref userInfo, Notify, false)) { return(new ConsoleErrorResultModel(LocalizeString("Prompt_UserDeletionFailed")) { Data = userModels }); } // attempt to retrieve the user from the dB userInfo = _userControllerWrapper.GetUserById(validPortalId, userInfo.UserID); userModels = new List <UserModel> { new UserModel(userInfo) }; return(new ConsoleResultModel(LocalizeString("UserDeleted")) { Data = userModels, Records = userModels.Count }); }
public override ConsoleResultModel Run() { var sbResults = new StringBuilder(); ConsoleErrorResultModel errorResultModel; UserInfo userInfo; if ( (errorResultModel = _userValidator.ValidateUser( UserId, PortalSettings, User, out userInfo) ) != null ) { return(errorResultModel); } // Update the User // process the password first. If invalid, we can abort other changes to the user if (!string.IsNullOrEmpty(Password)) { try { _usersController.ChangePassword(userInfo.PortalID, userInfo.UserID, Password); sbResults.Append(LocalizeString("ChangeSuccessful")); } catch (Exception ex) { return(new ConsoleErrorResultModel(ex.Message)); } } if (Approved.HasValue && userInfo.Membership.Approved != Approved.Value) { _usersController.UpdateAuthorizeStatus(userInfo, userInfo.PortalID, Approved.Value); sbResults.Append(LocalizeString(Approved.Value ? "UserAuthorized" : "UserUnAuthorized")); } var basicUpdated = !string.IsNullOrEmpty(Username) || !string.IsNullOrEmpty(DisplayName) || !string.IsNullOrEmpty(FirstName) || !string.IsNullOrEmpty(LastName) || !string.IsNullOrEmpty(Email); var userBasicDto = new UserBasicDto { Displayname = userInfo.DisplayName, UserId = userInfo.UserID, Email = userInfo.Email, IsDeleted = userInfo.IsDeleted, Username = userInfo.Username, Firstname = userInfo.FirstName, Lastname = userInfo.LastName }; // Update Username if (!string.IsNullOrEmpty(Username)) { userBasicDto.Username = Username; } // Update other properties if (!string.IsNullOrEmpty(DisplayName)) { userBasicDto.Displayname = DisplayName; } if (!string.IsNullOrEmpty(FirstName)) { userBasicDto.Firstname = FirstName; } if (!string.IsNullOrEmpty(LastName)) { userBasicDto.Lastname = LastName; } if (!string.IsNullOrEmpty(Email)) { userBasicDto.Email = Email; } if (basicUpdated) { try { _usersController.UpdateUserBasicInfo(userBasicDto, userInfo.PortalID); } catch (SqlException) { return(new ConsoleErrorResultModel(LocalizeString("UsernameNotUnique") + "\n" + sbResults)); } catch (Exception ex) { return(new ConsoleErrorResultModel(ex.Message + sbResults)); } } // retrieve the updated user var updatedUser = _userControllerWrapper.GetUserById(userInfo.PortalID, userInfo.UserID); var lst = new List <UserModel> { new UserModel(updatedUser) }; return(new ConsoleResultModel(string.Empty) { Data = lst, Records = lst.Count, FieldOrder = UserModel.FieldOrder, Output = LocalizeString("UserUpdated") }); }