/// <summary> /// Find users by name. /// </summary> /// <param name="usernameToMatch">The username to match.</param> /// <param name="pageIndex">The page index.</param> /// <param name="pageSize">The page size.</param> /// <param name="totalRecords">Total number of records.</param> /// <returns>The membership user collection.</returns> public System.Web.Security.MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { System.Web.Security.MembershipUserCollection memShipUsers = new System.Web.Security.MembershipUserCollection(); Nequeo.DataAccess.ApplicationLogin.Data.Extension.User user = new Nequeo.DataAccess.ApplicationLogin.Data.Extension.User(); Nequeo.DataAccess.ApplicationLogin.Data.Extension.UserAddress userAddress = new Nequeo.DataAccess.ApplicationLogin.Data.Extension.UserAddress(); // Get all the users for the match. long usersMatched = user.Select. GetRecordCount( u => (Nequeo.Data.TypeExtenders.SqlQueryMethods.Like(u.LoginUsername, ("%" + usernameToMatch + "%"))) ); // Get the total number of uses. totalRecords = Int32.Parse(usersMatched.ToString()); int skipNumber = (pageIndex * pageSize); DateTime createdDate = DateTime.Now; // Get the current set on data. IQueryable <Data.User> users = user.Select.QueryableProvider(). Where(u => (Nequeo.Data.TypeExtenders.SqlQueryMethods.Like(u.LoginUsername, ("%" + usernameToMatch + "%")))). OrderBy(u => u.UserID). Take(pageSize). Skip(skipNumber); // For each user found. foreach (Data.User item in users) { // Get the current users address details Data.UserAddress address = userAddress.Select.SelectDataEntity(u => u.UserAddressID == item.UserAddressID); // Create the membership user. System.Web.Security.MembershipUser memShipUser = new System.Web.Security.MembershipUser( ProviderName, item.LoginUsername, item.UserID, address.EmailAddress, "", item.Comments, true, item.UserSuspended, createdDate, createdDate, createdDate, createdDate, createdDate); // Add the user to the collection. memShipUsers.Add(memShipUser); } // Return the collection of membership users. return(memShipUsers); }
/// <summary> /// Get user. /// </summary> /// <param name="username">The username.</param> /// <param name="userIsOnline">Is the user online.</param> /// <returns>The membership user.</returns> public System.Web.Security.MembershipUser GetUser(string username, bool userIsOnline) { System.Web.Security.MembershipUser memShipUser = null; DateTime createdDate = DateTime.Now; // Get the user data. Nequeo.DataAccess.ApplicationLogin.Data.User user = GetSpecificUser(username); Nequeo.DataAccess.ApplicationLogin.Data.Extension.UserAddress userAddress = new Nequeo.DataAccess.ApplicationLogin.Data.Extension.UserAddress(); // Make sure that the user exists. if (user != null) { // Get the current users address details Data.UserAddress address = userAddress.Select.SelectDataEntity(u => u.UserAddressID == user.UserAddressID); // Create the membership user. memShipUser = new System.Web.Security.MembershipUser( ProviderName, username, user.UserID, address.EmailAddress, "", user.Comments, true, user.UserSuspended, createdDate, createdDate, createdDate, createdDate, createdDate); // If user is on line. if (userIsOnline) { user.ModifiedDate = createdDate; bool ret = new Nequeo.DataAccess.ApplicationLogin.Data.Extension.User().Update.UpdateItem(user); } } // Return the membership user. return(memShipUser); }
/// <summary> /// Create user. /// </summary> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="email">The email address.</param> /// <param name="passwordQuestion">The password question.</param> /// <param name="passwordAnswer">The password answer.</param> /// <param name="isApproved">Is approved.</param> /// <param name="providerUserKey">The provider key.</param> /// <param name="status">The status.</param> /// <returns>The membership user.</returns> public System.Web.Security.MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out System.Web.Security.MembershipCreateStatus status) { // Attemtp to get a duplicate email address. if (RequiresUniqueEmail && GetUserNameByEmail(email) != "") { // Duplicate email found. status = System.Web.Security.MembershipCreateStatus.DuplicateEmail; return(null); } // Attempt to get a use with the same username. System.Web.Security.MembershipUser membershipUser = GetUser(username, false); // If no user exists then no duplicates. if (membershipUser == null) { DateTime createdDate = DateTime.Now; long userAddressID = 0; // Create a new address. Nequeo.DataAccess.ApplicationLogin.Data.Extension.UserAddress userAddress = new Nequeo.DataAccess.ApplicationLogin.Data.Extension.UserAddress(); Data.UserAddress userAddressData = Data.UserAddress.CreateUserAddress(username, username, 0, false); userAddressData.EmailAddress = email; // Insert the user address. List <object> identities = userAddress.Insert.InsertDataEntity(userAddressData); if (identities != null && identities.Count > 0) { // Get the user address id. userAddressID = (long)identities[0]; } // Create the new user. Nequeo.DataAccess.ApplicationLogin.Data.Extension.User user = new Nequeo.DataAccess.ApplicationLogin.Data.Extension.User(); Data.User userDate = Data.User.CreateUser( password, username, userAddressID, 0, false); // Attemtp to insert the new item. bool ret = user.Insert.InsertItem(userDate); // Set the status of the create user operation. if (ret) { status = System.Web.Security.MembershipCreateStatus.Success; } else { status = System.Web.Security.MembershipCreateStatus.UserRejected; } // Return the created user. return(GetUser(username, false)); } else { // Duplicate username. status = System.Web.Security.MembershipCreateStatus.DuplicateUserName; return(null); } }