MemberList: Allow filtering area commitments

This commit is contained in:
2024-08-14 11:53:40 +02:00
parent 2764a0ca21
commit d3839c288a
5 changed files with 81 additions and 27 deletions

View File

@ -1,5 +1,6 @@
using Elwig.Models.Dtos;
using System.Collections.Generic;
using System.Linq;
namespace Elwig.Documents {
public class MemberList : Document {
@ -9,9 +10,17 @@ namespace Elwig.Documents {
public string Filter;
public IEnumerable<MemberListRow> Members;
public string[] AreaComFilters;
public bool FilterAreaComs => AreaComFilters.Length > 0;
public MemberList(string filter, IEnumerable<MemberListRow> members) : base(Name) {
Filter = filter;
Members = members;
AreaComFilters = [..members
.SelectMany(m => m.AreaCommitmentsFiltered)
.Select(c => c.VtrgId)
.Distinct()
.Order()];
}
public MemberList(string filter, MemberListData data) :