using OpenAuth.Domain;
using OpenAuth.Domain.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using Infrastructure;
using OpenAuth.App.ViewModel;
namespace OpenAuth.App
{
public class RevelanceManagerApp
{
private readonly IRelevanceRepository _relevanceRepository;
public RevelanceManagerApp(IRelevanceRepository relevanceRepository)
{
_relevanceRepository = relevanceRepository;
}
///
/// 添加关联
/// 比如给用户分配资源,那么firstId就是用户ID,secIds就是资源ID列表
///
/// 关联的类型,如"UserResource"
public void Assign(string type, Guid firstId, Guid[] secIds)
{
_relevanceRepository.AddRelevance(type, secIds.ToLookup(u => firstId));
}
///
/// 取消关联
///
/// 关联的类型,如"UserResource"
/// The first identifier.
/// The sec ids.
public void UnAssign(string type, Guid firstId, Guid[] secIds)
{
_relevanceRepository.DeleteBy(type, secIds.ToLookup(u =>firstId));
}
}
}