public List <BannerInfo> GetBanners(int[] bannerIds, BannersFilterInfo filter = null)
        {
            if (bannerIds == null || bannerIds.Length == 0)
            {
                throw new ArgumentNullException("bannerIds");
            }

            if (bannerIds.Length > 2000)
            {
                throw new ArgumentOutOfRangeException("bannerIds", "Maximum allowed number of banner identifiers per call is 2000.");
            }

            return(GetBannersInternal <BannerInfo>(null, bannerIds, PhraseInfoType.No, filter));
        }
 public List <BannerInfoWithPhrases <BannerPhraseInfoWithStats> > GetBannersForCampaignWithPhrasesAndStats(int campaignId, BannersFilterInfo filter = null)
 {
     return(GetBannersInternal <BannerInfoWithPhrases <BannerPhraseInfoWithStats> >(new[] { campaignId }, null, PhraseInfoType.WithPrices, filter));
 }
 public List <BannerInfo> GetBannersForCampaign(int campaignId, BannersFilterInfo filter = null)
 {
     return(GetBannersInternal <BannerInfo>(new[] { campaignId }, null, PhraseInfoType.No, filter));
 }
 private List <T> GetBannersInternal <T>(int[] campaingIds, int[] bannerIds, PhraseInfoType phraseDetails, BannersFilterInfo filter)
     where T : BannerInfo
 {
     return(new List <T>());
 }
        private List <T> GetBannersInternal <T>(int[] campaingIds, int[] bannerIds, PhraseInfoType phraseDetails, BannersFilterInfo filter)
            where T : BannerInfo
        {
            var request = new { CampaignIDS = campaingIds, BannerIDS = bannerIds, GetPhrases = phraseDetails, Filter = filter };

            return(YandexApiClient.Invoke <List <T> >(ApiMethod.GetBanners, request));
        }