コード例 #1
0
        private List <VideoItemDataItem> GetDataItems()
        {
            List <VideoItemDataItem> data = new List <VideoItemDataItem>();

            List <ThirdPartyPayment>     thirdPayments = ThirdPartyPayment.GetThirdPartyPayments(videoId);
            List <YouTubeVideoAnalytics> analytics     = LatestSightingsLibrary.Video.GetYouTubeVideoAnalytics(youtubeId);

            if (analytics != null && analytics.Count > 0)
            {
                analytics = analytics.OrderByDescending(x => x.Year).ThenByDescending(x => x.Month).ToList();
                foreach (YouTubeVideoAnalytics analytic in analytics)
                {
                    VideoItemDataItem item = new VideoItemDataItem();
                    item.Year            = analytic.Year;
                    item.Month           = analytic.Month;
                    item.ItemMonth       = analytic.Year.ToString() + " " + CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(analytic.Month);
                    item.YouTubeEarnings = analytic.Earning > 0 ? "R" + RoundtoTwo(analytic.Earning).ToString() : "$" + ApplyRevenueShare(videoId, "", analytic.EstimatedEarning).ToString();
                    item.Views           = analytic.Views;
                    UpdateThirdPartyPayments(ref item, thirdPayments);

                    data.Add(item);
                }
            }

            return(data);
        }
コード例 #2
0
        private void UpdateThirdPartyPayments(ref VideoItemDataItem item, List <ThirdPartyPayment> thirdPayments)
        {
            int year  = item.Year;
            int month = item.Month;

            item.Currency1  = 0;
            item.Currency2  = 0;
            item.Currency3  = 0;
            item.Currency4  = 0;
            item.Currency5  = 0;
            item.Currency6  = 0;
            item.Currency7  = 0;
            item.Currency8  = 0;
            item.Currency9  = 0;
            item.Currency10 = 0;

            if (thirdPayments != null)
            {
                List <ThirdPartyPayment> newthirdPayments = thirdPayments.FindAll(x => { return(x.Year == year && x.Month == month); });

                if (newthirdPayments != null && newthirdPayments.Count > 0)
                {
                    foreach (ThirdPartyPayment paid in newthirdPayments)
                    {
                        item.GetType().GetProperty("Currency" + paid.Currency).SetValue(item, Math.Round(paid.Payment, 2, MidpointRounding.AwayFromZero), null);
                    }
                }
            }
        }