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); }
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); } } } }