IA.Service/OrganizationService.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using IA.Core.Caching;
using IA.Core.Domain;
using IA.Interface;
using IA.Models;
using Tonglu.Common.Extensions;
namespace IA.Service
{
public class OrganizationService : IOrganizationService
{
#region 字段
private readonly IRepository<UserInfo> _userRepository;
private readonly IRepository<Area> _areaRepository;
private readonly IRepository<AreaofUser> _areaOfUserRepository;
private readonly IRepository<t_Organization> _organizationRepository;
private readonly ICacheManager _cache;
#endregion
#region 常量
private const string cache_GetOrgIdArray_key = "GetOrganizationList.{0}";
private const string cache_GetOrganizationList_key = "GetOrganizationList.{0}.{1}.{2}.{3}.{4}";
#endregion
public OrganizationService(
IRepository<UserInfo> userRepository,
IRepository<AreaofUser> areaOfUserRepository,
IRepository<t_Organization> organizationRepository,
IRepository<Area> areaRepository, ICacheManager cache)
{
_userRepository = userRepository;
_areaOfUserRepository = areaOfUserRepository;
_organizationRepository = organizationRepository;
_areaRepository = areaRepository;
_cache = cache;
}
public IQueryable<t_Organization> GetOrganizationQueryable(int userId)
{
string key = string.Format(cache_GetOrgIdArray_key, userId);
return _cache.Get(key, () =>
{
var query = _organizationRepository.TableNoTracking.Where(org => org.FDeleted == 0);
int?[] orgIdArray;
var userInfo = _userRepository.GetById(userId) ?? new UserInfo();
if (userInfo.User_class.TryInt(0) == 3)
{
orgIdArray = new[] { userInfo.User_cust_id };
}
else
{
orgIdArray = (from a in query
join b in _areaOfUserRepository.TableNoTracking on a.FProvincecode equals b.Areaid
where b.IsDelete == false
后面还有 109 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
