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
AnalyticsModuleAgeDistribution.cs
1
using
Vereinsmeisterschaften.Core.Contracts.Services
;
2
using
Vereinsmeisterschaften.Core.Documents
;
3
using
Vereinsmeisterschaften.Core.Helpers
;
4
5
namespace
Vereinsmeisterschaften.Core.Analytics
6
{
10
public
class
AnalyticsModuleAgeDistribution
:
IAnalyticsModule
11
{
12
private
IPersonService
_personService;
13
18
public
AnalyticsModuleAgeDistribution
(
IPersonService
personService)
19
{
20
_personService = personService;
21
}
22
24
public
bool
AnalyticsAvailable
=> _personService.PersonCount > 0;
25
29
public
Dictionary<UInt16, int>
NumberPersonsPerBirthYear
=> _personService.GetPersons()
30
.Where(p => p.IsActive)
31
.GroupBy(p => p.BirthYear)
32
.OrderBy(g => g.Key)
33
.ToDictionary(g => g.Key, g => g.Count());
34
36
public
DocXPlaceholderHelper.TextPlaceholders
CollectDocumentPlaceholderContents
()
37
{
38
DocXPlaceholderHelper.TextPlaceholders
textPlaceholder =
new
DocXPlaceholderHelper.TextPlaceholders();
39
// Create a string for each dictionary entry including a ASCII diagramm (Format e.g.: Birth Year 2000: 3x | ###)
40
string
moduleAgeDistributionString =
string
.Join(Environment.NewLine,
41
NumberPersonsPerBirthYear
42
.Select(kv => $
"{Properties.Resources.BirthYearString} {kv.Key}: {kv.Value.ToString().PadLeft(2)}x | {new string('#', kv.Value)}"
));
43
foreach
(
string
placeholder
in
Placeholders.Placeholders_AnalyticsAgeDistribution) { textPlaceholder.Add(placeholder, moduleAgeDistributionString); }
44
return
textPlaceholder;
45
}
46
48
public
List<string>
SupportedDocumentPlaceholderKeys
=>
new
List<string>()
49
{
50
Placeholders.PLACEHOLDER_KEY_ANALYTICS_AGE_DISTRIBUTION
51
};
52
}
53
}
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleAgeDistribution.CollectDocumentPlaceholderContents
DocXPlaceholderHelper.TextPlaceholders CollectDocumentPlaceholderContents()
Collect the values for all document placeholders that are supported by this IAnalyticsModule....
Definition
AnalyticsModuleAgeDistribution.cs:36
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleAgeDistribution.SupportedDocumentPlaceholderKeys
List< string > SupportedDocumentPlaceholderKeys
List of all document placeholder keys that are supported by this analytics module....
Definition
AnalyticsModuleAgeDistribution.cs:48
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleAgeDistribution.NumberPersonsPerBirthYear
Dictionary< UInt16, int > NumberPersonsPerBirthYear
Dictionary that counts the number of persons (value) per birth year (key)
Definition
AnalyticsModuleAgeDistribution.cs:29
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleAgeDistribution.AnalyticsModuleAgeDistribution
AnalyticsModuleAgeDistribution(IPersonService personService)
Constructor for the AnalyticsModuleAgeDistribution
Definition
AnalyticsModuleAgeDistribution.cs:18
Vereinsmeisterschaften.Core.Analytics.AnalyticsModuleAgeDistribution.AnalyticsAvailable
bool AnalyticsAvailable
Flag indicating if the analytics module has data.
Definition
AnalyticsModuleAgeDistribution.cs:24
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.IPersonService
Interface for a service used to get and store a list of Person objects.
Definition
IPersonService.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
Analytics
AnalyticsModuleAgeDistribution.cs
Generated on Sun Feb 22 2026 13:06:12 for Vereinsmeisterschaften by
1.13.2