member and membership statistics

This commit is contained in:
Julian Krauser 2025-01-21 14:49:14 +01:00
parent 0bbe22e9ae
commit 07d31bfe7d
10 changed files with 183 additions and 36 deletions

View file

@ -1,5 +1,6 @@
import { member } from "../../../../entity/club/member/member";
import { MemberViewModel } from "../../../../viewmodel/admin/club/member/member.models";
import { MemberStatisticsViewModel, MemberViewModel } from "../../../../viewmodel/admin/club/member/member.models";
import { memberView } from "../../../../views/memberView";
import CommunicationFactory from "./communication";
import MembershipFactory from "./membership";
@ -40,4 +41,23 @@ export default abstract class MemberFactory {
public static mapToBase(records: Array<member>): Array<MemberViewModel> {
return records.map((r) => this.mapToSingle(r));
}
/**
* @description map view record to MemberMembershipStatisticsViewModel
* @param {memberView} record
* @returns {MemberStatisticsViewModel}
*/
public static mapToMemberStatistic(record: memberView): MemberStatisticsViewModel {
return {
id: record.id,
salutation: record.salutation,
firstname: record.firstname,
lastname: record.lastname,
nameaffix: record.nameaffix,
birthdate: record.birthdate,
todayAge: record.todayAge,
ageThisYear: record.ageThisYear,
exactAge: record.exactAge,
};
}
}