using System;

namespace Adplay.Model
{
    public static class CreativeExtension
    {
        public static BannerPlaceType GetBannerPlaceType(this Creative creative)
        {
            string place = $"{AdExtraOptionType.BannerPlaceType}".ToLower();
            string value = creative.Config[place].ToString();

            return Enum.TryParse<BannerPlaceType>(value, out var placement) ? placement : default;
        }

        public static string ExtractExtraOption(this Creative creative, AdExtraOptionType extraOption)
        {
            if (creative.Config.TryGetValue(extraOption.ToString(), out var value))
            {
                return value.ToString();
            }
            return "";
        }


        public static int GetRelatedAdId(this Creative creative)
        {
            var value = ExtractExtraOption(creative, AdExtraOptionType.RelatedAdId);
            if (int.TryParse(value, out int relatedAdId))
            {
                return relatedAdId;
            }
            else
            {
                return -1;
            }
        }

    }
}
