Ejemplo n.º 1
0
        public List <Activity> GetProfileActivities(string userId, int count)
        {
            var feeds = new List <Activity>();

            Salesforce.QueryResult qr = _service.query(string.Format(Queries.SOQL_GET_PROFILE_ACTIVITIES_BY_USER, userId, count > 10000 ? 10000 : count));
            if (qr.size <= 0)
            {
                return(feeds);
            }

            feeds.AddRange(from Salesforce.Research_Profile__Feed record in qr.records
                           where (record.Title != "profile was viewed" && record.Title != "gadget was viewed")
                           select new Activity
            {
                Id          = record.Id,
                Message     = record.Body,
                LinkUrl     = record.LinkUrl,
                Title       = record.Title,
                CreatedDT   = (DateTime)record.CreatedDate,
                CreatedById = record.CreatedById,
                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  = GetPersonId(record.Parent.User__r.UCSF_ID__c)
                }
            });

            return(feeds);
        }
Ejemplo n.º 2
0
        public List <Activity> GetUserActivities(string userId, int personId, int count)
        {
            Salesforce.QueryResult qr = _service.query(string.Format(Queries.SOQL_GET_USER_ACTIVITIES, userId, count));
            var feeds = new List <Activity>();

            if (qr.size <= 0)
            {
                return(feeds);
            }

            feeds.AddRange(from Salesforce.UserProfileFeed record in qr.records
                           select new Activity
            {
                Id          = record.Id,
                Message     = record.Body,
                LinkUrl     = record.LinkUrl,
                Title       = record.Title,
                CreatedDT   = (DateTime)record.CreatedDate,
                CreatedById = record.CreatedById,
                Parent      = new User
                {
                    Id        = record.ParentId,
                    Name      = record.Parent.Name1,
                    FirstName = record.Parent.FirstName,
                    LastName  = record.Parent.LastName,
                    PersonId  = personId
                }
            });

            return(feeds);
        }
Ejemplo n.º 3
0
        protected T GetObject <T>(string query, params string[] pk) where T : Salesforce.sObject
        {
            Salesforce.QueryResult qr = _service.query(string.Format(query, pk));
            if (qr.records == null)
            {
                throw new Exception(string.Format("Object not found, {0}, keys:{1}", typeof(T).FullName, pk.Select(it => it.ToString()).Aggregate((s1, s2) => s1 + "," + s2)));
            }
            var profile = qr.records.FirstOrDefault();

            return((T)profile);
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
0
        public void CreateResearchProfile(string employeeId)
        {
            if (string.IsNullOrEmpty(employeeId))
            {
                throw new Exception("Employee Id is required");
            }

            Salesforce.QueryResult qr = _service.query(string.Format(Queries.SOQL_GET_RESEACH_PROFILE, employeeId));
            if (qr.records == null)
            {
                CreateResearchProfileInternal(employeeId);
            }
        }
Ejemplo n.º 6
0
        protected Salesforce.Research_Profile__c GetOrCreateResearchProfile(string employeeId)
        {
            if (string.IsNullOrEmpty(employeeId))
            {
                throw new Exception("Employee Id is required");
            }

            Salesforce.QueryResult qr = _service.query(string.Format(Queries.SOQL_GET_RESEACH_PROFILE, employeeId));
            if (qr.records == null)
            {
                CreateResearchProfileInternal(employeeId);
                return(GetResearchProfile(employeeId));
            }

            return((Salesforce.Research_Profile__c)qr.records.FirstOrDefault());
        }