示例#1
0
        public void ShouldAllowUpdateOfDisplayName()
        {
            var id          = Guid.NewGuid();
            var userProfile = new UserProfile(new UserProfileId(id), UserFullName.FromString("Mike Seller"), UserDisplayName.FromString("mike88"));

            userProfile.UpdateDisplayName(UserDisplayName.FromString("Mike99"));
            Assert.Equal("Mike99", userProfile.DisplayName.Value);
        }
示例#2
0
        private void InvalidateDisplayName(int abbreviateLevel, StringBuilder builder)
        {
            string name = Resource.GetPropText(Core.Props.Name);

            try
            {
                if (UserDisplayName.Length != 0 && UserDisplayName.ToLower() != name.ToLower())
                {
                    builder.Append(UserDisplayName);
                }
                else
                {
                    if (abbreviateLevel == 0)
                    {
                        builder.Append(name);
                    }
                    else
                    {
                        string[] parts = name.Split('.');
                        for (int i = 0; i < parts.Length; ++i)
                        {
                            string part = parts[i];
                            if (part.Length > 0)
                            {
                                if (i > 0)
                                {
                                    builder.Append('.');
                                }
                                builder.Append((i < abbreviateLevel) ? part.Substring(0, 1) : part);
                            }
                        }
                    }
                }
                if (IsSubscribed)
                {
                    Resource.SetProp(NntpPlugin._propNewsSortOrder, 0);
                }
                else
                {
                    Resource.SetProp(NntpPlugin._propNewsSortOrder, 1);
                    builder.Append(" (unsubscribed)");
                }
                DisplayName = builder.ToString();
            }
            finally
            {
                builder.Length = 0;
            }
        }
示例#3
0
        public void ShouldUpdatePhotoUrlUponProfilePhotoUploaded()
        {
            var userProfile = new UserProfile(new UserProfileId(Guid.NewGuid()), UserFullName.FromString("Mike Seller"), UserDisplayName.FromString("mike88"));

            userProfile.ProfilePhotoUploaded(new Uri("http://example.com/photo.jpg"));
            Assert.Equal("http://example.com/photo.jpg", userProfile.PhotoUrl.ToString());
        }
示例#4
0
        public void ShouldCreateWhenValidIdFullNameAndDisplayNameAreProvided()
        {
            var id          = Guid.NewGuid();
            var userProfile = new UserProfile(new UserProfileId(id), UserFullName.FromString("Mike Seller"), UserDisplayName.FromString("mike88"));

            Assert.Equal(id, userProfile.Id.Value);
            Assert.Equal("Mike Seller", userProfile.FullName.Value);
            Assert.Equal("mike88", userProfile.DisplayName.Value);
        }
示例#5
0
        public void SerializeToDatabase(Application application)
        {
            StringBuilder cachedData = new StringBuilder();

            cachedData.Append(securityAuthorityId + "|");

            cachedData.Append(securityAuthorityName.Replace("'", "''") + "|");

            cachedData.Append(((Int32)securityAuthorityType).ToString() + "|");

            cachedData.Append(userAccountId + "|");

            cachedData.Append(userAccountName.Replace("'", "''") + "|");

            cachedData.Append(UserDisplayName.Replace("'", "''") + "|");   // MUST USE PUBLIC PROPERTY


            cachedData.Append(environmentId + "|");

            cachedData.Append(environmentName + "|");

            foreach (String currentGroup in groupMembership)
            {
                cachedData.Append(currentGroup + ";");
            }

            cachedData.Append("|");

            foreach (string currentRole in roleMembership)
            {
                cachedData.Append(currentRole + ";");
            }

            cachedData.Append("|");

            foreach (Int64 currentWorkQueuePermission in workQueuePermissions.Keys)
            {
                cachedData.Append(currentWorkQueuePermission.ToString() + "." + ((Int32)workQueuePermissions[currentWorkQueuePermission]).ToString() + ";");
            }


            String auditStatement;

            auditStatement = String.Empty;

            auditStatement += "SET TRANSACTION ISOLATION LEVEL REPEATABLE READ \r\n";

            auditStatement += "BEGIN TRANSACTION \r\n";

            auditStatement += "UPDATE Audit.Authentication \r\n";

            auditStatement += "  SET LogoffDateTime = GETDATE () \r\n";

            auditStatement += "  WHERE SessionToken IN (SELECT SessionToken FROM SessionCache WHERE (ExpirationTime < GETDATE ())) \r\n";

            auditStatement += "DELETE FROM SessionCache WHERE (ExpirationTime < GETDATE ()) \r\n";

            auditStatement += "COMMIT TRANSACTION \r\n";

            application.EnterpriseDatabase.ExecuteSqlStatement(auditStatement);


            StringBuilder insertStatement = new StringBuilder();

            // ALLOW USER CONFIGURABLE TIME OUTS - APPLICATION.SESSIONTIMEOUTMINUTES

            insertStatement.Append("BEGIN TRANSACTION;");

            insertStatement.Append("DELETE FROM SessionCache WHERE SessionToken = '" + token.ToString() + "';");

            insertStatement.Append("INSERT INTO SessionCache (SessionToken, ExpirationTime, CachedData) VALUES (");

            insertStatement.Append("'" + Token + "', ");

            insertStatement.Append("DATEADD (MINUTE, " + application.SessionTimeoutMinutes.ToString() + ", GETDATE ()), ");

            insertStatement.Append("'" + cachedData + "');");

            insertStatement.Append("COMMIT TRANSACTION;");


            application.EnterpriseDatabase.ExecuteSqlStatement(insertStatement.ToString(), 0);

            return;
        }
示例#6
0
 public AuthUser(UserName name, UserDisplayName displayName, UserRoles roles)
 {
     Name        = Guard.NotNull(name, nameof(name));
     DisplayName = Guard.NotNull(displayName, nameof(displayName));
     Roles       = Guard.NotNull(roles, nameof(roles));
 }