VerificationAssignmentHandlers.cs
1010 Bytes
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using DirRX.CaseArchiving.VerificationAssignment;
namespace DirRX.CaseArchiving
{
partial class VerificationAssignmentAddresseePropertyFilteringServerHandler<T>
{
public virtual IQueryable<T> AddresseeFiltering(IQueryable<T> query, Sungero.Domain.PropertyFilteringEventArgs e)
{
// Ограничить список сотрудников ролью Делопроизводители.
var clerksRole = Sungero.CoreEntities.Roles
.GetAll(x => Equals(x.Sid.Value, DirRX.CaseArchiving.PublicConstants.Module.Initialize.ClerksRole))
.SingleOrDefault();
if (clerksRole == null)
return null;
var clerkIds = clerksRole.RecipientLinks.Where(x => x.Member != null && Sungero.Company.Employees.Is(x.Member) && x.Member.Id != _obj.Id).Select(x => x.Member.Id).ToList();
return query.Where(x => clerkIds.Contains(x.Id));
}
}
}