private static List <dtoAgencyAffiliation> GetAffiliations(IList <AgencyAffiliation> affiliations, AgencyVisibility visibility) { if (affiliations == null || affiliations.Count == 0) { return(new List <dtoAgencyAffiliation>()); } else { return(affiliations.Where(a => ( a.Agency != null && (visibility == AgencyVisibility.Deleted && a.Deleted != BaseStatusDeleted.None) || ( (a.Deleted == BaseStatusDeleted.None) && ( visibility == AgencyVisibility.NotDeleted || (visibility == AgencyVisibility.Active && a.IsEnabled) ) ))).Select(a => new dtoAgencyAffiliation() { FromDate = a.FromDate, ToDate = a.ToDate, Id = a.Id, IsEnabled = a.IsEnabled, Agency = new KeyValuePair <long, string>(a.Agency.Id, a.Agency.Name) }).ToList()); } }
public dtoEmployee(Employee user, AgencyVisibility visibility) : this(user, GetAffiliations(user.Affiliations, visibility)) { }