public static FeedWrapper Create(CombinedActivity combinedActivity, ulong forSource, string sourceType, bool isIOS) { Activity activity = null; //prefer shares, then comments, then reactions, then primary if (combinedActivity.Shares.Count > 0) { activity = combinedActivity.Shares[0]; } else if (combinedActivity.Comments.Count > 0) { activity = combinedActivity.Comments[0]; } else if (combinedActivity.RefActivities.Count > 0) { activity = combinedActivity.RefActivities.First().Value; } else { activity = combinedActivity.PrimeActivity; } //var activity = combinedActivity.RefActivities.Count > 0 ? combinedActivity.RefActivities.First().Value : combinedActivity.PrimeActivity; if (activity == null) { Logger.Instance.Warn($"no activities in given combined activity"); return(null); } return(Create(activity, forSource, sourceType, isIOS)); }
protected void AddActivityToCombined(Activity activity) { try { if (activity.IsPrimary && !combinedActivities.ContainsKey(activity.ActivityId)) { //primary activity first time var newCombined = new CombinedActivity { PrimeActivity = activity }; combinedActivities[activity.ActivityId] = newCombined; } else if (activity.InnerActivity != null) { //reference activity with inner activity if (!combinedActivities.ContainsKey(activity.InnerActivityId)) { combinedActivities[activity.InnerActivityId] = new CombinedActivity { PrimeActivity = activity.InnerActivity }; } AddRefActivity(activity); } } catch (Exception e) { Logger.Instance.Error($"failed to add activity {activity?.ActivityId} to combined activity. msg:{e.Message}"); Logger.Instance.Debug(e.ToString()); } }
public FeedWrapper(CombinedActivity combinedActivity, ulong forSource, string sourceType, bool isIOS) : this( combinedActivity.RefActivities[combinedActivity.FirstReactor], forSource, sourceType, isIOS) { }