示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
            }
        }