IA.Service/UserService.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Transactions;
using IA.Core.Caching;
using IA.Core.Domain;
using IA.Interface;
using IA.Models.Common;

namespace IA.Service
{
    public class UserService : IUserService
    {

        #region 字段

        private readonly IRepository<UserInfo> _userRepository;
        private readonly IRepository<RoleInfo> _roleRepository;
        private readonly IRepository<UserRoleMapping> _userRoleMappingRepository;
        private readonly ICacheManager _cache;

        #endregion

        private const string cache_GetUserInfoList_key = "GetUserInfoList.{0}.{1}.{2}.{3}";

        public UserService(
            IRepository<UserInfo> userRepository,
            IRepository<UserRoleMapping> userRoleMappingRepository,
            IRepository<RoleInfo> roleRepository,
            ICacheManager cache)
        {
            _userRepository = userRepository;
            _userRoleMappingRepository = userRoleMappingRepository;
            _roleRepository = roleRepository;
            _cache = cache;
        }

        public IPagedList<UserInfo> GetUserInfoList(Expression<Func<UserInfo, bool>> expression, int pageIndex = 0, int pageSize = Int32.MaxValue)
        {
            var query = _userRepository.TableNoTracking.Where(expression).OrderByDescending(u => u.UpdateUtc);
            return new PagedList<UserInfo>(query, pageIndex, pageSize);
        }

        public UserInfo GetUserInfo(int userId)
        {
            return _userRepository.GetById(userId) ?? new UserInfo();
        }

        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="expression"></param>
        /// <returns></returns>
        public UserInfo GetUserInfo(Expression<Func<UserInfo, bool>> expression)
        {
            var query = _userRepository.Table.Where(u => u.IsDelete == false).SingleOrDefault(expression) ?? new UserInfo();
            return query;
        }

后面还有 93 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。