public void GetUserByUserName()
        {
            var source = new DomainSource();
            var user   = User();

            user.UserName = StringHelper.ValidString();
            source.Insert(user);

            var saved = source.GetUserByUserName(user.ApplicationId, user.UserName);

            Assert.IsNotNull(saved);
            Assert.AreEqual <DateTime>(saved.CreatedOn, user.CreatedOn);
            Assert.AreEqual <DateTime>(saved.LastLoggedInOn, user.LastLoggedInOn);
            Assert.AreEqual <DateTime>(saved.LastActivityOn, user.LastActivityOn);
            Assert.AreEqual <DateTime>(saved.PasswordLastChangedOn, user.PasswordLastChangedOn);
            Assert.AreEqual <string>(saved.Email, user.Email);
            Assert.AreEqual <string>(saved.OpenId, user.OpenId);
            Assert.AreEqual <string>(saved.UserName, user.UserName);
            Assert.AreEqual <int>(saved.RoleValue, user.RoleValue);
            Assert.AreEqual <bool>(saved.IsApproved, user.IsApproved);
            Assert.AreEqual <bool>(saved.IsLockedOut, user.IsLockedOut);
            Assert.AreEqual <DateTime>(saved.LastLockedOutOn, user.LastLockedOutOn);
        }
        /// <summary>
        /// Get User
        /// </summary>
        /// <param name="username">Open Id</param>
        /// <param name="userIsOnline">User Is Online</param>
        /// <returns>Membership User</returns>
        public override MembershipUser GetUser(string username, bool userIsOnline)
        {
            using (new PerformanceMonitor())
            {
                var user = source.GetUserByUserName(Application.Default.Identifier, username);

                MembershipUser member = null;
                if (null != user)
                {
                    if (!user.IsApproved)
                    {
                        throw new InvalidOperationException("User is not approved.");
                    }
                    else if (user.IsLockedOut)
                    {
                        throw new InvalidOperationException("User is locked out.");
                    }
                    else
                    {
                        member = new MembershipUser(ProviderName, user.UserName, user.NameIdentifier, user.Email, null, null, user.IsApproved, user.IsLockedOut, user.CreatedOn, user.LastLoggedInOn, user.LastActivityOn, user.PasswordLastChangedOn, user.LastLockedOutOn);

                        user.LastLoggedInOn = DateTime.UtcNow;
                    }

                    user.LastActivityOn = DateTime.UtcNow;

                    source.Update(user);
                }
                else
                {
                    logger.Log("User was not found.");
                }

                return(member);
            }
        }
        public void GetUserByUsernameInvalidApplicationId()
        {
            var source = new DomainSource();

            source.GetUserByUserName(Guid.Empty, StringHelper.ValidString());
        }
        public void GetUserByUsernameInvalidUserName()
        {
            var source = new DomainSource();

            source.GetUserByUserName(Guid.NewGuid(), StringHelper.NullEmptyWhiteSpace());
        }