Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 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());
     }
 }
Ejemplo n.º 3
0
 public FeedWrapper(CombinedActivity combinedActivity, ulong forSource, string sourceType, bool isIOS) : this(
         combinedActivity.RefActivities[combinedActivity.FirstReactor], forSource, sourceType, isIOS)
 {
 }