Ejemplo n.º 1
0
        private bool Filter(Salesforce.Research_Profile__Feed record, List <Activity> activities)
        {
            if (!String.IsNullOrEmpty(record.Title))
            {
                string title = record.Title.ToLower();
                if (title.Equals("profile was viewed") || title.Equals("gadget was viewed"))
                {
                    return(true);
                }
            }


            for (int i = activities.Count - 1; i >= 0; i--)
            {
                DateTime date     = (DateTime)record.CreatedDate;
                DateTime prevDate = activities[i].CreatedDT;
                if (date.Day != prevDate.Day || date.Month != prevDate.Month || date.Year != prevDate.Year)
                {
                    return(false);
                }
                if (record.ParentId == activities[i].Parent.Id && record.Body == activities[i].Message)
                {
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 2
0
        //return activities from SF
        protected List <Activity> QueryActivitiesFromSF(Activity lastActivity, int count)
        {
            List <Activity> activities = new List <Activity>();

            Salesforce.QueryResult qr = (lastActivity == null ? _service.query(string.Format(Queries.SOQL_GET_PROFILE_ACTIVITIES, count)) :
                                         _service.query(string.Format(Queries.SOQL_GET_PROFILE_ACTIVITIES_AFTER, lastActivity.CreatedDT.ToUniversalTime().ToString("s"), count)));

            bool done = false;

            while (!done)
            {
                for (int i = 0; qr.records != null && i < qr.records.Length && activities.Count < count; i++)
                {
                    Salesforce.Research_Profile__Feed record = (Salesforce.Research_Profile__Feed)qr.records[i];

                    if (Filter(record, activities))
                    {
                        continue;
                    }

                    int personId = GetPersonId(record.Parent.User__r.UCSF_ID__c);

                    Activity act = new Activity
                    {
                        Id          = record.Id,
                        Message     = record.Body,
                        LinkUrl     = record.LinkUrl,
                        Title       = record.Title,
                        CreatedDT   = (DateTime)record.CreatedDate,
                        CreatedById = record.CreatedById,
                        Type        = ActivityType.TextPost,
                        Parent      = new User
                        {
                            Id        = record.ParentId,
                            Name      = record.Parent.User__r.Name,
                            FirstName = record.Parent.User__r.FirstName,
                            LastName  = record.Parent.User__r.LastName,
                            PersonId  = personId
                        }
                    };

                    activities.Add(act);
                }
                if (qr.done || activities.Count >= count)
                {
                    done = true;
                }
                else
                {
                    qr = _service.queryMore(qr.queryLocator);
                }
            }
            return(activities);
        }