Files
chapter-organizer/Core/Entities/CareerField.cs
T
poprhythm c6fb00c7f4 Enhance CareerField and CareerMapping components with descriptions
Added a Description property to the CareerField class to provide a short overview of each career field. Updated the CareerFieldDefinitions to include descriptions for all career fields. Modified the CareerMapping component to display the description of the selected career field or event, improving user experience by providing more context about each node.
2025-12-29 21:31:33 -05:00

56 lines
1.5 KiB
C#

namespace Core.Entities;
/// <summary>
/// Represents a career field cluster that groups related careers together.
/// </summary>
public class CareerField
{
/// <summary>
/// Unique identifier for the career field (1-25)
/// </summary>
public int Id { get; }
/// <summary>
/// Display name of the career field
/// </summary>
public string Name { get; }
/// <summary>
/// Short description of the career field
/// </summary>
public string Description { get; }
/// <summary>
/// Exact career names that belong to this field
/// </summary>
public IReadOnlyList<string> DirectCareerMatches { get; }
/// <summary>
/// Keywords for pattern matching (case-insensitive substring matching)
/// </summary>
public IReadOnlyList<string> PatternKeywords { get; }
/// <summary>
/// Creates a new CareerField instance
/// </summary>
/// <param name="id">Unique identifier</param>
/// <param name="name">Display name</param>
/// <param name="description">Short description of the career field</param>
/// <param name="directCareerMatches">Exact career name matches</param>
/// <param name="patternKeywords">Keywords for pattern matching</param>
public CareerField(int id, string name, string description, IReadOnlyList<string> directCareerMatches, IReadOnlyList<string> patternKeywords)
{
Id = id;
Name = name;
Description = description;
DirectCareerMatches = directCareerMatches ?? Array.Empty<string>();
PatternKeywords = patternKeywords ?? Array.Empty<string>();
}
public override string ToString()
{
return Name;
}
}