﻿using System;
using System.Collections.Generic;

namespace AsmodeeDigital.CrossPromo.Plugin.Domain
{
    public class AnalyticsAdDisplayItem : AnalyticsItem
    {
        public enum AdTypes
        {
            Banner,
            Interstitial,
            Video
        }

        private AdTypes _adType;

        public AdTypes AdType
        {
            get { return _adType; }
            set
            {
                _adType = value;
                Headers["ad_type"] = GetTypeName();
            }
        }

        public bool IsSkippable
        {
            get
            {
                return (bool)Headers["is_skippable"];
            }
            set
            {
                Headers["is_skippable"] = value;
            }
        }

        public bool IsSkipped
        {
            get
            {
                return (bool)Headers["is_skipped"];
            }
            set
            {
                Headers["is_skipped"] = value;
            }
        }

        public float Time
        {
            get
            {
                return (float)Headers["time_sec"];
            }
            set
            {
                Headers["time_sec"] = value;
            }
        }

        public AnalyticsAdDisplayItem(Dictionary<string, object> headers)
            : base(headers)
        {
            MetricName = "ad_display";
        }

        private string GetTypeName()
        {
            return Enum.GetName(typeof(AdTypes), AdType).ToLower();
        }

        public override Dictionary<string, object> ToDictionary()
        {
            return new Dictionary<string, object>(Headers);
        }
    }
}

