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