namespace CMSMicroservice.Domain.Enums;

/// <summary>
/// انواع ویژگی‌های باشگاه مشتریان
/// </summary>
public enum ClubFeatureType
{
    /// <summary>
    /// چتیکا - دستیار هوش مصنوعی
    /// </summary>
    Chatika = 1,

    /// <summary>
    /// بیمه - خدمات بیمه‌ای
    /// </summary>
    Bime = 2,

    /// <summary>
    /// تریپ - خدمات سفر و گردشگری
    /// </summary>
    Trip = 3,

    /// <summary>
    /// لرن - آموزش و یادگیری
    /// </summary>
    Learn = 4
}

/// <summary>
/// Extension methods برای ClubFeatureType
/// </summary>
public static class ClubFeatureTypeExtensions
{
    /// <summary>
    /// دریافت تمام مقادیر ClubFeatureType به صورت آرایه long
    /// </summary>
    public static long[] GetAllFeatureIds()
    {
        return Enum.GetValues<ClubFeatureType>()
            .Select(f => (long)f)
            .ToArray();
    }

    /// <summary>
    /// دریافت عنوان فارسی ویژگی
    /// </summary>
    public static string GetPersianTitle(this ClubFeatureType featureType)
    {
        return featureType switch
        {
            ClubFeatureType.Chatika => "چتیکا",
            ClubFeatureType.Bime => "بیمه",
            ClubFeatureType.Trip => "تور و سفر",
            ClubFeatureType.Learn => "آموزش",
            _ => featureType.ToString()
        };
    }
}
