コード例 #1
0
        public RoleDetails GetById(int?roleId)
        {
            if (roleId == null || roleId < 1)
            {
                return(GetAnonymousRole());
            }

            var cachedRole = _roleCache.GetOrAdd(roleId.Value, () =>
            {
                var dbRole = QueryRoleById(roleId.Value).FirstOrDefault();
                var role   = _roleMappingHelper.Map(dbRole);

                return(role);
            });

            if (cachedRole == null)
            {
                return(GetAnonymousRole());
            }
            return(cachedRole);
        }
コード例 #2
0
        public RoleDetails GetById(int?roleId)
        {
            if (!roleId.HasValue)
            {
                return(GetAnonymousRoleFromCache());
            }
            if (roleId < 1)
            {
                return(null);
            }

            var cachedRole = _roleCache.GetOrAdd(roleId.Value, () =>
            {
                var dbRole = QueryRoles()
                             .FilterById(roleId.Value)
                             .SingleOrDefault();

                var role = _roleDetailsMapper.Map(dbRole);

                return(role);
            });

            return(cachedRole);
        }
コード例 #3
0
        /// <summary>
        /// Maps an EF user record from the db into a UserDetails object. If the
        /// db record is null then null is returned.
        /// </summary>
        /// <param name="dbUser">User record from the database.</param>
        public UserDetails Map(User dbUser)
        {
            if (dbUser == null)
            {
                return(null);
            }

            if (dbUser.Role == null)
            {
                throw new ArgumentException("dbUser.Role must be included in the query to map to use the UserDetailsMapper");
            }

            var user = new UserDetails()
            {
                Email                  = dbUser.Email,
                FirstName              = dbUser.FirstName,
                LastName               = dbUser.LastName,
                UserId                 = dbUser.UserId,
                Username               = dbUser.Username,
                LastLoginDate          = DbDateTimeMapper.AsUtc(dbUser.LastLoginDate),
                LastPasswordChangeDate = DbDateTimeMapper.AsUtc(dbUser.LastPasswordChangeDate),
                RequirePasswordChange  = dbUser.RequirePasswordChange
            };

            user.AuditData = new CreateAuditData()
            {
                CreateDate = DbDateTimeMapper.AsUtc(dbUser.CreateDate)
            };

            if (dbUser.Creator != null)
            {
                user.AuditData.Creator = _userMicroSummaryMapper.Map(dbUser.Creator);
            }

            var userArea = _userAreaRepository.GetByCode(dbUser.UserAreaCode);

            EntityNotFoundException.ThrowIfNull(userArea, dbUser.UserAreaCode);

            user.UserArea = new UserAreaMicroSummary()
            {
                UserAreaCode = dbUser.UserAreaCode,
                Name         = userArea.Name
            };

            user.Role = _roleDetailsMapper.Map(dbUser.Role);

            return(user);
        }
コード例 #4
0
        public virtual UserDetails Map(User dbUser)
        {
            if (dbUser == null)
            {
                return(null);
            }

            if (dbUser.Role == null)
            {
                throw new ArgumentException("dbUser.Role must be included in the query to map to use the UserDetailsMapper");
            }

            var user = _userMicroSummaryMapper.Map <UserDetails>(dbUser);

            user.Email                  = dbUser.Email;
            user.FirstName              = dbUser.FirstName;
            user.LastName               = dbUser.LastName;
            user.Username               = dbUser.Username;
            user.LastSignInDate         = dbUser.LastSignInDate;
            user.LastPasswordChangeDate = dbUser.LastPasswordChangeDate;
            user.RequirePasswordChange  = dbUser.RequirePasswordChange;
            user.AccountVerifiedDate    = dbUser.AccountVerifiedDate;

            user.AuditData = new CreateAuditData()
            {
                CreateDate = dbUser.CreateDate
            };

            if (dbUser.Creator != null)
            {
                user.AuditData.Creator = _userMicroSummaryMapper.Map(dbUser.Creator);
            }

            user.Role = _roleDetailsMapper.Map(dbUser.Role);

            return(user);
        }