Vereinsmeisterschaften
22aa7800eae54b428d40e835886cefe1fdefdfdf
This is a software that can be used to manage the internal competition of the swimming club Illertissen called "Vereinsmeisterschaften".
Loading...
Searching...
No Matches
AnalyticsModuleRacesAges.cs
1
using
Vereinsmeisterschaften.Core.Contracts.Services
;
2
using
Vereinsmeisterschaften.Core.Documents
;
3
using
Vereinsmeisterschaften.Core.Helpers
;
4
using
Vereinsmeisterschaften.Core.Models
;
5
using
Vereinsmeisterschaften.Core.Services
;
6
using
static
Vereinsmeisterschaften
.
Core
.
Analytics
.
AnalyticsModulePlacesAgeDistribution
;
7
8
namespace
Vereinsmeisterschaften.Core.Analytics
9
{
13
public
class
AnalyticsModuleRacesAges
:
IAnalyticsModule
14
{
15
#region Model
16
public
class
ModelRaceAges
17
{
18
public
int
RaceID {
get
;
set
; }
19
public
List<ushort> BirthYears {
get
;
set
; }
20
}
21
22
#endregion
23
24
private
IRaceService
_raceService;
25
30
public
AnalyticsModuleRacesAges
(
IRaceService
raceService)
31
{
32
_raceService = raceService;
33
}
34
38
public
bool
AnalyticsAvailable
=> _raceService?.PersistedRacesVariant !=
null
;
39
43
public
List<ModelRaceAges>
AgeListsPerRace
=> _raceService.PersistedRacesVariant?.Races.Select((race, index) =>
new
ModelRaceAges
()
44
{
45
RaceID = race.RaceID,
46
BirthYears = race.Starts.Where(s => s.IsActive).Select(s => s.PersonObj.BirthYear).OrderBy(b => b).ToList()
47
}).ToList();
48
50
public
DocXPlaceholderHelper.TextPlaceholders
CollectDocumentPlaceholderContents
()
51
{
52
DocXPlaceholderHelper.TextPlaceholders
textPlaceholder =
new
DocXPlaceholderHelper.TextPlaceholders();
53
// Create a string for each list entry (Format e.g.: Race 1: 2000, 2010, 2015)
54
string
placeholderString =
string
.Join(Environment.NewLine,
55
AgeListsPerRace
56
.Select(e => $
"{Properties.Resources.RaceString} {e.RaceID.ToString().PadLeft(2)}: {string.Join("
,
", e.BirthYears)}"
));
57
foreach
(
string
placeholder
in
Placeholders.Placeholders_AnalyticsRacesAges) { textPlaceholder.Add(placeholder, placeholderString); }
58
return
textPlaceholder;
59
}
60
62
public
List<string>
SupportedDocumentPlaceholderKeys
=>
new
List<string>()
63
{
64
Placeholders.PLACEHOLDER_KEY_ANALYTICS_RACES_AGES
65
};
66
67
}
68
}
Vereinsmeisterschaften.Core.Analytics.AnalyticsModulePlacesAgeDistribution
Analytics module to calculate the age distribution over the result places.
Definition
AnalyticsModulePlacesAgeDistribution.cs:13
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleRacesAges.ModelRaceAges
Definition
AnalyticsModuleRacesAges.cs:17
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleRacesAges.CollectDocumentPlaceholderContents
DocXPlaceholderHelper.TextPlaceholders CollectDocumentPlaceholderContents()
Collect the values for all document placeholders that are supported by this IAnalyticsModule....
Definition
AnalyticsModuleRacesAges.cs:50
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleRacesAges.AnalyticsModuleRacesAges
AnalyticsModuleRacesAges(IRaceService raceService)
Constructor for the AnalyticsModuleRacesAges
Definition
AnalyticsModuleRacesAges.cs:30
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleRacesAges.AnalyticsAvailable
bool AnalyticsAvailable
This analytics is only available, when a persisted race is available.
Definition
AnalyticsModuleRacesAges.cs:38
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleRacesAges.SupportedDocumentPlaceholderKeys
List< string > SupportedDocumentPlaceholderKeys
List of all document placeholder keys that are supported by this analytics module....
Definition
AnalyticsModuleRacesAges.cs:62
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleRacesAges.AgeListsPerRace
List< ModelRaceAges > AgeListsPerRace
List with ModelRaceAgeSpan ordered by the race id and the birth year inside the corresponding list.
Definition
AnalyticsModuleRacesAges.cs:43
Vereinsmeisterschaften.Core.Helpers.DocXPlaceholderHelper.TextPlaceholders
Class to hold text placeholders and their values.
Definition
DocXPlaceholderHelper.cs:25
Vereinsmeisterschaften.Core.Analytics.IAnalyticsModule
Interface for an analytics module.
Definition
IAnalyticsModule.cs:9
Vereinsmeisterschaften.Core.Contracts.Services.IRaceService
Interface for a service used to manage Race and RacesVariant objects.
Definition
IRaceService.cs:11
Vereinsmeisterschaften.Core.Analytics
Definition
AnalyticsModuleAgeDistribution.cs:6
Vereinsmeisterschaften.Core.Contracts.Services
Definition
Delegates.cs:5
Vereinsmeisterschaften.Core.Documents
Definition
DocumentFileConverterSelector.cs:2
Vereinsmeisterschaften.Core.Helpers
Definition
CollectionHelper.cs:4
Vereinsmeisterschaften.Core.Models
Definition
Competition.cs:6
Vereinsmeisterschaften.Core.Services
Definition
CompetitionDistanceRuleService.cs:12
Vereinsmeisterschaften.Core
Definition
AnalyticsModuleAgeDistribution.cs:6
Vereinsmeisterschaften
Definition
AnalyticsModuleAgeDistribution.cs:6
Vereinsmeisterschaften.Core
Analytics
AnalyticsModuleRacesAges.cs
Generated on Sun Feb 22 2026 13:06:12 for Vereinsmeisterschaften by
1.13.2